IP Library Granted Patent US 8,049,733
Granted Patent B2
US 8,049,733 · App. 11/837,154 · Granted Nov 1, 2011

Blended transfer function for computer pointing devices

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,049,733
App. No.
11/837,154
Granted
Nov 1, 2011
Kind
B2
Abstract

A transfer function is provided for use with computer pointing devices such as trackpads. The transfer function includes a first component having characteristics of a positional transfer function and a second component having characteristics of a velocity-based transfer function. The first (positional) component and the second (velocity-based) component of the transfer function are blended so that the transfer function exhibits purely positional behavior in response to a first range of inputs and exhibits combined positional and velocity-based behavior in response to a second range of inputs. The first range of inputs may, for example, correspond to a region in the input coordinate space that is bounded by a circle having a predetermined threshold radius.

Claims (87)

1. A computer-implemented method for use with a pointing device for providing input to a computing device, the method comprising:

determining whether input coordinates of an input vector are within a first region of an input coordinate space, the input coordinate space being associated with the pointing device and comprising the first region and a second region; and

if the input coordinates are determined not to be within the first region, then:

selecting a first transfer function, the first transfer function comprising a non-constant function relating the input vector to velocity; and

selecting a position and velocity of an on-screen pointer based on the first transfer function;

wherein:

the first transfer function relating to the position p of the on-screen pointer to the input vector r using the formula:

p=h+kp*r,

h comprises a vector representing a center of a positional range of the pointer,

kp comprises a positional gain, and the first transfer function relates the velocity dh/dt of the on-screen pointer to the input vector r using the formula:

dh/dt=kv*r , and

kv comprises a velocity gain.

2. The method of claim 1 , further comprising:

if the input coordinates are determined to be within the first region, then:

selecting a second transfer function; and

selecting the position and velocity of the on-screen pointer based on the second transfer function.

3. The method of claim 2 , wherein the second transfer function relates the position p of the on-screen pointer to the input vector r using the formula:

p=h+kp*r,

wherein h comprises a vector representing a center of a positional range of the pointer,

wherein kp comprises a positional gain, and wherein the second transfer function relates the velocity dh/dt of the center of the positional range of the pointer to the input vector r using the formula:

dh/dt= 0.

4. The method of claim 3 , further comprising:

identifying coordinates of the on-screen pointer upon commencement of a pointing operation; and

setting the coordinates of the home vector h equal to the identified coordinates.

5. The method of claim 1 , further comprising steps of:

identifying coordinates of the on-screen pointer upon commencement of a pointing operation; and

setting the coordinates of the home vector h equal to the identified coordinates.

6. The method of claim 1 , wherein the first region comprises a region bounded by a rectangle.

7. The method of claim 1 ,

wherein the first region comprises a region within a first transition radius of a center of the input coordinate space associated with the pointing device.

8. An apparatus for use with a pointing device for providing input to a computing device, the apparatus comprising:

determination means for determining whether input coordinates of an input vector are within a first region of an input coordinate space, the input coordinate space being associated with the pointing device and comprising the first region and a second region; and

first selection means for selecting a first transfer function and selecting a position and velocity of an on-screen pointer based on the first transfer function if the input coordinates are determined not to be within the first region, the first transfer function comprising a non-constant function relating the input vector to velocity;

wherein:

the first transfer function relates the position p of the on-screen pointer to the input vector r using the formula:

p=h+kp*r,

h comprises a vector representing a center of a positional range of the pointer,

kp comprises a positional gain, and the first transfer function relates the velocity dh/dt of the on-screen pointer to the input vector r using the formula:

dh/dt=kv*r, and

kv comprises a velocity gain.

9. The apparatus of claim 8 , further comprising:

second selection means for selecting a second transfer function and selecting the position and velocity of the on-screen pointer based on the second transfer function if the input coordinates are determined to be within the first region.

10. The apparatus of claim 9 , wherein the second transfer function relates the position p of the on-screen pointer to the input vector r using the formula:

p=h+kp*r,

wherein h comprises a vector representing a center of a positional range of the pointer,

wherein kp comprises a positional gain, and

wherein the second transfer function relates the velocity dh/dt of the center of the positional range of the pointer to the input vector r using the formula:

dh/dt= 0.

11. The apparatus of claim 10 , further comprising:

means for identifying coordinates of the on-screen pointer upon commencement of a pointing operation; and

means for setting the coordinates of the home vector h equal to the coordinates identified by the means for identifying.

12. The apparatus of claim 8 , further comprising:

means for identifying coordinates of the on-screen pointer upon commencement of a pointing operation; and

means for setting the coordinates of the home vector h equal to the identified coordinates.

13. The apparatus of claim 8 , wherein the first region comprises a region bounded by a rectangle.

