Cursor tracking
First Claim
1. In an integrated keyboard coupled to a display having a cursor, the keyboard having an array of typing keyswitches that includes a multi-purpose pointing key and a plurality of force sensors coupled to the pointing key, each force sensor having an associated direction and the force sensors providing sensor signals having a non-inear relationship to force applied to the force sensors, a method of acquiring pointing signals for repositioning the cursor comprising the steps of:
- providing means in the keyboard for selecting one at a time of a typing mode of operation for acquiring typing signals and a pointing mode of operation for acquiring pointing signals;
when the keyboard is not in pointing mode, periodically scanning each of the force sensors to acquire a corresponding force signal defining a sensor bias signal;
during a pointing operation, periodically scanning each of the force sensors to acquire a corresponding force signal defining a pointing signal;
linearizing the acquired sensor bias signals and the acquired pointing signals so that the linearized signals have a generally linear relationship to force applied to the sensors at the time said signals were acquired;
deducting each linearized force sensor bias signal from the corresponding linearized pointing signal to form respective net pointing signals;
combining the net pointing signals according to the associated directions of the corresponding force sensors; and
repositioning the cursor responsive to the combined net pointing signals.
8 Assignments
0 Petitions
Accused Products
Abstract
In a cursor tracking system (FIG. 11), a pointing device includes a plurality of force sensors (304), optionally integrated with a keyswitch on a computer keyboard. The force sensors detect lateral and vertical forces applied to the keycap (300) by a user (302) for cursor control. Raw force data is acquired by A/D apparatus (306) and transmitted (310,312) to a host processor. Driver level software in the host linearizes the raw force values (316, FIG. 12D) to compensate for anomolies and nonlinearities in the force sensors, keyboard mechanics, and A/D. The resulting linear force values are adjusted (320) to compensate for preloading bias forces (318) on the sensors. The unbiased, linear force values and sensor configuration (322) are used to determine a net XY vector (324, FIG. 16). A speed value is determined by a quadratic mapping of the XY vector magnitude (328), taking mouse button status into account. The speed value is scaled by a speed factor, clamped according to a speed limit value, and the result used to determine a total displacement value which, in turn, is used to scale the XY vectors to determine X and Y cursor displacement for repositioning the cursor. The quadratic mapping coefficients, as well as the speed factor and speed limit values, are user-alterable at run time, to allow customizing the response of the cursor tracking system. The result is a low-cost pointing system having excellent responsiveness for ergonomic efficiency. The system is useful in most computer systems, such as IBM AT-compatible systems, to allow pointing operations without use of a separate pointing device such as a mouse.
129 Citations
27 Claims
-
1. In an integrated keyboard coupled to a display having a cursor, the keyboard having an array of typing keyswitches that includes a multi-purpose pointing key and a plurality of force sensors coupled to the pointing key, each force sensor having an associated direction and the force sensors providing sensor signals having a non-inear relationship to force applied to the force sensors, a method of acquiring pointing signals for repositioning the cursor comprising the steps of:
-
providing means in the keyboard for selecting one at a time of a typing mode of operation for acquiring typing signals and a pointing mode of operation for acquiring pointing signals; when the keyboard is not in pointing mode, periodically scanning each of the force sensors to acquire a corresponding force signal defining a sensor bias signal; during a pointing operation, periodically scanning each of the force sensors to acquire a corresponding force signal defining a pointing signal; linearizing the acquired sensor bias signals and the acquired pointing signals so that the linearized signals have a generally linear relationship to force applied to the sensors at the time said signals were acquired; deducting each linearized force sensor bias signal from the corresponding linearized pointing signal to form respective net pointing signals; combining the net pointing signals according to the associated directions of the corresponding force sensors; and repositioning the cursor responsive to the combined net pointing signals.
-
-
2. In a cursor control system, a method of converting forces applied by a user to cursor displacement data for controlling cursor repositioning on a display screen, comprising the steps of:
-
providing a force-sensitive pointing device including a plurality of force sensors each having a respective associated direction, for receiving external forces applied by a user pressing on the pointing device; applying a bias force to each of the force sensors so that each sensor exhibits a bias electrical signal while no external force is applied to the pointing device by the user; while no external force is applied to the pointing device, acquiring sensor signals from each of the pointing device force sensors, thereby determining respective force sensor bias signals; while an external force is applied to the pointing device by the user, acquiring sensor signals from each of the pointing device force sensors, thereby determining respective raw force signals, the raw force sensor signals having a non-linear relationship to the applied external force; linearizing the force sensor bias signals and the raw force signals so as to form linearized bias signals and linearized raw force signals, respectively, each having a generally linear relationship to the bias signals and the raw force signals, respectively; compensating each of the linearized raw force signals responsive to the corresponding linearized bias signals to form linearized, unbiased force values; combining the linearized, unbiased force values according to their associated directions so as to form a horizontal signal and a vertical signal; and repositioning the cursor in the horizontal and vertical directions on the display screen, responsive to the horizontal and vertical signals, respectively. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A graphic cursor positioning device comprising:
-
force sensor means responsive to operator actuation to generate a first pair of cursor movement electrical signals, each of the first pair of cursor movement electrical signals having an associated direction; signal processing means acting upon the first pair of cursor movement signals to produce a corresponding second pair of cursor movement signals; display means for presenting a moveable cursor; cursor generating means connected to said display means so as to cause movement of said cursor in correspondence to said second pair of cursor movement signals; said signal processing means including means for providing differing time response characteristics of said cursor movement in correspondence to said operator actuation, the time response including a faster cursor movement while the operator actuation is a repositioning operation and a slower cursor movement while the operator actuation is a dragging operation. - View Dependent Claims (13)
-
-
14. In a cursor control system, a method of converting forces applied by a user to cursor displacement data for controlling cursor motion on a display screen, comprising the steps of:
-
providing a force-sensitive pointing device including a plurality of force sensors each having a respective associated direction, for receiving external forces applied by a user; biasing the pointing device by applying a bias force to each of the force sensors so that each sensor exhibits a bias force when no force is applied by the user; while no external force is applied to the pointing device, acquiring sensor data from each of the pointing device force sensors, thereby determining force sensor bias values; while external force is applied to the pointing device by the user, acquiring sensor data comprising raw force values from each of the pointing device force sensors; linearizing each raw force value to form a linear force value, said linearizing step including; providing a predetermined linearization square coefficient (LINSQ); providing a predetermined linearization offset coefficient, (LINOFF); and computing the linear force value according to the formula;
space="preserve" listing-type="equation">LFV=(RAW.sup.2 ×
LINSQ)+LINOFFwhere LFV represents the linear force value, RAW represents the raw force value, LINSQ represents the linearization square factor, and LINOFF represents the linearization offset factor; compensating each of the linear force values responsive to the corresponding force sensor bias value to form a corresponding unbiased force value; and
then combining the unbiased force values according to their associated directions so as to form a horizontal signal and a vertical signal for repositioning the cursor in the horizontal and vertical directions, respectively, on tbhe display screen.
-
-
15. In a cursor control system, a method of converting forces applied by a user to cursor displacement data for controlling cursor motion on a display screen, comprising the steps of:
-
providing a force-sensitive pointing device for receiving external forces applied by the use, the pointing device having four orthogonal force sensors disposed offset forty-five degrees from a predetermined cartesian coordinate system, so that each of the force sensors corresponds to one of NE,SE,SW and NW directions relative to the cartesian coordinate system; biasing the pointing device by applying a bias force to each of the force sensors so that each sensor exhibits a bias force when no force is applied by the user while no external force is applied to the pointing device, acquiring sensor data from each of the pointing device force sensors, thereby determining force sensor bias values; while external force is applied to the pointing device by the user acquiring sensor data comprising raw force values from each of the pointing device force sensors; compensating each of the force values responsive to the corresponding force sensor bias value to form a corresponding unbiased force value; and combining the unbiased sensor force values to form X and Y vectors by computing the X and Y vectors according to the formulae;
space="preserve" listing-type="equation">X=(NE+SE)-(NW+SW) and Y=(NE+NW)-(SW+SE)for repositioning the cursor in the horizontal and vertical directions, respectively, on the display screen.
-
-
16. A method of controlling cursor motion on a display screen to move the cursor in an ergonomically efficient manner responsive to a lateral force applied by a user pressing a pointing device, the method comprising:
-
providing first and second force sensors in the pointing device, the first sensor responsive to force applied in a first direction and the second sensor responsive to force applied in a second direction angularly offset from the first direction; sensing the user-applied force in the first sensor to form a first analog electrical signal representing force applied along the first direction; converting the first analog electrical signal to a first digital signal representing a first raw force sensor value; sensing the user-applied force in the second sensor to form a second analog electrical signal representing force applied along the second direction; converting the second analog electrical signal to a second digital signal representing a second raw force sensor value; linearizing each of the first and second raw force sensor values so as to compensate for non-linearities inherent in the force sensors, keycap mechanics and in said converting step, thereby forming first and second linear force values, respectively, that are substantially linearly related to the force applied to the pointing device by the user; converting the first and second linear force values to form net X and net Y force values, where the net X force value represents a component of the user-applied force along a horizontal axis corresponding to a horizontal line on the display screen and the net Y force value represents a component of the user-applied force along a vertical axis corresponding to a vertical line on the display screen; combining the net X force value and the net Y force value to form an XY magnitude value that reflects the total lateral force applied by the user; determining a speed factor; multiplying each of the net X force value and net Y force value by the speed factor to determine x and y cursor displacement values, respectively; repositioning the cursor on the display screen by a horizontal and vertical offsets corresponding to the x and y displacement values, respectively; and periodically repeating said repositioning step, thereby moving the cursor on the display screen with an apparent speed and direction responsive to the user-applied force. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A keyboard for use in combination with a computer having a cursor visible on a display screen, the keyboard comprising:
-
an array of keyswitches each having a keycap; force sensor means coupled to a selected one of the keycaps and responsive to a user pressing on the selected keycap for generating at least two electrical signals, each electrical signal associated with a corresponding direction; and signal processing means for controlling movement of the cursor on the display screen responsive to the electrical signals; said signal processing means including means for providing differing time response characteristics of said cursor movement responsive to the said user pressing on the keycap, the time response including a faster cursor movement while the user is a conducting a cursor repositioning operation and a slower cursor movement while the user is conducting a cursor dragging operation.
-
-
27. A computer system comprising:
-
a display screen having means for displaying a cursor; a keyboard having an array of keyswitches, each of the keyswitches having a keycap coupled thereto; force sensor means in the keyboard coupled to a selected one of the keycaps and responsive to a user pressing on the selected keycap for generating at least two electrical signals, each electrical signal associated with a corresponding direction on the display screen; and signal processing means coupled to the force sensor means for repositioning the cursor on the display screen in the corresponding directions in response to the electrical signals; said signal processing means including means for providing differing time response characteristics of said cursor movement responsive to the said user pressing on the keycap, the time response including a faster cursor movement while the user is a conducting a cursor repositioning operation and a slower cursor movement while the user is conducting a cursor dragging operation.
-
Specification