The embodiments of the invention relate generally to a method for positioning a cursor on a display screen, and more particularly, to a method for positioning a cursor where a user is looking Although embodiments of the invention are suitable for a wide scope of applications, it is particularly suitable positioning of a mouse cursor on display screen of a personal computer.
Current methods for determining the location of a cursor on a display screen include manual actions by a user of a computer terminal, such as moving a mouse to position the cursor where the user is looking, for example, at a top corner of the display screen. Other methods for determining the location of cursor on a display screen include shaking or jiggling the mouse to cause rapid movements of the cursor on the display screen so that a user of the computer terminal might notice the rapid movements of the cursor and be able to identify its location. Current methods for positioning a cursor on a display screen include using a mouse or other similar pointing device.
The current methods for determining the location of a cursor on a display screen are limited in that the current methods depend on a user to notice the movement of the cursor. At the same time, the cursor is typically small in comparison to the display screen. Depending on what is currently displayed on the display screen the color of the cursor may be the same color as items shown on the display screen effectively camouflaging the cursor. The combination of a small cursor and effective camouflage can make it very difficult for a user to locate the cursor on a display screen thus frustrating and delaying a user's interaction with a computer terminal. Current methods for positioning a cursor on a display screen are limited in that a user must precisely manipulate the input device, such as a mouse, to position the cursor at the desired location. Precise manipulation of the input device, achievable with current technology, can require time-consuming delicate movements and a high degree of manual dexterity.
Accordingly, embodiments of the invention are directed to a method for positioning a cursor on a display screen that substantially obviates one or more of the problems due to limitations and disadvantages of the related art.
An object of embodiments of the invention is to provide aid a user in locating a cursor on a display screen;
Another object of embodiments of the invention is to provide visual indicators of the cursor position;
Yet another object of embodiments of the invention is to provide automatic positioning of the cursor; and
Still another object of embodiments of the invention is to determine when a user is in need of assistance in locating a cursor on a display screen.
Another object of embodiments of the invention is assist a user in positioning a mouse cursor to a desired location.
Additional features and advantages of embodiments of the invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of embodiments of the invention. The objectives and other advantages of the embodiments of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
To achieve these and other advantages and in accordance with the purpose of embodiments of the invention, as embodied and broadly described, a method for determining the position of a cursor on a display screen includes entering a pattern on an input device connected to the computer and displaying an indicator on the display screen identifying the position of the cursor.
In another aspect, a method for setting the position of a cursor on a display screen includes entering a pattern on an input device connected to a computer, determining an eye-gaze location on the display screen, positioning the cursor at the eye-gaze location.
In yet another aspect, a method for setting the position of a cursor on a display screen includes entering a pattern on an input device connected to a computer and positioning the cursor at the predetermined location. The method can further include setting the predetermined location or displaying an indicator on the display screen near the position of the cursor.
In still another aspect, a method for setting the position of a cursor on a display screen includes determining an eye-gaze location on the display screen, receiving a move-intent input, displaying a ghost cursor at the eye-gaze location, receiving a confirmation-intent input, and repositioning the cursor to the eye-gaze location.
In another aspect, a method for setting the position of a cursor on a display screen includes determining an eye-gaze location on the display screen, receiving a move-intent input, displaying a ghost cursor at the eye-gaze location, updating a position of the ghost cursor in accordance with a fine-tuning input, receiving a confirmation-intent input, repositioning the cursor to the eye-gaze location, and hiding the ghost cursor.
In yet another aspect, a method for setting the position of a cursor on a display screen includes determining an eye-gaze location on the display screen, determining a move-intent from a button press state on the mouse, displaying a ghost cursor at the eye-gaze location, updating a position of the ghost cursor in accordance with a fine-tuning input, determining a confirmation-intent from the button press state on the mouse, repositioning the cursor to the position of the ghost cursor, and hiding the ghost cursor.
In another aspect, a method for positioning a cursor on a display screen includes dividing the display screen into a logical grid having plurality of sections, maintaining a value for each of the plurality of sections, determining an eye-gaze location on the display screen, and incrementing a first value of a first section of the plurality of sections corresponding to the eye-gaze location.
In yet another aspect, a method for positioning a cursor on a display screen includes determining an eye-gaze location on the display screen, increasing a value of a gravity well associated with the eye-gaze location, receiving a cursor position from an input device, calculating a net force of gravity due to the gravity well, and updating the cursor position consistent with the net force of gravity.
In still another aspect, a method for positioning a cursor on a display screen includes determining an eye-gaze location on the display screen, determining an eye-gaze duration at the eye-gaze location, increasing a value of a gravity well associated with the eye-gaze location when the eye-gaze duration exceeds a first predetermined threshold duration, receiving a cursor position from an input device, calculating a net force of gravity due to the gravity well, updating the cursor position consistent with the net force of gravity, and decreasing the value of the gravity well after a second predetermined threshold duration.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of embodiments of the invention as claimed.
The accompanying drawings, which are included to provide a further understanding of embodiments of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of embodiments of the invention.
Reference will now be made in detail to the preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. The invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art. In the drawings, the thicknesses of layers and regions are exaggerated for clarity. Like reference numerals in the drawings denote like elements.
The display screen 110 and the input device 120 can be connected to a computer terminal such as a personal computer or laptop computer (not shown). The computer terminal can include operating system software such as Microsoft Windows or Apple OSX. The operating system software can cause a cursor 110 to be shown on the display screen 100. The position of the cursor 110 can be controlled by an input device 120 such a mouse.
A well-known problem in the field of displaying a cursor on display screen and as further described in the Background of the Invention is that the cursor can become “lost” on the display screen. A user can become frustrated and waste time trying to locate the cursor. Thus, embodiments of the invention include entering a pattern 130 and 140 on the input device 120. In response, the computer terminal can display an indicator on the display screen 100 to aid the user in determining the location of the cursor 110.
The input pattern of
The location indicator 250 can be a short animation of a ripple-effect at the location of the cursor 210. In more detail, the location indicator can be an animation of ripples emanating from the location of the cursor 210 in much the same way that ripples propagate from the impact point when a stone is dropped in water. The diverging nature of the ripple-effect location indicator 250 presents an easily noticeable feature on the display screen 200 that a user can easily trace back to the origin and find the location of the cursor 210. The location indicator 250 can also be a series of concentric rings. Preferred embodiments of the invention include animated location indicators (i.e. location indicators that have movement) because movement is easily perceived by a user of the computer terminal. Although the location indicator 250 of
The location indicator 250 can be shown after a pattern (not shown) is entered on the input device 220. The input device can be, for example, a mouse, a track pad, a track ball, a keyboard, a joy stick, or other computer input device.
In preferred embodiments of the invention, the parameters can be set to minimize false positives where the location indicator is displayed in response to normal usage when a user did not want it to be displayed. For example, the pattern can be left-right-left-right, a time parameter can be less than 750 milliseconds, a distance parameter can be 125 pixels, an acceleration parameter can be 25 cm/s2, and a deceleration parameter can be −25 cm/s2. In practical terms, the pattern would be characterized by four cycles of rapid acceleration and deceleration of the input device consistent with a vigorous shaking of the input device. This vigorous shaking can be uncommon user behavior and can be consistent with user frustration such as when a user cannot find the cursor. In response to the user frustration as characterized by the input pattern, the invention can display a location indicator thus addressing the source of user frustration as soon as it arises.
It is known in the art that eye-gaze determination is only an approximate measure of location and that eye-gaze determination has some degree of imprecision. Thus embodiments of the invention further include fine tuning the eye-gaze location with post-pattern adjustments. In practice, the method of the invention includes the concept of a real cursor 510 and a ghost cursor at the eye-gaze location 550. The ghost cursor can be displayed in a different color or style to differentiate between the real cursor and the ghost cursor. When the pattern is entered, the ghost cursor can be displayed at the eye-gaze location 550. The location of the ghost cursor can then be fine-tuned using the input device. When the fine tuning is finished, the real cursor 510 can be positioned at the fine-tuned location of the ghost cursor.
Completion of the fine tuning step of the ghost cursor can be indicated by a variety of criteria. For example, fine tuning can be completed after a certain amount of time has elapsed such as 1 second. Fine tuning can be completed after the input of a second pattern on the input device such as a button press. In preferred embodiments of the invention, the input pattern can be the press of a dedicated button on a mouse. Upon depressing the button, the ghost cursor can be positioned at the eye-gaze location. While holding the dedicated button, the position of the ghost cursor can be fine-tuned using the input device. Upon releasing the dedicated button, the real cursor can be repositioned at the location of the fine-tuned ghost cursor. The ghost cursor can thereafter be removed from the display screen.
The embodiment of the invention described in
The new cursor position 650 can be any location on the display screen 600, but the new cursor position is commonly set as a standing preference by a user of the computer terminal. For example, the new cursor position 650 can be preset to be the center of the display screen 600. In practice, when a user desires to locate the cursor 610, the user can enter the pattern 630, 640 and the cursor 610 will be repositioned at the predetermined new cursor location 650 at the center of the screen. In this way, a user of a computer terminal does not need to search for the cursor 610. Instead, the cursor is repositioned by the invention to be at a predetermined location such as the middle of the display screen 600 or other predetermined location set according to user preference.
The methods and processes of the inventions will now be described in more detail with reference to the process flow charts of
In more detail, in step 910, the eye-gaze location of a user of a computer terminal can be determined according to methods know in the art. The determining of the eye-gaze location of a user of a computer terminal can be a continual process and does not need to manifest as a single step or necessarily be performed in the sequence described herein. In step 920, the invention can receive a move-intent input. The move-intent input can be calculated or determined based on user actions. For example, an input device such as a mouse can have a button for expressing intent. Upon pressing the button intent can be expressed, and upon releasing the button intent can be confirmed. After determining the eye-gaze location 910 and receiving the move-intent input 920, the invention can position a ghost cursor at the eye gaze location 930.
This invention introduces the concept of a ghost cursor. The “real” cursor is the cursor that corresponds with the input device, such as a traditional mouse. The ghost cursor is a cursor that corresponds with the eye-gaze location. In step 940, a user can optionally fine-tune the position of the ghost cursor with the input device such as the mouse. Fine-tuning can be required because eye-gaze technology at the consumer level is an approximate science. It is contemplated that improvements in eye-gaze technology will obviate the need for this fine-tuning step 940. In step 950, the invention receives a confirmation-intent input. The confirmation-intent input can signify that the user has completed the fine-tuning of the ghost cursor or is otherwise satisfied with the ghost cursor position. In the example of an intent button on a mouse, confirmation-intent can be signified by releasing the intent button. In step 950, after receiving the confirmation-intent input, the invention can reposition the cursor at the location of the ghost cursor. In this way, the user has indicated to the invention that the user desires to move the cursor to the eye-gaze location, fine-tuned the location, and then confirmed the location before the cursor is moved.
The display screen 1100 can be attached to a computer (not shown). The display screen 1100 can display, for example, the desktop computing environment (not shown) of a computer operating system, such as Microsoft's Windows. The mouse cursor 1110 can be a graphical display indicator on the display screen 1110. The mouse cursor 1110 can be used to select or interact with elements of the computer operating system such as icons, windows, and buttons. The mouse 1120 can control the mouse cursor 1110 such that movements of the mouse 1120 are replicated in substantial part by corresponding movements in the mouse cursor 1110.
The gravity wells 1130a-1130d can represent areas on the display screen 1100 that a user has gazed upon. Gravity wells, generally, can represent something that a user of the computer is looking at and thus, something that the user would be likely to select with the cursor. Eye gaze location can be determined by methods that are well known in the art. When using the mouse 1120 to move the cursor 1110, the cursor can “snap” into gravity wells. For example, in most instances, the motion of the cursor 1110 can directly correspond to movements of the mouse 1120. However, as the cursor 1110 approaches a gravity well, the gravity well can “pull” the cursor into the gravity well.
The above described gravity well behavior is desirable because a user of a computer terminal that desires to interact with an object on the display screen will commonly first look at the desired area, then attempt to move the mouse cursor to that area. Because the user's first action is to look at the desired location, the gravity well can assist the user in quickly and precisely positioning the cursor at the desired location.
Gravity wells can be temporal in nature. For example, a user will commonly look at a location on the display screen before attempting to move the mouse cursor to that location. The user, however, is unlikely to desire to move the mouse cursor to a location they looked at very far in the past. In the example, of a web browser, a user may look at a scroll bar and then move the cursor to the scroll bar to scroll the open window. Next, the user may look at the “X” button to close the browser, and then move the mouse to close the browser window. In this example, because the user most recently looked at the “X” rather than the scroll bar, the “X” could have stronger a strong gravity well than the scroll bar. After some time, the gravity well on the scroll bar could fade completely. Accordingly in embodiments of the invention, the strength of a gravity well can fade or decay with over time. In preferred embodiments of the invention, the decay time can be five to thirty seconds. The decay time can be set by a user in accordance with a user's preferences.
As the mouse cursor 1110 approaches a gravity well 1130a-1130d, the normal movement of the mouse can be disrupted by the gravity well, thus pulling the cursor towards the center of the gravity well. The effect of the gravity well can be to gently pull the cursor, but not so strong as to over power the will of a user in the event of a false positive. In the example, of
The gravity wells 1130a-1130d can be invisible to a user of the computer terminal although the effect of their respective gravity can be apparent when the mouse cursor approaches a gravity well.
At intervals, the program can decrement the weighting of all squares of the grid. Decrementing can indicate the passage of time. Thus, old gravity wells fade as time passes and a user is less likely to desire to select something viewed long ago. In preferred embodiments of the invention, decrementing can occur in intervals that are multiples of the eye-gaze duration. For example, if the eye-gaze duration is 100 milliseconds, the decrementing interval can be a multiple thereof, for example, five times or 500 milliseconds. The decrementing interval can be ten times the eye-gaze duration. The decrementing interval can be at least two times the eye-gaze duration.
Programmatically, gravity can be effected on a computer by intercepting input signals from an input device and changing the input signals based on the gravity. For example, assume an initial point A and a desired point B. A and B are oriented horizontally on the X axis of a coordinate plane. A gravity well is disposed at some C between A and B, such as the gravity well illustrated in
The force of gravity between the mouse cursor and any particular square can be determined by F=C*M1*M2/D2, where F is the force between the mouse cursor and a given square, C is a constant that can be set according to user preference for the strength of gravity, M1 is the “mass” of the cursor, and M2 is the “mass” of the given square, and D is the distance between them. We say “mass” because the cursor and the given square have no mass in the traditional sense—only a mass assigned to them. The mouse cursor can be assigned a nominal “mass.” The nominal mass of the cursor can be, for example, 5% of the maximum mass of any given square. In the example of
At any cursor location, the net force of gravity can be determined by 1.) calculating force vectors between every square and the cursor and then 2.) summing the vectors to get a net gravitational force vector. The net gravitational force vector can be added to the intercepted input signals from the input device (e.g. a mouse). In such an instance, the intercepted input signals can indicate a velocity, for example in pixels/second. Using the same “mass” of the cursor as with the gravity calculations, a force vector for the intended movement of the mouse cursor can be calculated using the equations F=M*V, where M is the “mass” of the cursor and V is the velocity. The cursor force vector and the gravitational force vector can be added together to determine the net effect of gravity on the movement of the mouse cursor. It should be appreciated by those having skill in the art that a vector includes both a magnitude and a direction. Direction can be expressed in degrees or radians from the origin or in simple X and Y coordinates.
In preferred embodiments of the invention, the gravitation effect of gravity wells does not act on the mouse cursor unless the mouse cursor is moving. This prevents the undesirable effect of the mouse cursor accelerating towards a gravity well when a user is not attempting to move the mouse cursor.
In another embodiment the effect of a gravity well on the movement of the mouse cursor can be greatly simplified. Instead of calculating a gravitational effect of a gravity well on the cursor movement, movement speed or mouse sensitivity can be increased when the cursor is moved in the direction of a gravity well. In more detail, if the mouse cursor moves at a default speed ratio of 1 in response to movements on the input device, the movement speed (e.g. movement sensitivity) can be multiplied by a scaling factor when the mouse cursor is moved substantially in the direction of a gravity well. For example, the default speed or sensitivity of the mouse cursor can be increased by a scaling factor of 1.5× when the cursor is moving in the direction of a gravity well and maintain a constant speed or sensitivity when the cursor is not moved in the direction of a gravity well. Any scaling factor can be used to increase the cursor speed or sensitivity in accordance with user preference. The scaling factor can be variable based on the strength of the gravity well. For example, a strong gravity well can increase movement speed of the mouse cursor by a 2× scaling factor while a weak gravity well can increase movement speed of the mouse cursor by a 1.2× scaling factor. The practical result is that a user can reposition the mouse cursor to the location of a gravity well faster than other areas on the display screen thus assisting the user to reposition the mouse cursor to a desired location as quickly as possible.
It will be apparent to those skilled in the art that various modifications and variations can be made in the method for positioning a cursor on a display screen without departing from the spirit or scope of the invention. Thus, it is intended that embodiments of the invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.
This application is a continuation-in-part of pending U.S. application Ser. 14/693,688 filed on Apr. 22, 2015 which is a continuation of pending U.S. application Ser. No. 14/693,611 filed on Apr. 22, 2015. All of the aforementioned applications are hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 14693611 | Apr 2015 | US |
Child | 14693688 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14693688 | Apr 2015 | US |
Child | 14864198 | US |