14. The apparatus of claim 8 , wherein the first region comprises a region within a first transition radius of a center of the input coordinate space associated with the pointing device.

15. The method of claim 8 , wherein the first region comprises a region within a first transition radius of a center of the input coordinate space associated with the pointing device.

16. A computer-implemented method for use with a pointing device for providing input to a computing device, the method comprising:

determining whether input coordinates of an input vector are within a first region of an input coordinate space, the input coordinate space being associated with the pointing device and comprising the first region and a second region; and

if the input coordinates are determined to be within the first region, then:

selecting a first transfer function; and

selecting the position and velocity of the on-screen pointer based on the first transfer function;

wherein:

the first transfer function relates the position p of the on-screen pointer to the input vector r using the formula:

p=h+kp*r,

h comprises a vector representing a center of a positional range of the pointer, and

kp comprises a positional gain, and the first transfer function relates the velocity dh/dt of the center of the positional range of the pointer to the input vector r using the formula:

dh/dt= 0.

17. The method of claim 16 , further comprising:

identifying coordinates of the on-screen pointer upon commencement of a pointing operation; and

setting the coordinates of the home vector h equal to the identified coordinates.

18. The method of claim 16 , wherein the first region comprises a region bounded by a rectangle.

19. The apparatus of claim 16 , wherein the first region comprises a region bounded by a rectangle.

20. An apparatus for use with a pointing device for providing input to a computing device, the apparatus comprising:

determination means for determining whether input coordinates of an input vector are within a first region of an input coordinate space, the input coordinate space being associated with the pointing device and comprising the first region and a second region; and

first selection means for selecting a first transfer function and selecting a position and velocity of an on-screen pointer based on the first transfer function if the input coordinates are determined to be within the first region,

wherein:

the first transfer function relates the position p of the on-screen pointer to the input vector r using the formula:

p=h+kp*r,

h comprises a vector representing a center of a positional range of the pointer,

kp comprises a positional gain, and

the first transfer function relates the velocity dh/dt of the center of the positional range of the pointer to the input vector r using the formula:

dh/dt= 0.

21. The apparatus of claim 20 , further comprising:

means for identifying coordinates of the on-screen pointer upon commencement of a pointing operation; and

means for setting the coordinates of the home vector h equal to the coordinates identified by the means for identifying.

22. The apparatus of claim 20 , wherein the first region comprises a region within a first transition radius of a center of the input coordinate space associated with the pointing device.

Assignments (10)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2011
From: ZETTA RESEARCH, LLC
To: GOOGLE INC.
Reel/Frame 025722/0470 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE, CONVEYING PARTY DATA AND RECEIVING PARTY DATA SECTIONS PREVIOUSLY RECORDED ON REEL 025689 FRAME 0593. ASSIGNOR(S) HEREBY CONFIRMS THE CONVEYANCE:RELEASE BY SECURED PARTY,CON PARTY:AZURE VENTURE PARTNERS I,LP,AS COLLATERAL AGENT,RECVING PARTY:OQO, INC.. Recorded Jan 26, 2011
From: AZURE VENTURE PARTNERS I, LP, AS COLLATERAL AGENT
To: OQO, INC.
Reel/Frame 025700/0682 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE, CONVEYING PARTY DATA AND RECEIVING PARTY DATA SECTIONS PREVIOUSLY RECORDED ON REEL 025689 FRAME 0553. ASSIGNOR(S) HEREBY CONFIRMS THE CONVEYANCE:RELEASE BY SECURED PARTY,CON PARTY:AZURE VENTURE PARTNERS I,LP,AS COLLATERAL AGENT,RECVING PARTY:OQO, INC.. Recorded Jan 26, 2011
From: AZURE VENTURE PARTNERS I, LP, AS COLLATERAL AGENT
To: OQO, INC.
Reel/Frame 025700/0739 →
SECURITY AGREEMENT Recorded Jan 25, 2011
From: OQO, INC.
To: AZURE VENTURE PARTNERS I, LP, AS COLLATERAL AGENT
Reel/Frame 025689/0593 →
SECURITY AGREEMENT Recorded Jan 25, 2011
From: OQO, INC.
To: AZURE VENTURE PARTNERS I, LP, AS COLLATERAL AGENT
Reel/Frame 025689/0553 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2011
From: BETTS-LACROIX, JONATHAN
To: OQO INCORPORATED
Reel/Frame 025643/0218 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2010
From: OQO (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
To: ZETTA RESEARCH, LLC
Reel/Frame 024981/0267 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2010
From: OQO, INC.
To: OQO (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 024981/0193 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2010
From: AZURE VENTURE PARTNERS I, L.P.
To: OQO, INC.
Reel/Frame 024974/0130 →