US20060168548A1 - Gui pointer automatic position vectoring - Google Patents

Gui pointer automatic position vectoring Download PDF

Info

Publication number
US20060168548A1
US20060168548A1 US10/905,853 US90585305A US2006168548A1 US 20060168548 A1 US20060168548 A1 US 20060168548A1 US 90585305 A US90585305 A US 90585305A US 2006168548 A1 US2006168548 A1 US 2006168548A1
Authority
US
United States
Prior art keywords
vector
target item
item
items
pointer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US10/905,853
Other versions
US8566751B2 (en
Inventor
Edward Kelley
Franco Motika
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyndryl Inc
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US10/905,853 priority Critical patent/US8566751B2/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KELLEY, EDWARD E., MOTIKA, FRANCO
Publication of US20060168548A1 publication Critical patent/US20060168548A1/en
Priority to US13/945,232 priority patent/US9182881B2/en
Application granted granted Critical
Publication of US8566751B2 publication Critical patent/US8566751B2/en
Assigned to KYNDRYL, INC. reassignment KYNDRYL, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTERNATIONAL BUSINESS MACHINES CORPORATION
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Definitions

  • the present invention relates generally to graphical user interfaces and more particularly to a method and system for vectoring a pointer to a target item on a graphical user interface display.
  • GUI Graphical User Interface
  • Microsoft Windows® and Apple Macintosh® include the following basic features: a display screen, a pointer, selectable items and a pointing device.
  • the pointer (also sometimes referred to as a cursor) is a small symbol that usually appears on the display screen as an angled arrow.
  • the pointer is moveable via a pointing device to selectable items such as links, hyperlinks, universal resource locators, icons, command buttons, menu items, task bar items, scroll bar item and the like.
  • a pointing device is a mouse, track ball, pad, track point device, joy stick, stylus, light pen, or other device that allows a user to input pointer movement and to select an item on the display.
  • the present invention comprises a method and computer system for controlling movement of a pointer on a graphical user interface display by automatically vectoring the pointer to a target item.
  • One embodiment of the method receives a keyboard-based pointer movement input having a direction of travel on a display towards a target item, such as a link, hyperlink, universal resource locator, icon, command button, menu item, task bar item, tool bar item, scroll bar item, etc.
  • a target item such as a link, hyperlink, universal resource locator, icon, command button, menu item, task bar item, tool bar item, scroll bar item, etc.
  • the invention vectors the pointer on the display to a located target item.
  • the location of the target item from amongst possible target items on the display can be extrapolated based upon programmed limitations (e.g., user definable selectable items and/or sections on the display, a vector angle range, the relative closeness of each possible target item to either the direction of travel vector, the initial anchor position or both, etc.).
  • programmed limitations e.g., user definable selectable items and/or sections on the display, a vector angle range, the relative closeness of each possible target item to either the direction of travel vector, the initial anchor position or both, etc.
  • the control program upon receiving a direction of travel input, the control program locates the target item and jumps the pointer directly to that target item on the display.
  • the keyboard-based pointer movement of this embodiment can include simultaneous operation of multiple keys on a keyboard such as the “Shift” key and one or more of the arrow keys on a keyboard.
  • Another embodiment of the method establishes vector sensitivity to limit pointer movement.
  • the user establishes vector sensitivity by defining a vector angle range.
  • the pointer movement input is received again via a keyboard-based input device or via another input device (e.g., a mouse, track ball, pad, track point device, stylus, joy stick, light pen, etc.) and a direction of travel vector is determined.
  • the vector angle range is an angle that is bisected by the direction of travel vector.
  • the intended target item may only be identified from amongst possible target items found within the area of the vector angle range and the pointer may thus only be vectored (i.e., jumped) to a target item within this area.
  • Decreased sensitivity is established by defining a greater vector angle range, because this creates a broader area within which a target item on the display may be located and vice versa.
  • the user may limit pointer movement by defining the items or the sections of the display to which the pointer may be automatically vectored.
  • the user may activate automatic selection of selectable items. Thus, once a pointer is vectored to a target item that item is automatically selected.
  • One embodiment of the computer system of the invention comprises a central processing unit with a graphical user interface and a display with selectable items (e.g., a link, hyperlink, universal resource locator, icon, command button, menu item, task bar item, tool bar item, scroll bar item, etc.) and a pointer.
  • selectable items e.g., a link, hyperlink, universal resource locator, icon, command button, menu item, task bar item, tool bar item, scroll bar item, etc.
  • a pointer movement input device e.g., a mouse, track ball, pad, track point device, stylus, joy stick, light pen, customized keyboard, etc.
  • the computer system further comprises a controller that determines a direction of travel vector towards a target item based upon pointing device input, extrapolates the location of the target item, and moves the pointer to that target item.
  • the process used to extrapolate the location of the target item from amongst possible target items can be based upon the direction of travel vector, vector sensitivity, additional user definable or default limits (e.g., user definable selectable items and/or sections of the display), and the relative closeness of each possible target item to either the direction of travel vector, the initial anchor position or both, etc.
  • a user may elect that the controller automatically selects a selectable target item upon moving the pointer to that target item.
  • FIG. 1 is a schematic perspective view illustration of one embodiment of a computer system of the present invention
  • FIG. 2 is a schematic diagram illustrating an exemplary display
  • FIG. 3 is a schematic diagram illustrating another exemplary display
  • FIG. 4 is a schematic diagram illustrating another exemplary display
  • FIG. 5 is a flow diagram illustrating several embodiments of the present invention.
  • FIG. 6 is a flow diagram further illustrating a method process of FIG. 5 ;
  • FIG. 7 is a flow diagram further illustrating a method process of FIG. 6 ;
  • FIG. 8 is a schematic diagram illustrating an embodiment of the invention.
  • the present invention comprises a method and computer system for accurately controlling movement of a pointer on a graphical user interface display.
  • the invention as described herein applies to all GUI based operating systems (e.g. Linux®, MS Windows®, Unix®, Apple Macintosh® etc.).
  • FIG. 1 is a schematic perspective view illustration of an exemplary embodiment of a computer system 10 according to the present invention.
  • the computer system 10 includes a central processing unit 14 , a video monitor 13 , an optional keyboard 11 and a pointing device 12 .
  • the system 10 further comprises a graphical user interface with a display 15 having selectable items (e.g., a link, hyperlink, universal resource locator, icon, command button, menu item, task bar item, tool bar, scroll bar item, etc.) and a pointer (also referred to as a cursor).
  • the system 10 further comprises a software application having an automatic pointer position vectoring control program.
  • the display 15 is illustrated in FIG. 2 and described in greater detail below.
  • FIG. 1 comprises a personal computer; however, the invention may incorporate, but is not limited to, personal computers, laptops, workstations, or hand held computers including palm pilots, personal digital assistants, cellular telephones, smart telephones, etc.
  • An exemplary pointing device 12 illustrated in FIG. 1 is a mouse; however, the pointing device may be, but is not limited to, other pointing devices (also referred to as pointer movement input devices) such as, track balls, touch pads, track point devices, styluses, joy sticks, light pens, customized keyboards 11 , etc.
  • the pointing device 12 operates in conjunction with the display 15 and is used for selecting pointer movement and in particular direction of travel.
  • FIGS. 2-4 illustrate exemplary displays 15 .
  • displayed on the display screen 15 are multiple items 21 , 23 , 24 and 25 .
  • Items 23 , 24 and 25 are possible target items.
  • a pointer 27 as illustrated is positioned on an exemplary anchor or start position. Specifically, the pointer 27 is anchored on a selectable item 21 .
  • Vector 22 references the direction of travel vector of pointer 27 determined by the control program based upon pointing device 12 input towards a target item 25 away from the initial anchor position 21 .
  • the angle range 26 references a vector angle range bisected by the direction of travel vector 22 which effectively limits the area within which a target item may be located from amongst possible target items and within which the pointer 27 may be vectored by the automatic pointer position vectoring of the present invention.
  • displayed on the display screen 15 are multiple items 31 , 33 , 34 and 35 and 41 , 43 , 44 , and 45 , respectively.
  • Pointers 37 and 47 are set on anchor positions 31 and 41 .
  • Angles 36 and 46 reference the vector angle ranges bisected by said direction of travel vectors 32 and 42 , respectively.
  • the vector e.g., 22 , 32 and 42
  • vector angle range e.g., 26 , 36 and 46
  • the user may select a feature that provides for the vector and/or vector angle range to be displayed once the direction of travel is determined and until the target item is selected.
  • the computer system 10 of FIG. 1 includes a software application (control program or control means) for controlling the GUI pointer automatic positioning vectoring of the present invention.
  • the control program is adapted to extrapolate the location of the target item and to move the pointer to the target item. More particularly, the process used to extrapolate the location or the identity of the target item from amongst possible target items can be based upon the direction of travel vector, the vector angle range, additional user definable limits (e.g., user definable selectable items and/or sections of the display), and the probability that the item is the intended target item based upon the relative closeness of each possible target item to either the direction of travel vector, the initial anchor position or both, etc.
  • additional user definable limits e.g., user definable selectable items and/or sections of the display
  • control program may be adapted to identify the intended target item as that item which is closest to the initial anchor position on the direction of travel vector. If no possible items are found on the direction of travel vector than the intended target item is identified as that item closest to both the initial anchor position and the direction of travel vector. For example, referring to FIG.
  • the location of the target item may be extrapolated as item 25 because it is within the vector angle range 26 , it is the closest item to the initial anchor position 21 and it is the closest item to the direction of travel vector 22 .
  • the location of the target item may be extrapolated as item 35 because while item 34 is closer to the anchor position 31 , item 35 is located directly upon the direction of travel vector 32 .
  • the location of the target item may be extrapolated as item 45 because the sum of the distance from the initial anchor position to the item ( 41 ⁇ 45 ; 41 ⁇ 44 ) plus the distance from the item to the direction of travel vector ( 45 ⁇ 42 ; 44 ⁇ 42 ) is lesser for item 45 than it is for item 44 .
  • the control program moves the pointer directly to that intended target item by skipping space on the display. In other words, the pointer jumps to the located intended target item without requiring further manipulation of the pointer device 12 and without traveling across the display 15 .
  • FIG. 5 is a flow diagram illustrating the general processes that may be utilized to carry out the various embodiments of the method of the present invention in conjunction with the computer system of FIG. 1 .
  • the user is presented with a display 15 and may select (e.g., from a menu item, tool bar, etc.) whether or not to activate automatic pointer position vectoring 101 (i.e., automatic pointer movement). If the user does not want to activate automatic pointer position vectoring, the user will exit the program at process 102 .
  • automatic pointer position vectoring 101 i.e., automatic pointer movement
  • a user may exit 102 the automatic pointer position vectoring program by any number of methods.
  • Exemplary exit methods include, but are not limited to, the following: clicking on a “Close” button (i.e., the square with an x in it at the top right of the program window); clicking a menu icon and selecting the “Close” option on the menu that scrolls down; using a the key sequence (e.g., Alt F4); clicking a “File” menu and then selecting the “Exit” option; right clicking the program's task bar button and selecting “Close” from a “Context” menu that opens; and, pressing the “Ctrl”, “Alt”, and “Del” keys simultaneously, opening up a menu of running programs, clicking on the program you want to close, and then clicking on the “End Task” button.
  • a “Close” button i.e., the square with an x in it at the top right of the program window
  • the user may also optionally define automatic pointer movement display features. If the user wants to define display features 114 , the user may select from a drop down menu or other menu a feature that provides for defining display features 115 . For example, the user may select that a vector and/or a vector angle range be visible on the display once the direction of travel is determined and until the target item is selected.
  • the control program Upon activation of automatic pointer position vectoring 103 , the control program will control pointer movement within the display according to default or user defined movement parameters (see method steps 104 - 105 , 106 - 107 , 108 - 109 , 112 - 113 and 200 - 201 ) and user inputs 202 .
  • a user inputs pointer movement 202 (e.g., input by moving a pointing device Ref. No. 120 , FIG. 1 ) having a general direction of travel on a display towards a target item (i.e., Ref. No. 25 , FIG. 2 ) away from the initial anchor position (i.e., Ref. No. 21 , FIG. 2 ).
  • the control program determines a direction of travel vector (i.e., Ref. No. 22 , FIG. 2 ).
  • the location of the intended target item from amongst possible intended target items can then be extrapolated and the pointer can be moved to the located intended target item.
  • the process of automatically moving the pointer may be based in part upon default or user defined parameters (see processes 104 - 105 , 106 - 107 , 108 - 109 , 112 - 113 and 200 - 201 ).
  • the user has the option of inputting multiple user defined parameters to be used by the control program in identifying the intended target item, moving the pointer to the intended target item and selecting the target item.
  • the user may indicate that automatic selection of a target item (e.g., link, hyperlink, universal resource locator, icon, command button, menu item, task bar item, scroll bar item, etc.; Ref. 250 , FIG. 2 ) is desired once the pointer is moved to that item in order to retrieve the corresponding document, file webpage, web graphics, etc., or to initiate the command.
  • a target item e.g., link, hyperlink, universal resource locator, icon, command button, menu item, task bar item, scroll bar item, etc.; Ref. 250 , FIG. 2
  • automatic selection of the target item is desired 110 automatic item selection and retrieval will be activated 111 .
  • no further manual operation e.g., clicking of a button on the pointing device 12
  • the default setting may require manual selection of the acquired target item.
  • the user may also optionally define an initial anchor point or starting position for the pointer on the display 15 (see processes 104 - 105 and 106 - 107 ).
  • the user has the option of defining a particular selectable item (e.g., Uniform Resource Locator (URL), a link, hyperlink, icon, etc.) as the anchor or start point ( 104 - 105 ).
  • the user may alternatively define a particular location on the display 15 (e.g., lower right hand corner, center screen, etc.) as the initial anchor or start point ( 106 - 107 ).
  • the control program may define the current pointer position as the default position.
  • the user may also optionally reset the default position.
  • This initial anchor point or start position serves as the starting point from which the control program determines the direction of travel vector towards a target item based upon pointing device input.
  • the user may optionally define vector sensitivity (see processes 108 - 109 ). If the user wants to define sensitivity 108 , defining sensitivity 109 may be accomplished by defining the vector angle range (see Ref. 26 , FIG. 2 ). The control program uses this vector angle range 26 to limit the area within which it may to identify a target item from amongst possible target items and move the pointer to that located target item.
  • the direction of travel vector (see Ref. 22 , FIG. 2 ) beginning at the anchor point (see Ref. 21 , FIG. 2 ) and pointing in the direction of the input pointer movement towards a target item bisects the vector angle range 26 .
  • Decreased sensitivity is established by defining a greater vector angle because this creates a broader area within which a target item on the display may be located.
  • Increased sensitivity is established by defining a lesser vector angle because this creates a narrower area within which a target item on the display in may be located.
  • the control program may define the default vector sensitivity and may apply the default vector sensitivity if the user does not want to define vector sensitivity at process 108 . The user may optionally reset the default.
  • the user may also optionally activate a feature of selectable automatic vector sensitivity (see processes 112 - 113 ).
  • This feature automatically decreases the default or user defined vector angle range by a pre-selected dimension and is triggered if there are more than a pre-selected number of possible target items located within the vector angle range.
  • Activating this feature, selecting the dimension by which the vector angle range is decreased and selecting the number of target items located within the vector angle range that triggers this automatic feature can be accomplished by using a drop down or other menu.
  • the user may also define other limitations to automatic pointer movement controlled by the control program (see processes 200 - 201 ). If the user wants to limit automatic pointer movement 200 , the user may define the particular type of selectable items to which a pointer may be moved or define the sections of the display which are active for purposes of automatic pointer position vectoring 201 . As with the other user definable parameters, the control program may define default pointer movement limitations (e.g., no limitations, no automatic movement to toolbars, etc.) which are set if the user does not want to define cursor limits. The user may optionally reset the default settings or redefine the limitations depending upon the display.
  • default pointer movement limitations e.g., no limitations, no automatic movement to toolbars, etc.
  • FIG. 6 is a flow diagram further illustrating the process of automatically moving the pointer 202 .
  • the control program uses the vectoring parameters in conjunction with user input from a pointing device 12 having a general direction of travel on a display towards a target item (i.e., Ref. No. 25 , FIG. 2 ). Based upon user pointing device input 602 , the control program determines a direction of travel vector 604 away from the initial anchor position towards the intended target item, extrapolates the location of the intended target item 606 and automatically moves the pointer to that intended target item 608 .
  • FIG. 7 is a flow diagram further illustrating the process 606 of extrapolating the location of the intended target item.
  • the process used to extrapolate the location of the intended target item from amongst possible target items may be based upon a number of defined parameters.
  • possible intended target items may be limited to default or user defined selectable items 702 .
  • Possible intended target items may be limited to those items set within default or user defined sections of the display 704 .
  • Possible intended target items may further be limited to those items set within a default or user defined vector angle range 706 . This vector angle range may automatically be decreased if more than a selected number of possible intended target items are found in the original vector angle range 707 .
  • the target item may further be identified 710 using automatic vectoring parameters defined based upon probabilities. For example, the closer a possible target item is to the initial anchor position and to the direction of travel vector the more likely it is to be the target item.
  • One exception is that a possible target item located directly on the direction of travel vector, but further away from the initial anchor position than another possible target item not located on the direction of travel vector, is more likely to be the intended target item.
  • the control program automatically moves the pointer to that intended target item 608 by skipping space within the display without require additional manipulation of the pointing device.
  • the pointer After the pointer is moved to a target item, either the target item will be automatically selected due to activation of item selection and retrieval 111 or the user may optionally manually select the corresponding file, document, web page, etc. If the user wishes to continue using automatic pointer position vectoring 203 , the user simply moves the pointer again 202 . If the user does not wish to continue using automatic pointer position vectoring, the user exits the program 102 (see the exemplary exit methods discussed above).
  • one embodiment of the method of the present invention further defines the process of inputting pointer movement direction of travel towards a target item 202 .
  • this method defines the pointing device as a keyboard-based pointing device (e.g., the arrow keys on a keyboard).
  • pointer movement may be selected by simultaneously operating multiple keys on a keyboard, such as the “Shift” key 17 and one or more of the arrow keys 16 on a keyboard 11 .
  • input from arrow keys has a direction of travel on the display towards an intended target item from an initial anchor position. Once a direction of travel input is received, a direction of travel vector is determined. Based upon the direction of travel vector, the location of the intended target item is extrapolated and the pointer is automatically moved to that intended target item.
  • FIG. 8 A representative hardware environment for practicing the embodiments of the invention is depicted in FIG. 8 .
  • the system comprises at least one processor or central processing unit (CPU) 810 .
  • the CPUs 810 are interconnected via system bus 812 to various devices such as a random access memory (RAM) 814 , read-only memory (ROM) 816 , and an input/output (I/O) adapter 818 .
  • RAM random access memory
  • ROM read-only memory
  • I/O input/output
  • the I/O adapter 818 can connect to peripheral devices, such as disk units 811 and tape drives 813 , or other program storage devices that are readable by the system.
  • the system can read the inventive instructions on the program storage devices and follow these instructions to execute the methodology of the embodiments of the invention.
  • the system further includes a user interface adapter 819 that connects a keyboard 815 , mouse 817 , speaker 824 , microphone 822 , and/or other user interface devices such as a touch screen device (not shown) to the bus 812 to gather user input.
  • a communication adapter 820 connects the bus 812 to a data processing network 825
  • a display adapter 821 connects the bus 812 to a display device 823 which may be embodied as an output device such as a monitor, printer, or transmitter, for example.
  • the method and computer system of the present invention provides for rapid and accurate automatic moving of a graphical user interface pointer to an intended target item on a display by extrapolating the location of the intended target item based upon default and/or user defined parameters and pointing device inputs. Once the location of the item is extrapolated the pointer is automatically moved to the item. As illustrated, the method and system minimizes pointer drifting and reduces the time and effort required to move the pointer manually.

Abstract

A method and computer system for rapid and accurate automatic vectoring of a graphical user interface pointer to a selectable item on a display. Based upon pointer movement input from a pointing device (e.g., a mouse, touchpad or specially configured keyboard), a direction of travel vector from an initial anchor position towards a target item is determined. The location of the target item is extrapolated and the pointer is automatically moved to that target item. To ensure that the pointer moves to the intended target item, the location of the target item is extrapolated based upon the direction of travel vector and default and/or user defined parameters. Optional user defined parameters include initial pointer anchor position, vector sensitivity, automatic selection of target item, and user defined pointer limitations.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates generally to graphical user interfaces and more particularly to a method and system for vectoring a pointer to a target item on a graphical user interface display.
  • 2. Description of the Related Art
  • A Graphical User Interface (GUI) is a computer program designed to allow a computer user to interact easily with the computer. GUI systems such as Microsoft Windows® and Apple Macintosh® include the following basic features: a display screen, a pointer, selectable items and a pointing device. The pointer (also sometimes referred to as a cursor) is a small symbol that usually appears on the display screen as an angled arrow. The pointer is moveable via a pointing device to selectable items such as links, hyperlinks, universal resource locators, icons, command buttons, menu items, task bar items, scroll bar item and the like. A pointing device is a mouse, track ball, pad, track point device, joy stick, stylus, light pen, or other device that allows a user to input pointer movement and to select an item on the display.
  • The process of moving a GUI pointer to the desired selectable item by moving a pointing device may at times be tedious. Unintentional movements of the pointing input device often cause the pointer to drift away from the desired selectable time. Additionally, the required process is time-consuming. It is desirable to provide a method and computer system for rapid and accurate automatic vectoring of a graphical user interface pointer. Such a method and system should minimize pointer drifting and reduce the time and effort required to move the pointer manually.
  • SUMMARY OF THE INVENTION
  • The present invention comprises a method and computer system for controlling movement of a pointer on a graphical user interface display by automatically vectoring the pointer to a target item. One embodiment of the method receives a keyboard-based pointer movement input having a direction of travel on a display towards a target item, such as a link, hyperlink, universal resource locator, icon, command button, menu item, task bar item, tool bar item, scroll bar item, etc. Using a vectoring process, the invention vectors the pointer on the display to a located target item. The location of the target item from amongst possible target items on the display can be extrapolated based upon programmed limitations (e.g., user definable selectable items and/or sections on the display, a vector angle range, the relative closeness of each possible target item to either the direction of travel vector, the initial anchor position or both, etc.). In other words, upon receiving a direction of travel input, the control program locates the target item and jumps the pointer directly to that target item on the display. The keyboard-based pointer movement of this embodiment can include simultaneous operation of multiple keys on a keyboard such as the “Shift” key and one or more of the arrow keys on a keyboard.
  • Another embodiment of the method establishes vector sensitivity to limit pointer movement. The user establishes vector sensitivity by defining a vector angle range. The pointer movement input is received again via a keyboard-based input device or via another input device (e.g., a mouse, track ball, pad, track point device, stylus, joy stick, light pen, etc.) and a direction of travel vector is determined. The vector angle range is an angle that is bisected by the direction of travel vector. The intended target item may only be identified from amongst possible target items found within the area of the vector angle range and the pointer may thus only be vectored (i.e., jumped) to a target item within this area. Decreased sensitivity is established by defining a greater vector angle range, because this creates a broader area within which a target item on the display may be located and vice versa.
  • In another embodiment of the method the user may limit pointer movement by defining the items or the sections of the display to which the pointer may be automatically vectored. In another embodiment of the method the user may activate automatic selection of selectable items. Thus, once a pointer is vectored to a target item that item is automatically selected.
  • One embodiment of the computer system of the invention comprises a central processing unit with a graphical user interface and a display with selectable items (e.g., a link, hyperlink, universal resource locator, icon, command button, menu item, task bar item, tool bar item, scroll bar item, etc.) and a pointer. A pointer movement input device (e.g., a mouse, track ball, pad, track point device, stylus, joy stick, light pen, customized keyboard, etc.) operates in conjunction with the display and is used for inputting pointer movement. The computer system further comprises a controller that determines a direction of travel vector towards a target item based upon pointing device input, extrapolates the location of the target item, and moves the pointer to that target item. The process used to extrapolate the location of the target item from amongst possible target items can be based upon the direction of travel vector, vector sensitivity, additional user definable or default limits (e.g., user definable selectable items and/or sections of the display), and the relative closeness of each possible target item to either the direction of travel vector, the initial anchor position or both, etc. Lastly, a user may elect that the controller automatically selects a selectable target item upon moving the pointer to that target item.
  • These, and other, aspects and objects of the present invention will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following description, while indicating embodiments of the present invention and numerous specific details thereof, is given by way of illustration and not of limitation. Many changes and modifications may be made within the scope of the present invention without departing from the spirit thereof, and the invention includes all such modifications.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The invention will be better understood from the following detailed description with reference to the drawings, in which:
  • FIG. 1 is a schematic perspective view illustration of one embodiment of a computer system of the present invention;
  • FIG. 2 is a schematic diagram illustrating an exemplary display;
  • FIG. 3 is a schematic diagram illustrating another exemplary display;
  • FIG. 4 is a schematic diagram illustrating another exemplary display;
  • FIG. 5 is a flow diagram illustrating several embodiments of the present invention;
  • FIG. 6 is a flow diagram further illustrating a method process of FIG. 5;
  • FIG. 7 is a flow diagram further illustrating a method process of FIG. 6; and
  • FIG. 8 is a schematic diagram illustrating an embodiment of the invention.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION
  • The present invention and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. It should be noted that the features illustrated in the drawings are not necessarily drawn to scale. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the present invention. The examples used herein are intended merely to facilitate an understanding of ways in which the invention may be practiced and to further enable those of skill in the art to practice the invention. Accordingly, the examples should not be construed as limiting the scope of the invention.
  • The present invention comprises a method and computer system for accurately controlling movement of a pointer on a graphical user interface display. The invention as described herein applies to all GUI based operating systems (e.g. Linux®, MS Windows®, Unix®, Apple Macintosh® etc.).
  • FIG. 1 is a schematic perspective view illustration of an exemplary embodiment of a computer system 10 according to the present invention. The computer system 10 includes a central processing unit 14, a video monitor 13, an optional keyboard 11 and a pointing device 12. The system 10 further comprises a graphical user interface with a display 15 having selectable items (e.g., a link, hyperlink, universal resource locator, icon, command button, menu item, task bar item, tool bar, scroll bar item, etc.) and a pointer (also referred to as a cursor). The system 10 further comprises a software application having an automatic pointer position vectoring control program. The display 15 is illustrated in FIG. 2 and described in greater detail below. The exemplary computer system 10 illustrated in FIG. 1 comprises a personal computer; however, the invention may incorporate, but is not limited to, personal computers, laptops, workstations, or hand held computers including palm pilots, personal digital assistants, cellular telephones, smart telephones, etc. An exemplary pointing device 12 illustrated in FIG. 1 is a mouse; however, the pointing device may be, but is not limited to, other pointing devices (also referred to as pointer movement input devices) such as, track balls, touch pads, track point devices, styluses, joy sticks, light pens, customized keyboards 11, etc. The pointing device 12 operates in conjunction with the display 15 and is used for selecting pointer movement and in particular direction of travel.
  • FIGS. 2-4 illustrate exemplary displays 15. Referring to FIG. 2, displayed on the display screen 15 are multiple items 21, 23, 24 and 25. Items 23, 24 and 25 are possible target items. A pointer 27 as illustrated is positioned on an exemplary anchor or start position. Specifically, the pointer 27 is anchored on a selectable item 21. Vector 22 references the direction of travel vector of pointer 27 determined by the control program based upon pointing device 12 input towards a target item 25 away from the initial anchor position 21. The angle range 26 references a vector angle range bisected by the direction of travel vector 22 which effectively limits the area within which a target item may be located from amongst possible target items and within which the pointer 27 may be vectored by the automatic pointer position vectoring of the present invention. Referring to FIGS. 3 and 4, displayed on the display screen 15 are multiple items 31, 33, 34 and 35 and 41, 43, 44, and 45, respectively. Pointers 37 and 47 are set on anchor positions 31 and 41. Angles 36 and 46 reference the vector angle ranges bisected by said direction of travel vectors 32 and 42, respectively.
  • The vector (e.g., 22, 32 and 42) and vector angle range (e.g., 26, 36 and 46) may optionally be displayed on the display 15. For example, the user may select a feature that provides for the vector and/or vector angle range to be displayed once the direction of travel is determined and until the target item is selected.
  • As stated above, the computer system 10 of FIG. 1 includes a software application (control program or control means) for controlling the GUI pointer automatic positioning vectoring of the present invention. The control program is adapted to extrapolate the location of the target item and to move the pointer to the target item. More particularly, the process used to extrapolate the location or the identity of the target item from amongst possible target items can be based upon the direction of travel vector, the vector angle range, additional user definable limits (e.g., user definable selectable items and/or sections of the display), and the probability that the item is the intended target item based upon the relative closeness of each possible target item to either the direction of travel vector, the initial anchor position or both, etc. The closer a possible target item is to the initial anchor position and to the direction of travel vector the more likely it is to be the intended target item. One exception is that a possible target item located directly on the direction of travel vector, but further away from the initial anchor position than another possible target item not on the direction of travel vector, is more likely to be the intended target item. Therefore, the control program may be adapted to identify the intended target item as that item which is closest to the initial anchor position on the direction of travel vector. If no possible items are found on the direction of travel vector than the intended target item is identified as that item closest to both the initial anchor position and the direction of travel vector. For example, referring to FIG. 2, the location of the target item may be extrapolated as item 25 because it is within the vector angle range 26, it is the closest item to the initial anchor position 21 and it is the closest item to the direction of travel vector 22. Referring to FIG. 3, the location of the target item may be extrapolated as item 35 because while item 34 is closer to the anchor position 31, item 35 is located directly upon the direction of travel vector 32. Referring to FIG. 4, the location of the target item may be extrapolated as item 45 because the sum of the distance from the initial anchor position to the item (4145; 41ε44) plus the distance from the item to the direction of travel vector (4542; 4442) is lesser for item 45 than it is for item 44. Once the intended target item is located, the control program moves the pointer directly to that intended target item by skipping space on the display. In other words, the pointer jumps to the located intended target item without requiring further manipulation of the pointer device 12 and without traveling across the display 15.
  • FIG. 5 is a flow diagram illustrating the general processes that may be utilized to carry out the various embodiments of the method of the present invention in conjunction with the computer system of FIG. 1. Referring in combination to FIGS. 1 through 5, after the computer system is started up 100, the user is presented with a display 15 and may select (e.g., from a menu item, tool bar, etc.) whether or not to activate automatic pointer position vectoring 101 (i.e., automatic pointer movement). If the user does not want to activate automatic pointer position vectoring, the user will exit the program at process 102.
  • As with other programs a user may exit 102 the automatic pointer position vectoring program by any number of methods. Exemplary exit methods include, but are not limited to, the following: clicking on a “Close” button (i.e., the square with an x in it at the top right of the program window); clicking a menu icon and selecting the “Close” option on the menu that scrolls down; using a the key sequence (e.g., Alt F4); clicking a “File” menu and then selecting the “Exit” option; right clicking the program's task bar button and selecting “Close” from a “Context” menu that opens; and, pressing the “Ctrl”, “Alt”, and “Del” keys simultaneously, opening up a menu of running programs, clicking on the program you want to close, and then clicking on the “End Task” button.
  • The user may also optionally define automatic pointer movement display features. If the user wants to define display features 114, the user may select from a drop down menu or other menu a feature that provides for defining display features 115. For example, the user may select that a vector and/or a vector angle range be visible on the display once the direction of travel is determined and until the target item is selected.
  • Upon activation of automatic pointer position vectoring 103, the control program will control pointer movement within the display according to default or user defined movement parameters (see method steps 104-105, 106-107, 108-109, 112-113 and 200-201) and user inputs 202. In general, a user inputs pointer movement 202 (e.g., input by moving a pointing device Ref. No. 120, FIG. 1) having a general direction of travel on a display towards a target item (i.e., Ref. No. 25, FIG. 2) away from the initial anchor position (i.e., Ref. No. 21, FIG. 2). Based upon this input the control program determines a direction of travel vector (i.e., Ref. No. 22, FIG. 2). The location of the intended target item from amongst possible intended target items can then be extrapolated and the pointer can be moved to the located intended target item. The process of automatically moving the pointer may be based in part upon default or user defined parameters (see processes 104-105, 106-107, 108-109, 112-113 and 200-201).
  • More particularly, once automatic pointer position vectoring is activated 100, the user has the option of inputting multiple user defined parameters to be used by the control program in identifying the intended target item, moving the pointer to the intended target item and selecting the target item.
  • For example, the user may indicate that automatic selection of a target item (e.g., link, hyperlink, universal resource locator, icon, command button, menu item, task bar item, scroll bar item, etc.; Ref. 250, FIG. 2) is desired once the pointer is moved to that item in order to retrieve the corresponding document, file webpage, web graphics, etc., or to initiate the command. If automatic selection of the target item is desired 110 automatic item selection and retrieval will be activated 111. Thus, no further manual operation (e.g., clicking of a button on the pointing device 12) by the user will be required once a pointer is moved to a target item (i.e., Ref. No. 25, FIG. 2). In one embodiment, the default setting may require manual selection of the acquired target item.
  • The user may also optionally define an initial anchor point or starting position for the pointer on the display 15 (see processes 104-105 and 106-107). The user has the option of defining a particular selectable item (e.g., Uniform Resource Locator (URL), a link, hyperlink, icon, etc.) as the anchor or start point (104-105). The user may alternatively define a particular location on the display 15 (e.g., lower right hand corner, center screen, etc.) as the initial anchor or start point (106-107). If the user does not want to define an initial anchor point or start position, the control program may define the current pointer position as the default position. The user may also optionally reset the default position. This initial anchor point or start position serves as the starting point from which the control program determines the direction of travel vector towards a target item based upon pointing device input.
  • In addition, the user may optionally define vector sensitivity (see processes 108-109). If the user wants to define sensitivity 108, defining sensitivity 109 may be accomplished by defining the vector angle range (see Ref. 26, FIG. 2). The control program uses this vector angle range 26 to limit the area within which it may to identify a target item from amongst possible target items and move the pointer to that located target item. The direction of travel vector (see Ref. 22, FIG. 2) beginning at the anchor point (see Ref. 21, FIG. 2) and pointing in the direction of the input pointer movement towards a target item bisects the vector angle range 26. Decreased sensitivity is established by defining a greater vector angle because this creates a broader area within which a target item on the display may be located. Increased sensitivity is established by defining a lesser vector angle because this creates a narrower area within which a target item on the display in may be located. Thus, depending on the particular display and the density of selectable items within the display, the user may choose to increase or decrease vector sensitivity. The control program may define the default vector sensitivity and may apply the default vector sensitivity if the user does not want to define vector sensitivity at process 108. The user may optionally reset the default.
  • The user may also optionally activate a feature of selectable automatic vector sensitivity (see processes 112-113). This feature automatically decreases the default or user defined vector angle range by a pre-selected dimension and is triggered if there are more than a pre-selected number of possible target items located within the vector angle range. Activating this feature, selecting the dimension by which the vector angle range is decreased and selecting the number of target items located within the vector angle range that triggers this automatic feature can be accomplished by using a drop down or other menu.
  • Similarly, the user may also define other limitations to automatic pointer movement controlled by the control program (see processes 200-201). If the user wants to limit automatic pointer movement 200, the user may define the particular type of selectable items to which a pointer may be moved or define the sections of the display which are active for purposes of automatic pointer position vectoring 201. As with the other user definable parameters, the control program may define default pointer movement limitations (e.g., no limitations, no automatic movement to toolbars, etc.) which are set if the user does not want to define cursor limits. The user may optionally reset the default settings or redefine the limitations depending upon the display.
  • As stated above, once the automatic pointer movement parameters are established (processes 104-105, 106-107, 108-109, 112-113 and 200-201), the user moves the pointing device and thus the pointer in the direction of the intended target item. The pointer is then automatically moved to that intended target item 202. FIG. 6 is a flow diagram further illustrating the process of automatically moving the pointer 202. In order to automatically move the pointer, the control program uses the vectoring parameters in conjunction with user input from a pointing device 12 having a general direction of travel on a display towards a target item (i.e., Ref. No. 25, FIG. 2). Based upon user pointing device input 602, the control program determines a direction of travel vector 604 away from the initial anchor position towards the intended target item, extrapolates the location of the intended target item 606 and automatically moves the pointer to that intended target item 608.
  • FIG. 7 is a flow diagram further illustrating the process 606 of extrapolating the location of the intended target item. As discussed in detail above, the process used to extrapolate the location of the intended target item from amongst possible target items may be based upon a number of defined parameters. For example, possible intended target items may be limited to default or user defined selectable items 702. Possible intended target items may be limited to those items set within default or user defined sections of the display 704. Possible intended target items may further be limited to those items set within a default or user defined vector angle range 706. This vector angle range may automatically be decreased if more than a selected number of possible intended target items are found in the original vector angle range 707. Then, the relative closeness of each possible target item to the initial anchor position, the direction of travel vector, or both, is compared 708. The target item may further be identified 710 using automatic vectoring parameters defined based upon probabilities. For example, the closer a possible target item is to the initial anchor position and to the direction of travel vector the more likely it is to be the target item. One exception is that a possible target item located directly on the direction of travel vector, but further away from the initial anchor position than another possible target item not located on the direction of travel vector, is more likely to be the intended target item. Again referring to FIG. 6, once the location of the target item is identified, the control program automatically moves the pointer to that intended target item 608 by skipping space within the display without require additional manipulation of the pointing device.
  • After the pointer is moved to a target item, either the target item will be automatically selected due to activation of item selection and retrieval 111 or the user may optionally manually select the corresponding file, document, web page, etc. If the user wishes to continue using automatic pointer position vectoring 203, the user simply moves the pointer again 202. If the user does not wish to continue using automatic pointer position vectoring, the user exits the program 102 (see the exemplary exit methods discussed above).
  • Again referring in combination to FIGS. 1 through 5, one embodiment of the method of the present invention further defines the process of inputting pointer movement direction of travel towards a target item 202. Specifically, this method defines the pointing device as a keyboard-based pointing device (e.g., the arrow keys on a keyboard). For example, pointer movement may be selected by simultaneously operating multiple keys on a keyboard, such as the “Shift” key 17 and one or more of the arrow keys 16 on a keyboard 11. As with other pointing devices, input from arrow keys has a direction of travel on the display towards an intended target item from an initial anchor position. Once a direction of travel input is received, a direction of travel vector is determined. Based upon the direction of travel vector, the location of the intended target item is extrapolated and the pointer is automatically moved to that intended target item.
  • A representative hardware environment for practicing the embodiments of the invention is depicted in FIG. 8. This schematic drawing illustrates a hardware configuration of an information handling/computer system in accordance with the embodiments of the invention. The system comprises at least one processor or central processing unit (CPU) 810. The CPUs 810 are interconnected via system bus 812 to various devices such as a random access memory (RAM) 814, read-only memory (ROM) 816, and an input/output (I/O) adapter 818. The I/O adapter 818 can connect to peripheral devices, such as disk units 811 and tape drives 813, or other program storage devices that are readable by the system. The system can read the inventive instructions on the program storage devices and follow these instructions to execute the methodology of the embodiments of the invention. The system further includes a user interface adapter 819 that connects a keyboard 815, mouse 817, speaker 824, microphone 822, and/or other user interface devices such as a touch screen device (not shown) to the bus 812 to gather user input. Additionally, a communication adapter 820 connects the bus 812 to a data processing network 825, and a display adapter 821 connects the bus 812 to a display device 823 which may be embodied as an output device such as a monitor, printer, or transmitter, for example.
  • The method and computer system of the present invention provides for rapid and accurate automatic moving of a graphical user interface pointer to an intended target item on a display by extrapolating the location of the intended target item based upon default and/or user defined parameters and pointing device inputs. Once the location of the item is extrapolated the pointer is automatically moved to the item. As illustrated, the method and system minimizes pointer drifting and reduces the time and effort required to move the pointer manually.
  • While the invention has been described in terms of embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.

Claims (37)

1. A method of controlling movement of a graphical user interface pointer on a display, said method comprising:
receiving a pointer movement input;
determining a direction of travel vector based on said pointer movement input;
establishing vector sensitivity;
extrapolating a location of an intended target item on said display based on said direction of travel vector and said vector sensitivity; and
automatically moving said pointer on said display to said intended target item.
2. The method according to claim 1, wherein said process of establishing vector sensitivity comprises establishing one of a user defined angle range and a default vector angle range, wherein said vector angle range limits the approximate area within which said intended target item may be located from amongst possible target items.
3. The method according to claim 2, wherein increasing said vector angle range increases said area within which said intended target item may be located, and thereby decreases said vector sensitivity; and
wherein decreasing said vector angle decreases said area within which said intended target item may be located and thereby increases vector sensitivity.
4. The method according to claim 1, wherein said process of extrapolating further comprises limiting possible target items to at least one of user defined items and default defined items.
5. The method according to claim 3, wherein said process of extrapolating further comprises limiting possible target items to items located within said vector angle range and within a defined section of the display.
6. The method according to claim 1, wherein said process of extrapolating further comprises identifying said intended target item from amongst a plurality of possible target items by comparing the relative closeness of each of said possible target items to said direction of travel vector and an initial anchor position.
7. The method according to claim 6, wherein said process of extrapolating further comprises identifying said intended target item from amongst said possible target items as an item located on said direction of travel vector that is closest to an initial anchor position and, if no item is located on said direction of travel vector, then identifying said intended target item from amongst said possible target items as an item located closest to both said initial anchor position and said direction of travel vector.
8. The method according to claim 1, further comprising automatically selecting said intended target item.
9. The method according to claim 2, wherein said process of establishing vector sensitivity further comprises automatically increasing vector sensitivity by decreasing said vector angle range by a selected dimension, if there are more than a selected number of said possible target items located within said vector angle range.
10. A method of controlling movement of a graphical user interface pointer on a display, said method comprising:
receiving a keyboard-based pointer movement input;
determining a direction of travel vector based on said key-board based pointer movement input;
extrapolating a location of an intended target item on said display based upon said direction of travel vector; and,
automatically moving said pointer on said display to said intended target item.
11. The method according to claim 10, wherein said process of extrapolating further comprises limiting possible target items to at least one of user defined items and default defined item.
12. The method according to claim 10, wherein said process of extrapolating further comprises limiting possible target items to items located within at least one of a defined vector angle range and a defined section of said display.
13. The method according to claim 10, wherein said process of extrapolating further comprises identifying said intended target item from amongst a plurality of possible target items by comparing the relative closeness of each of said possible target items to said direction of travel vector and an initial anchor position.
14. The method according to claim 13, wherein said process of extrapolating further comprises identifying said intended target item from amongst said possible target items as an item located on said direction of travel vector that is closest to an initial anchor position and, if no item is located on said direction of travel vector, then identifying said intended target item from amongst said possible target items as an item located closest to both said initial anchor position and said direction of travel vector.
15. The method according to claim 10, wherein said process of receiving a keyboard-based pointer movement input comprises receiving input from arrow keys on a keyboard.
16. The method according to claim 10, wherein said process of receiving a keyboard-based pointer movement input comprises receiving input from multiple keys on a keyboard being operated simultaneously.
17. The method according to claim 10, further comprising automatically selecting said intended target item.
18. A method of controlling movement of a graphical user interface pointer on a display, said method comprising:
defining automatic pointer movement parameters;
receiving a pointer movement input towards an intended target item on a display;
determining a direction of travel vector based from an initial pointer anchor position towards said intended target item based on said pointer movement input;
extrapolating a location of said intended target item based upon said direction of travel vector and said defined automatic pointer movement parameters; and
automatically moving said pointer on said display to said intended target item.
19. The method according to claim 18, wherein said defined automatic pointer movement parameters comprise at least one of a defined vector angle range, said initial pointer anchor position, defined possible target items, and defined sections of said display.
20. A service of controlling movement of a graphical user interface pointer on a display, said service comprising:
receiving a pointer movement input;
determining a direction of travel vector based on said pointer movement input;
establishing vector sensitivity;
extrapolating a location of an intended target item on said display based on said direction of travel vector and said vector sensitivity; and
automatically moving said pointer on said display to said intended target item.
21. The service according to claim 20, wherein said process of establishing vector sensitivity comprises establishing one of a user defined angle range and a default vector angle range, wherein said vector angle range limits the approximate area within which said intended target item may be located from amongst possible target items.
22. The service according to claim 21, wherein increasing said vector angle range increases said area within which said intended target item may be located, and thereby decreases said vector sensitivity; and
wherein decreasing said vector angle decreases said area within which said intended target item may be located and thereby increases vector sensitivity.
23. The service according to claim 20, wherein said process of extrapolating further comprises limiting possible target items to at least one of user defined items and default defined items.
24. The service according to claim 22, wherein said process of extrapolating further comprises limiting possible target items to items located within said vector angle range and within a defined section of the display.
25. The service according to claim 20, wherein said process of extrapolating further comprises identifying said intended target item from amongst a plurality of possible target items by comparing the relative closeness of each of said possible target items to said direction of travel vector and an initial anchor position.
26. The service according to claim 25, wherein said process of extrapolating further comprises identifying said intended target item from amongst said possible target items as an item located on said direction of travel vector that is closest to an initial anchor position and, if no item is located on said direction of travel vector, then identifying said intended target item from amongst said possible target items as an item located closest to both said initial anchor position and said direction of travel vector.
27. The service according to claim 20, further comprising automatically selecting said intended target item.
28. The service according to claim 21, wherein said process of establishing vector sensitivity further comprises automatically increasing vector sensitivity by decreasing said vector angle range by a selected dimension, if there are more than a selected number of said possible target items located within said vector angle range.
29. A program storage device readable by computer, tangibly embodying a program of instructions executable by said computer to perform a method of controlling movement of a graphical user interface pointer on a display, said method comprising:
receiving a pointer movement input;
determining a direction of travel vector based on said pointer movement input;
establishing vector sensitivity;
extrapolating a location of an intended target item on said display based on said direction of travel vector and said vector sensitivity; and
automatically moving said pointer on said display to said intended target item.
30. The program according to claim 29, wherein said process of establishing vector sensitivity comprises establishing one of a user defined angle range and a default vector angle range, wherein said vector angle range limits the approximate area within which said intended target item may be located from amongst possible target items.
31. The program according to claim 30, wherein increasing said vector angle range increases said area within which said intended target item may be located, and thereby decreases said vector sensitivity; and
wherein decreasing said vector angle decreases said area within which said intended target item may be located and thereby increases vector sensitivity.
32. The program according to claim 29, wherein said process of extrapolating further comprises limiting possible target items to at least one of user defined items and default defined items.
33. The program according to claim 31, wherein said process of extrapolating further comprises limiting possible target items to items located within said vector angle range and within a defined section of the display.
34. The program according to claim 29, wherein said process of extrapolating further comprises identifying said intended target item from amongst a plurality of possible target items by comparing the relative closeness of each of said possible target items to said direction of travel vector and an initial anchor position.
35. The program according to claim 34, wherein said process of extrapolating further comprises identifying said intended target item from amongst said possible target items as an item located on said direction of travel vector that is closest to an initial anchor position and, if no item is located on said direction of travel vector, then identifying said intended target item from amongst said possible target items as an item located closest to both said initial anchor position and said direction of travel vector.
36. The program according to claim 29, wherein said method further comprises automatically selecting said intended target item.
37. The program according to claim 30, wherein said process of establishing vector sensitivity further comprises automatically increasing vector sensitivity by decreasing said vector angle range by a selected dimension, if there are more than a selected number of said possible target items located within said vector angle range.
US10/905,853 2005-01-24 2005-01-24 GUI pointer automatic position vectoring Active 2030-01-16 US8566751B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/905,853 US8566751B2 (en) 2005-01-24 2005-01-24 GUI pointer automatic position vectoring
US13/945,232 US9182881B2 (en) 2005-01-24 2013-07-18 GUI pointer automatic position vectoring

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/905,853 US8566751B2 (en) 2005-01-24 2005-01-24 GUI pointer automatic position vectoring

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/945,232 Continuation US9182881B2 (en) 2005-01-24 2013-07-18 GUI pointer automatic position vectoring

Publications (2)

Publication Number Publication Date
US20060168548A1 true US20060168548A1 (en) 2006-07-27
US8566751B2 US8566751B2 (en) 2013-10-22

Family

ID=36698520

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/905,853 Active 2030-01-16 US8566751B2 (en) 2005-01-24 2005-01-24 GUI pointer automatic position vectoring
US13/945,232 Active 2025-07-01 US9182881B2 (en) 2005-01-24 2013-07-18 GUI pointer automatic position vectoring

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/945,232 Active 2025-07-01 US9182881B2 (en) 2005-01-24 2013-07-18 GUI pointer automatic position vectoring

Country Status (1)

Country Link
US (2) US8566751B2 (en)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040150664A1 (en) * 2003-02-03 2004-08-05 Microsoft Corporation System and method for accessing remote screen content
US20060288314A1 (en) * 2005-06-15 2006-12-21 Microsoft Corporation Facilitating cursor interaction with display objects
US20070198953A1 (en) * 2006-02-22 2007-08-23 Microsoft Corporation Target acquisition
US20080229254A1 (en) * 2006-03-24 2008-09-18 Ervin-Dawson Warner Method and system for enhanced cursor control
US20090276701A1 (en) * 2008-04-30 2009-11-05 Nokia Corporation Apparatus, method and computer program product for facilitating drag-and-drop of an object
US20100205530A1 (en) * 2009-02-09 2010-08-12 Emma Noya Butin Device, system, and method for providing interactive guidance with execution of operations
US20100205529A1 (en) * 2009-02-09 2010-08-12 Emma Noya Butin Device, system, and method for creating interactive guidance with execution of operations
US20110047514A1 (en) * 2009-08-24 2011-02-24 Emma Butin Recording display-independent computerized guidance
US20110047488A1 (en) * 2009-08-24 2011-02-24 Emma Butin Display-independent recognition of graphical user interface control
US20110047462A1 (en) * 2009-08-24 2011-02-24 Emma Butin Display-independent computerized guidance
US20110072399A1 (en) * 2009-09-23 2011-03-24 Samsung Electronics Co., Ltd. Method for providing gui which generates gravity map to move pointer and display apparatus using the same
US20130135232A1 (en) * 2011-11-25 2013-05-30 Eturbotouch Technology, Inc. Processing method for touch signal and computing device thereof
US20130167084A1 (en) * 2011-12-27 2013-06-27 Panasonic Corporation Information terminal, method of controlling information terminal, and program for controlling information terminal
US20130191742A1 (en) * 2010-09-30 2013-07-25 Rakuten, Inc. Viewing device, viewing method, non-transitory computer-readable recording medium whereon program is recorded, and script program
US20130297281A1 (en) * 2011-10-11 2013-11-07 Invodo, Inc. Methods and systems of providing items to customers via a network
CN104007842A (en) * 2013-02-22 2014-08-27 三星电子株式会社 Apparatus for providing a cursor in electronic devices and a method thereof
US20150012880A1 (en) * 2013-07-08 2015-01-08 International Business Machines Corporation Moving an object displayed on a display screen
JP2015092342A (en) * 2010-06-30 2015-05-14 トレーディング テクノロジーズ インターナショナル インコーポレイテッド Method and apparatus for motion based target prediction and interaction
US9146654B2 (en) 2011-05-25 2015-09-29 International Business Machines Corporation Movement reduction when scrolling for item selection during direct manipulation
US20150317045A1 (en) * 2012-12-11 2015-11-05 Volkswagen Aktiengesellschaft Operating method and operating device
US20150333973A1 (en) * 2014-05-16 2015-11-19 Vodafone Ip Licensing Limited Controlling a server
US20160062470A1 (en) * 2014-09-02 2016-03-03 Stmicroelectronics International N.V. Instrument interface for reducing effects of erratic motion
JP2016106307A (en) * 2016-01-20 2016-06-16 コニカミノルタ株式会社 Image forming apparatus, control method for image forming apparatus, and control program for image forming apparatus
JP2017079058A (en) * 2010-10-01 2017-04-27 トムソン ライセンシングThomson Licensing System and method for navigation in user interface
US9672563B2 (en) 2010-06-30 2017-06-06 Trading Technologies International, Inc. Order entry actions
EP3327561A1 (en) * 2016-11-25 2018-05-30 Toyota Jidosha Kabushiki Kaisha Display control device
US20180336634A1 (en) * 2003-01-14 2018-11-22 Bgc Partners, Inc. Commission calculator and display
US20200218440A1 (en) * 2019-01-03 2020-07-09 International Business Machines Corporation Method, system and computer program for copy and paste operations
US20200261797A1 (en) * 2019-02-20 2020-08-20 Supercell Oy Method for facilitating user interactions in gaming environment
US11188168B2 (en) * 2010-06-04 2021-11-30 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
US11226724B2 (en) 2014-05-30 2022-01-18 Apple Inc. Swiping functions for messaging applications
US11494072B2 (en) 2014-06-01 2022-11-08 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100078366A (en) * 2008-12-30 2010-07-08 삼성전자주식회사 Method for providing gui including pointer representing visual effect moved by gravity and electronic device thereof
US9292161B2 (en) * 2010-03-24 2016-03-22 Microsoft Technology Licensing, Llc Pointer tool with touch-enabled precise placement
US9317196B2 (en) 2011-08-10 2016-04-19 Microsoft Technology Licensing, Llc Automatic zooming for text selection/cursor placement
US9110562B1 (en) * 2012-07-26 2015-08-18 Google Inc. Snapping a pointing-indicator to a scene boundary of a video
US9032335B2 (en) * 2012-08-14 2015-05-12 Christopher V. Beckman User interface techniques reducing the impact of movements
US9507490B2 (en) * 2014-03-05 2016-11-29 International Business Machines Corporation Navigation of a graphical representation
CN103914211B (en) * 2014-04-04 2017-08-25 华为终端有限公司 The automatic adjusting method and device of interface element
US10089000B2 (en) 2016-06-03 2018-10-02 Microsoft Technology Licensing, Llc Auto targeting assistance for input devices

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5298890A (en) * 1990-04-11 1994-03-29 Oki Electric Industry Co., Ltd. Discontinuous movement system and method for mouse cursor
US5870079A (en) * 1996-11-12 1999-02-09 Legaltech, Inc. Computer input device and controller therefor
US6031531A (en) * 1998-04-06 2000-02-29 International Business Machines Corporation Method and system in a graphical user interface for facilitating cursor object movement for physically challenged computer users
US6266043B1 (en) * 1994-03-10 2001-07-24 Microsoft Corporation Apparatus and method for automatically positioning a cursor on a control
US6317116B1 (en) * 1995-12-13 2001-11-13 Immersion Corporation Graphical click surfaces for force feedback applications to provide selection of functions using cursor interaction with a trigger position of a graphical object
US20020003529A1 (en) * 1998-07-23 2002-01-10 Harumi Takase Method for moving a pointing cursor
US6587131B1 (en) * 1999-06-04 2003-07-01 International Business Machines Corporation Method for assisting user to operate pointer
US6693653B1 (en) * 2000-09-19 2004-02-17 Rockwell Collins, Inc. Method of assisting cursor movement toward a nearby displayed target
US6717600B2 (en) * 2000-12-15 2004-04-06 International Business Machines Corporation Proximity selection of selectable item in a graphical user interface
US6765598B2 (en) * 1998-10-27 2004-07-20 Samsung Electronics Co., Ltd. Method and apparatus for enabling selection in an on-screen menu
US20050028112A1 (en) * 2003-07-30 2005-02-03 Canon Kabushiki Kaisha Reduced image production method and apparatus
US6980215B2 (en) * 2000-09-27 2005-12-27 Thomson Licensing Method and device for processing images to correct defects of mobile object display
US20070018966A1 (en) * 2005-07-25 2007-01-25 Blythe Michael M Predicted object location
US7231609B2 (en) * 2003-02-03 2007-06-12 Microsoft Corporation System and method for accessing remote screen content

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0348922A (en) 1989-07-18 1991-03-01 Kokusai Denshin Denwa Co Ltd <Kdd> Pointing cursor predictive moving device

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5298890A (en) * 1990-04-11 1994-03-29 Oki Electric Industry Co., Ltd. Discontinuous movement system and method for mouse cursor
US6266043B1 (en) * 1994-03-10 2001-07-24 Microsoft Corporation Apparatus and method for automatically positioning a cursor on a control
US6317116B1 (en) * 1995-12-13 2001-11-13 Immersion Corporation Graphical click surfaces for force feedback applications to provide selection of functions using cursor interaction with a trigger position of a graphical object
US5870079A (en) * 1996-11-12 1999-02-09 Legaltech, Inc. Computer input device and controller therefor
US6031531A (en) * 1998-04-06 2000-02-29 International Business Machines Corporation Method and system in a graphical user interface for facilitating cursor object movement for physically challenged computer users
US20020003529A1 (en) * 1998-07-23 2002-01-10 Harumi Takase Method for moving a pointing cursor
US6765598B2 (en) * 1998-10-27 2004-07-20 Samsung Electronics Co., Ltd. Method and apparatus for enabling selection in an on-screen menu
US6587131B1 (en) * 1999-06-04 2003-07-01 International Business Machines Corporation Method for assisting user to operate pointer
US6693653B1 (en) * 2000-09-19 2004-02-17 Rockwell Collins, Inc. Method of assisting cursor movement toward a nearby displayed target
US6980215B2 (en) * 2000-09-27 2005-12-27 Thomson Licensing Method and device for processing images to correct defects of mobile object display
US6717600B2 (en) * 2000-12-15 2004-04-06 International Business Machines Corporation Proximity selection of selectable item in a graphical user interface
US7231609B2 (en) * 2003-02-03 2007-06-12 Microsoft Corporation System and method for accessing remote screen content
US20050028112A1 (en) * 2003-07-30 2005-02-03 Canon Kabushiki Kaisha Reduced image production method and apparatus
US20070018966A1 (en) * 2005-07-25 2007-01-25 Blythe Michael M Predicted object location

Cited By (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180336634A1 (en) * 2003-01-14 2018-11-22 Bgc Partners, Inc. Commission calculator and display
US7231609B2 (en) * 2003-02-03 2007-06-12 Microsoft Corporation System and method for accessing remote screen content
US20070192749A1 (en) * 2003-02-03 2007-08-16 Microsoft Corporation Accessing remote screen content
US7770120B2 (en) 2003-02-03 2010-08-03 Microsoft Corporation Accessing remote screen content
US20040150664A1 (en) * 2003-02-03 2004-08-05 Microsoft Corporation System and method for accessing remote screen content
US20060288314A1 (en) * 2005-06-15 2006-12-21 Microsoft Corporation Facilitating cursor interaction with display objects
US20070198953A1 (en) * 2006-02-22 2007-08-23 Microsoft Corporation Target acquisition
US20080229254A1 (en) * 2006-03-24 2008-09-18 Ervin-Dawson Warner Method and system for enhanced cursor control
US20090276701A1 (en) * 2008-04-30 2009-11-05 Nokia Corporation Apparatus, method and computer program product for facilitating drag-and-drop of an object
US9569231B2 (en) 2009-02-09 2017-02-14 Kryon Systems Ltd. Device, system, and method for providing interactive guidance with execution of operations
US20100205530A1 (en) * 2009-02-09 2010-08-12 Emma Noya Butin Device, system, and method for providing interactive guidance with execution of operations
US20100205529A1 (en) * 2009-02-09 2010-08-12 Emma Noya Butin Device, system, and method for creating interactive guidance with execution of operations
US20110047514A1 (en) * 2009-08-24 2011-02-24 Emma Butin Recording display-independent computerized guidance
US20110047462A1 (en) * 2009-08-24 2011-02-24 Emma Butin Display-independent computerized guidance
US9703462B2 (en) 2009-08-24 2017-07-11 Kryon Systems Ltd. Display-independent recognition of graphical user interface control
US20110047488A1 (en) * 2009-08-24 2011-02-24 Emma Butin Display-independent recognition of graphical user interface control
US9405558B2 (en) 2009-08-24 2016-08-02 Kryon Systems Ltd. Display-independent computerized guidance
US8918739B2 (en) * 2009-08-24 2014-12-23 Kryon Systems Ltd. Display-independent recognition of graphical user interface control
US9098313B2 (en) 2009-08-24 2015-08-04 Kryon Systems Ltd. Recording display-independent computerized guidance
US20110072399A1 (en) * 2009-09-23 2011-03-24 Samsung Electronics Co., Ltd. Method for providing gui which generates gravity map to move pointer and display apparatus using the same
US11709560B2 (en) 2010-06-04 2023-07-25 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
US11188168B2 (en) * 2010-06-04 2021-11-30 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
US10521860B2 (en) 2010-06-30 2019-12-31 Trading Technologies International, Inc. Order entry actions
JP2015092342A (en) * 2010-06-30 2015-05-14 トレーディング テクノロジーズ インターナショナル インコーポレイテッド Method and apparatus for motion based target prediction and interaction
US10902517B2 (en) 2010-06-30 2021-01-26 Trading Technologies International, Inc. Order entry actions
US11416938B2 (en) 2010-06-30 2022-08-16 Trading Technologies International, Inc. Order entry actions
US9830655B2 (en) 2010-06-30 2017-11-28 Trading Technologies International, Inc. Method and apparatus for motion based target prediction and interaction
US9672563B2 (en) 2010-06-30 2017-06-06 Trading Technologies International, Inc. Order entry actions
US11908015B2 (en) 2010-06-30 2024-02-20 Trading Technologies International, Inc. Order entry actions
US20130191742A1 (en) * 2010-09-30 2013-07-25 Rakuten, Inc. Viewing device, viewing method, non-transitory computer-readable recording medium whereon program is recorded, and script program
US10705625B2 (en) 2010-10-01 2020-07-07 Interdigital Madison Patent Holdings System and method for navigation in a user interface
JP2017079058A (en) * 2010-10-01 2017-04-27 トムソン ライセンシングThomson Licensing System and method for navigation in user interface
US9146654B2 (en) 2011-05-25 2015-09-29 International Business Machines Corporation Movement reduction when scrolling for item selection during direct manipulation
US20130297281A1 (en) * 2011-10-11 2013-11-07 Invodo, Inc. Methods and systems of providing items to customers via a network
US20130135232A1 (en) * 2011-11-25 2013-05-30 Eturbotouch Technology, Inc. Processing method for touch signal and computing device thereof
US9075461B2 (en) * 2011-11-25 2015-07-07 Wistron Corporation Processing method for touch signal and computing device thereof
US9354780B2 (en) * 2011-12-27 2016-05-31 Panasonic Intellectual Property Management Co., Ltd. Gesture-based selection and movement of objects
US20130167084A1 (en) * 2011-12-27 2013-06-27 Panasonic Corporation Information terminal, method of controlling information terminal, and program for controlling information terminal
US20150317045A1 (en) * 2012-12-11 2015-11-05 Volkswagen Aktiengesellschaft Operating method and operating device
CN104007842A (en) * 2013-02-22 2014-08-27 三星电子株式会社 Apparatus for providing a cursor in electronic devices and a method thereof
WO2014129864A1 (en) * 2013-02-22 2014-08-28 Samsung Electronics Co., Ltd. An apparatus for providing a cursor in electronic devices and a method thereof
JP2015015001A (en) * 2013-07-08 2015-01-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Method of moving object being movement object displayed on display screen, and electronic apparatus and electronic apparatus program thereof
US20150012880A1 (en) * 2013-07-08 2015-01-08 International Business Machines Corporation Moving an object displayed on a display screen
US9740391B2 (en) 2013-07-08 2017-08-22 International Business Machines Corporation Moving an object displayed on a display screen
US9740392B2 (en) 2013-07-08 2017-08-22 International Business Machines Corporation Moving an object displayed on a display screen
US9684442B2 (en) * 2013-07-08 2017-06-20 International Business Machines Corporation Moving an object displayed on a display screen
US20150333973A1 (en) * 2014-05-16 2015-11-19 Vodafone Ip Licensing Limited Controlling a server
US11226724B2 (en) 2014-05-30 2022-01-18 Apple Inc. Swiping functions for messaging applications
US11494072B2 (en) 2014-06-01 2022-11-08 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US11868606B2 (en) 2014-06-01 2024-01-09 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US20160062470A1 (en) * 2014-09-02 2016-03-03 Stmicroelectronics International N.V. Instrument interface for reducing effects of erratic motion
US9880631B2 (en) * 2014-09-02 2018-01-30 Stmicroelectronics International N.V. Instrument interface for reducing effects of erratic motion
CN110488994A (en) * 2014-09-02 2019-11-22 意法半导体国际有限公司 For reducing the instrument interface of the influence of irregular movement
CN105389043A (en) * 2014-09-02 2016-03-09 意法半导体国际有限公司 Instrument interface for reducing effects of erratic motion
JP2016106307A (en) * 2016-01-20 2016-06-16 コニカミノルタ株式会社 Image forming apparatus, control method for image forming apparatus, and control program for image forming apparatus
US10866693B2 (en) 2016-11-25 2020-12-15 Toyota Jidosha Kabushiki Kaisha Display control device for selecting a displayed item based on input of a touch operation
CN108108108A (en) * 2016-11-25 2018-06-01 丰田自动车株式会社 Display control unit
EP3327561A1 (en) * 2016-11-25 2018-05-30 Toyota Jidosha Kabushiki Kaisha Display control device
US11048391B2 (en) * 2019-01-03 2021-06-29 International Business Machines Corporation Method, system and computer program for copy and paste operations
US20200218440A1 (en) * 2019-01-03 2020-07-09 International Business Machines Corporation Method, system and computer program for copy and paste operations
US11338201B2 (en) * 2019-02-20 2022-05-24 Supercell Oy Method for facilitating user interactions in gaming environment
US10786734B2 (en) * 2019-02-20 2020-09-29 Supercell Oy Method for facilitating user interactions in gaming environment
US20200261797A1 (en) * 2019-02-20 2020-08-20 Supercell Oy Method for facilitating user interactions in gaming environment
US20220362664A1 (en) * 2019-02-20 2022-11-17 Supercell Oy Method for facilitating user interactions in gaming environment
US11684850B2 (en) * 2019-02-20 2023-06-27 Supercell Oy Method for facilitating user interactions in gaming environment

Also Published As

Publication number Publication date
US9182881B2 (en) 2015-11-10
US20130305193A1 (en) 2013-11-14
US8566751B2 (en) 2013-10-22

Similar Documents

Publication Publication Date Title
US9182881B2 (en) GUI pointer automatic position vectoring
AU2017200873B2 (en) Method and apparatus for providing character input interface
US20060080621A1 (en) Method of controlling location of display window on display screen of information processing device and apparatus using the method
US7576732B2 (en) Scroll control method using a touchpad
US9671880B2 (en) Display control device, display control method, and computer program
US6972776B2 (en) Scrolling method using screen pointing device
US6886138B2 (en) Directing users′ attention to specific icons being approached by an on-screen pointer on user interactive display interfaces
US20100105443A1 (en) Methods and apparatuses for facilitating interaction with touch screen apparatuses
US20060288314A1 (en) Facilitating cursor interaction with display objects
US6515687B1 (en) Virtual joystick graphical user interface control with one and two dimensional operation
US8456433B2 (en) Signal processing apparatus, signal processing method and selection method of user interface icon for multi-touch panel
EP2107448A2 (en) Electronic apparatus and control method thereof
US20120096393A1 (en) Method and apparatus for controlling touch screen in mobile terminal responsive to multi-touch inputs
EP2013691B1 (en) Cursor control
US8044932B2 (en) Method of controlling pointer in mobile terminal having pointing device
US9052767B2 (en) Information terminal device and touch panel display method
KR100795590B1 (en) Method of navigating, electronic device, user interface and computer program product
EP3433713B1 (en) Selecting first digital input behavior based on presence of a second, concurrent, input
US20110093809A1 (en) Input to non-active or non-primary window
JP2015153197A (en) Pointing position deciding system
US20120117517A1 (en) User interface
KR20170126213A (en) Method and Apparatus for executing function for plural items on list
KR102031104B1 (en) Web browser display apparatus and web browser display method
KR20200069703A (en) An input system changing the input window dynamically and a method thereof
KR100866474B1 (en) Method and Apparatus for displaying menu of combo box in graphic user interface

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KELLEY, EDWARD E.;MOTIKA, FRANCO;REEL/FRAME:015856/0326

Effective date: 20050118

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

AS Assignment

Owner name: KYNDRYL, INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:057885/0644

Effective date: 20210930