← Back to Patent Explorer
EP0671682A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Apparatus and method for automatically positioning a cursor on a control

Assignee: Microsoft Corp
•
Filing: 1995-03-07
•
Granted: —
•
Expires: 2015-03-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for managing controls on the screen of a computer controlled display. The preferred embodiment of the present invention provides for quick and efficient activation and deactivation of controls by designating a number of controls as a control grouping. The preferred embodiment then collectively activates or deactivates the designated number of controls using an identifier for the control grouping. Additionally, after a user terminates cursor movement, the preferred embodiment automatically positions a cursor on an ideal control. The preferred embodiment determines the ideal control (1) by removing from consideration any controls which are (a) not visible to the user, or (b) located at non-optimal positions on the screen, and (2) by calculating a weighted distance for each remaining control. The preferred embodiment calculates the weighted distances by comparing the previous cursor movements made by a user with application specified parameters. After calculating a weighted distance for each remaining control, the preferred embodiment automatically positions the cursor on the control having a smallest associated weighted distance.

Inventors

  • 👤 Michael B. Robin

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-10-24 10:37
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/01; G06F3/048; G06F3/0487; G06F3/0489; G06F3/0481; G06F3/04812; G06F3/04892

Claims Analysis

Total Claims: 36
Claim 1
Independent Claim 172 words
In a computer system, a method for positioning a cursor on one of a plurality of controls, the plurality of controls being displayed on a screen of the computer system, the computer system having only a crude positioning device for controlling cursor movements, wherein the crude positioning tool initiates cursor movements when actuated and terminates cursor movements when released, the method comprising the steps of: determining a current cursor position; identifying a last direction of cursor movement path; for each of the plurality of controls, (1) determining a control path and a control angle, the control path being a path connecting the current cursor position to a respective control, and the control angle being an angle formed between the last direction of cursor movement path and the control path, and (2) calculating a weighted distance as a function of the determined control path and the determined control angle; determining a smallest weighted distance from the calculated weighted distances; and automatically positioning the cursor on the control having the determined smallest weighted distance.
Claim 2
Dependent Claim 196 words
In a computer system having a directional control device for controlling movements of a cursor, wherein the directional control device initiates cursor movements when actuated and does not effect cursor movements when released, the computer system further having a video display device, the video display device having a screen displaying a plurality of controls, a method for positioning the cursor on the screen of the video display device, the method comprising the steps of: identifying a location on the screen that the cursor points to; determining a last direction of cursor movement path, wherein the last direction of cursor movement path identifies a direction that the cursor was moving immediately prior to a release of the directional control device; for each control, determining a control path, the control path connecting the identified location and the control, and calculating an angle formed between the control path and the last direction of movement path; determining a number of valid resting position controls from the plurality of controls; determining a smallest calculated angle among the calculated angles of the valid resting position controls; and positioning the cursor on the valid resting position control having the smallest determined calculated angle.
Claim 3
Dependent Claim 48 words
The method of claim 2 wherein the step of determining a number of valid resting position controls comprises the steps of: specifying a skip angle; and identifying as a valid resting position control only those controls which have a calculated angle which is less than the skip angle.
Claim 4
Dependent Claim 178 words
In a computer system having a directional control device for controlling movements of a cursor, wherein the directional control device initiates cursor movements when actuated and does not effect cursor movements when released, the computer system further having a video display device, the video display device having a screen displaying a plurality of controls, a method for positioning a cursor on the screen of the video display device, the method comprising the steps of: identifying a location on the screen that the cursor points to; determining a last direction of cursor movement path, wherein the last direction of cursor movement path identifies a direction that the cursor was moving immediately prior to a release of the directional control device; for each control, calculating an absolute distance for a path connecting the identified location and the control; determining a number of valid resting position controls from the plurality of controls; determining a smallest absolute distance among the calculated absolute distances of the valid resting position controls; and positioning the cursor on the control having the determined smallest absolute distance.
Claim 5
Dependent Claim 57 words
The method of claim 4 wherein the step of determining a number of valid resting position controls comprises the steps of: specifying a skip distance; and identifying as a valid resting position control only those controls which have a calculated absolute distance which is less than the skip distance from the list of valid resting position controls.
Claim 6
Dependent Claim 79 words
In a computer system having a video display device, the video display device having a screen, a method comprising the steps of: providing a plurality of controls on the screen of the video display device; identifying a control group, the control group being comprised of at least two controls; representing the control group with a single status indicator; and directing the activation of the controls of the control group by storing an active value in the single status indicator.
Claim 7
Dependent Claim 117 words
The method of claim 6 wherein the computer system further includes a cursor which is displayed on the screen of the video display device, the method further comprising the steps of: identifying a location on the screen that the cursor points to; and for each control of the control group, identifying a control position, the control position defining a location on the screen for the activated control, determining a control distance, the control distance defining a control connecting path which connects the identified location with the control position, calculating a control angle, the control angle being an angle formed between the control connecting path and a last direction of cursor movement path, and calculating a weighted distance.
Claim 8
Dependent Claim 130 words
In a computer system having a video display device, the video display device having a screen, a method comprising the steps of: receiving a request to register a control from an application program; registering a control in response to the received request; displaying the registered control on the screen of the video display device; determining a point of the displayed control, the point of the provided control identifying a location of the control on the screen of the video display device; displaying a subsequent item on the screen of the video display device; determining if the displayed subsequent item obscures the point of the provided control; and if the point of the displayed subsequent item obscures the provided control, designating the control as an invalid resting point for the cursor.
Claim 9
Dependent Claim 82 words
The method of claim 8 wherein the step of determining if the displayed subsequent item obscures the point of the provided control comprises the steps of: determining an original numerical identifier, wherein the original numerical identifier identifies a portion of the application program which requested to register the control; determining a current numerical identifier, wherein the current numerical identifier identifies an entity which currently surrounds the point of the displayed control; and comparing the current numerical identifier with the original numerical identifier.
Claim 10
Dependent Claim 228 words
In a computer system having a directional control device for controlling movements of a cursor, wherein the directional control device initiates cursor movements when actuated and does not effect cursor movements when released, the computer system further having a video display device, the video display device having a screen displaying a plurality of controls, a method for positioning the cursor on the screen of the video display device, the method comprising the steps of: identifying a location on the screen that the cursor points; determining a last direction of cursor movement path, wherein the last direction of cursor movement path identifies a direction that the cursor was moving immediately prior to a release of the directional control device; for each control, calculating an absolute distance for a control path, the control path connecting the identified location and the control, and calculating an angle formed between the control path and the last direction of movement path; determining a number of valid controls from the plurality of controls, each valid control being a control that constitutes a valid resting position for the cursor; for each determined valid control, calculating a weighted distance as a function of the calculated absolute distance of the valid control and the calculated angle of the valid control; determining the smallest weighted distance; and positioning the cursor on the control associated with the smallest weighted distance.
Claim 11
Dependent Claim 46 words
The method of claim 10 wherein the step of determining a number of valid controls comprises the steps of: selecting a skip angle value; and identifying as a valid control only those controls which have a calculated angle which is less than the skip angle value.
Claim 12
Dependent Claim 47 words
The method of claim 10 wherein the step of determining a number of valid controls comprises the step of: selecting a skip distance value; and identifying as a valid control only those controls which have a calculated absolute distance which is less than the skip distance value.
Claim 13
Dependent Claim 13 words
The method of claim 10 wherein the absolute distance is a Euclidean distance.
Claim 14
Dependent Claim 40 words
The method of claim 10, further comprising the steps of: selecting an angle importance value, wherein the selected angle importance value determines an importance given to the calculated angle relative to the calculated absolute distance in the weighted distance calculations.
Claim 15
Dependent Claim 51 words
The method of claim 14 wherein the step determining a number of valid controls comprises the steps of: selecting a skip angle value; selecting a skip distance value; and identifying as a valid control only those controls which have a calculated absolute distance which is less than the skip distance value.
Claim 16
Independent Claim 140 words
An apparatus for positioning a cursor on a video display device, the apparatus including: a plurality of controls wherein each control is displayed on a screen of a video display device; a computer wherein the computer is coupled to the video display device; a memory area formed within to the computer; a directional control device for moving the cursor on the screen of the video display device, the directional control device being coupled to the computer; a control distance identifier for storing a control distance in the memory area, the control distance defining a respective absolute distance between a current cursor position and a respective control; and a control manager for determining an ideal control from the plurality of controls and for automatically positioning the cursor on the determined ideal control, the control manager being contained in the memory area.
Claim 17
Dependent Claim 36 words
The apparatus of claim 16 wherein the control manager includes: a selection device for selecting a control from the plurality of controls, the selected control having a smallest respective absolute distance to the current cursor position.
Claim 18
Dependent Claim 52 words
The apparatus of claim 16, further including: a control angle identifier for storing a control angle in the memory area, the control angle defining a respective angle formed between a last direction of cursor movement path and a respective control path and wherein the control angle is stored within the memory area.
Claim 19
Dependent Claim 100 words
The apparatus of claim 18, further including: a skip angle identifier for storing a threshold angle value in the memory area, the threshold angle value being used for comparison with the control angle; wherein the control manager comprises a weighted distance calculator for calculating weighted distances for each of the plurality of controls, wherein the weighted distance calculator calculates the weighted distances using the absolute distances and the control angles as parameters; and wherein the control manager removes from consideration as a resting position for the cursor, any control having a control angle which is greater than the skip angle.
Claim 20
Dependent Claim 58 words
The apparatus of claim 18 wherein the control manager includes: a weighted distance calculator for calculating a weighted distance for each of the plurality of controls, the weighted distance specifying a respective distance connecting the current cursor position to a respective control as a function of a respective control angle and a respective absolute distance for each control.
Claim 21
Dependent Claim 51 words
The apparatus of claim 20, further including: an angle importance identifier for storing an angle importance weight value in the memory area, the angle importance value assigning a weight to be given to the respective control angle relative to the respective control distance in calculating the weighted distance for each control.
Claim 22
Dependent Claim 52 words
The apparatus of claim 16, further including: a skip distance identifier for identifying a threshold distance value for comparison with the control distance and wherein the control manager removes from consideration as a final resting position for the cursor, any control having a control distance which is greater than the skip distance.
Claim 23
Dependent Claim 28 words
The apparatus of claim 16, further including: an operating system, the operating system being contained in the memory areas and wherein the operating system includes the control manager.
Claim 24
Dependent Claim 33 words
The apparatus of claim 16 wherein the operating system includes: a device driver coupled between the computer and the video display device and wherein the control manager is contained within the device driver.
Claim 25
Independent Claim 79 words
An apparatus for activating and deactivating a control grouping, the control grouping being comprised of at least two controls and being displayed on a screen of a video display device of a computer system, the apparatus including: a memory formed within the computer system; and a control grouping identifier contained within the memory, wherein the control grouping identifier has an active state and an inactive state and wherein the control grouping identifier represents the controls of the control grouping.
Claim 26
Dependent Claim 17 words
The apparatus of claim 25 wherein the control grouping identifier is a bit of a control word.
Claim 27
Independent Claim 106 words
An apparatus for determining if a point defining a control is obscured by a subsequently displayed item, wherein the control is displayed on a video display device of a computer system, the control being displayed in response to a request from an application program, the subsequently displayed item having a bounded area and being displayed on the video display device, the apparatus including: a memory area contained within the computer system; and a testing device contained within the memory area of the computer system, wherein the testing device determines if the point of the control is contained within the bounded area of the subsequently displayed item.
Claim 28
Dependent Claim 60 words
The apparatus of claim 27 wherein the testing device includes: an original identifier, wherein the original identifier identifies a portion of the application program which was responsible for requesting the display of the control; a current identifier for identifying an entity which currently surrounds the registered control; and a comparing device for comparing the current identifier with the original identifier.
Claim 29
Independent Claim 219 words
An apparatus for positioning a cursor on a video display device, the video display device being coupled to a computer system, the computer system having a directional control device, the video display device displaying a plurality of controls, the apparatus including: a memory contained within the computer system; an absolute distance identifier contained within the memory of the computer system, wherein the absolute distance identifier stores an absolute distance of a control path, the control path connecting a current cursor position to one of the plurality of controls; a control angle identifier contained within the memory of the computer system, wherein the control angle identifier stores an angle formed between the control path and a last direction of cursor movement path; a calculating device contained within the memory computer system for calculating a weighted distance, the weighted distance identifying a distance from the current cursor position to one of the plurality of controls, and wherein the calculating device calculates the weighted distance using the absolute distance and the control angle as parameters; and a positioning device contained within the memory of the computer system for positioning the cursor on an ideal control, the ideal control being one of the plurality of controls and the ideal control having a weighted distance which is smaller than that of every other control.
Claim 30
Dependent Claim 45 words
The apparatus of claim 29 wherein the calculating device includes: an angle importance value contained within the memory of the computer system, wherein the angle importance value determines an importance given to the control angle relative to the absolute distance in the weighted distance calculations.
Claim 31
Dependent Claim 60 words
The apparatus of claim 30, the apparatus further including: a skip angle value contained within the memory of the computer system; and an invalid angle designator contained within the memory of the computer system, wherein the invalid angle designator designates each control whose calculated angle is more than the skip angle value as an invalid resting point for the cursor.
Claim 32
Dependent Claim 60 words
The apparatus of claim 31, the apparatus further including: a skip distance value contained within the memory of the computer system; and an invalid distance designator contained within the memory of the computer system, wherein the invalid distance designator designates each control whose absolute distance is more than the skip distance value as an invalid resting point for the cursor.
Claim 33
Dependent Claim 113 words
In a computer system having a directional control device for controlling movements of a cursor, wherein the directional control device initiates cursor movements when actuated and does not effect cursor movements when released, the computer system further having a video display device, the video display device having a screen displaying a plurality of controls, a method for positioning the cursor on the screen of the video display device, the method comprising the steps of: calculating a weighted distance for each of the plurality of controls; identifying a control having a smallest calculated weighted distance as an ideal control; and positioning the cursor on the ideal control when the directional control device is released.
Claim 34
Dependent Claim 105 words
The method of claim 33 wherein the step of calculating a weighted distance for each of the plurality of controls comprises the steps of: identifying a location on the screen that the cursor points to; determining, relative to the identified location, a direction of cursor movement; determining, relative to the identified location, a direction to the control; calculating an angle formed between the determined direction of cursor movement and the determined direction to the control; calculating, relative to the identified location, a distance to the control; and calculating the weighted distance for the control as a function of the calculated angle and the calculated distance.
Claim 35
Dependent Claim 90 words
The method of claim 33 wherein the step of calculating a weighted distance for each of the plurality of controls comprises the steps of: identifying a location on the screen that the cursor points to; determining, relative to the identified location, a direction of cursor movement; determining, relative to the identified location, a direction to the control; calculating an angle formed between the determined direction of cursor movement and the determined direction to the control; and calculating the weighted distance for the control as a function of the calculated angle.
Claim 36
Dependent Claim 61 words
The method of claim 33 wherein the step of calculating a weighted distance for each of the plurality of controls comprises the steps of: identifying a location on the screen that the cursor points to; calculating, relative to the identified location, a distance to the control; and calculating the weighted distance for the control as a function of the calculated distance.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag