IP Library Granted Patent US 10,402,042
Granted Patent B2
US 10,402,042 · App. 15/181,095 · Granted Sep 3, 2019

Force vector cursor control

Inventors: Matthew Joseph Geary (Raleigh, NC); Lincoln Penn Hancock (Raleigh, NC); Wesley Abram Luttrell (Raleigh, NC); Christopher Miles Osborne (Cary, NC); Jeffrey E. Skinner (Raleigh, NC); Thomas John Sluchak (Apex, NC); Aaron Michael Stewart (Raleigh, NC); Jonathan Jen-Wei Yu (Raleigh, NC)
Assignee: Lenovo (Singapore) PTE. LTD.
G06F3/04812G06F3/038G06F3/03547G06F3/0414G06F3/0416G06F3/0488G06F3/04883G06F2203/04105
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 10,402,042
App. No.
15/181,095
Granted
Sep 3, 2019
Kind
B2
Abstract

For controlling a cursor using a force vector input by a user touch, an apparatus is disclosed. A system, method, and program product also perform the functions of the apparatus. The apparatus for controlling a cursor using a force vector input by a user touch includes a force sensor operatively coupled to a surface, a processor, and a memory that stores code executable by the processor to: measure a force vector input by a user touch at the surface, the force vector including a magnitude and a direction, translate the magnitude into a cursor velocity, and control movements of a cursor based on the cursor velocity and the determined direction.

Claims (70)

1. An apparatus comprising:

a force sensor operatively coupled to a surface;

a touch sensor operatively coupled to the surface, the touch sensor measuring a touch location of the user touch;

a processor;

a memory that stores code executable by the processor to:

measure a force vector input by a user touch at the surface, the force vector including a magnitude and a direction;

monitor an amount of movement corresponding to the user touch;

monitor an amount of time corresponding to the user touch;

translate the magnitude into a cursor velocity;

switch to a pressure-based cursor control mode in response to an amount of force corresponding to the user touch exceeding a threshold amount of force, the amount of time exceeding a threshold amount of time, and the amount of movement corresponding to the user touch not exceeding a threshold amount of movement;

switch to a position-based cursor control mode in response to the amount of movement exceeding the threshold amount of movement and the amount of time exceeding a threshold amount of time; and

control movement of a cursor based on the cursor velocity and the direction of the force vector in response to switching to the pressure-based cursor control mode.

2. The apparatus of claim 1 , wherein measuring the force vector comprises the processor:

determining a finger tilt corresponding to the force vector input; and

computing a direction component based on the finger tilt.

3. The apparatus of claim 1 , wherein measuring the force vector comprises the processor:

determining a contact area corresponding to the force vector input, the contact area corresponding to an area of the surface being touched; and

computing a direction component based on a geometry of the contact area.

4. The apparatus of claim 1 , wherein measuring the force vector comprises the processor:

detecting two or more simultaneously input force vectors;

selecting a gesture command based on the simultaneously input force vectors; and

controlling a user interface based on the selected gesture command.

5. The apparatus of claim 1 , wherein the touch location indicates a location on the surface corresponding to the user touch, wherein the processor further:

designates a button region on the surface based on the touch location; and

controls a user interface based on one or more additional touches at the button region.

6. The apparatus of claim 1 , wherein the processor further dynamically switches between a position-based cursor control mode and pressure-based cursor control mode based on user input.

7. The apparatus of claim 1 , wherein the surface comprises a designated region, wherein the processor further:

determines whether a user is touching the designated region, the designated region being selected from the group consisting of: a visually marked region, a protruding region, and a textured region,

wherein measuring the force vector occurs in response to the user touching the designated region.

8. A method comprising:

measuring, by use of a processor, a force vector input by a user touch at a surface;

monitoring an amount of movement corresponding to the user touch;

monitor an amount of time corresponding to the user touch;

mapping a magnitude of the force vector into a cursor velocity;

switching to a pressure-based cursor control mode in response to the magnitude of the force vector exceeding a threshold amount of force, the amount of time exceeding a threshold amount of time, and the amount of movement corresponding to the user touch not exceeding a threshold amount of movement;

switching to a position-based cursor control mode in response to the amount of movement exceeding the threshold amount of movement and the amount of time exceeding a threshold amount of time; and

controlling movements of a cursor using the cursor velocity and a direction of the force vector in response to switching to the pressure-based cursor control mode.

9. The method of claim 8 , further comprising:

identifying a touch location on the surface corresponding to the user-input force vector;

designating a button region on the surface based on the touch location; and

controlling a user interface based on one or more additional touches at the button region.

10. The method of claim 8 , wherein measuring the force vector comprises:

determining a finger tilt corresponding to the force vector input; and

computing a direction component based on the finger tilt.

11. The method of claim 8 , wherein measuring the force vector comprises:

determining a contact area corresponding to the user touch, the contact area corresponding to an area of the surface being touched; and

computing a direction component based on a geometry of the contact area.

12. The method of claim 8 , wherein measuring the force vector comprises:

detecting two or more simultaneously input force vectors;

selecting a gesture command based on the simultaneously input force vectors; and

controlling a user interface based on the selected gesture command.

13. The method of claim 8 , further comprising switching dynamically between the position-based control mode of the cursor and the force-based control mode of the cursor based on user input.

14. A program product comprising a computer readable storage medium that is not a transitory signal and that stores code executable by a processor, the executable code comprising code to:

measure a force vector input by a user touch at a surface, the force vector comprising a perpendicular component and a parallel component, wherein the perpendicular component represents an amount of force applied in a direction perpendicular to the surface and the parallel component represents an amount of force applied in a direction parallel to the surface;

measure a touch location of the user touch and an amount of movement corresponding to the user touch;

monitor an amount of time corresponding to the user touch;

translate a magnitude of the perpendicular component of the force vector into a cursor velocity, wherein translating the magnitude into a cursor velocity comprises using one of a linear mapping of magnitude to cursor velocity and a non-linear mapping of magnitude to cursor velocity; and

control movements of a cursor according to a position-based control mode in response to the amount of movement exceeding a threshold amount of movement and the amount of time exceeding a threshold amount of time; and

controls movements of the cursor according to a pressure-based control mode in response to an amount of force corresponding to the user touch exceeding a threshold amount of force, the amount of time exceeding a threshold amount of time, and the amount of movement corresponding to the user touch not exceeding a threshold amount of movement,

wherein controlling movements of the cursor according to a pressure-based control mode comprises moving the cursor using the cursor velocity and a direction of the parallel component of the force vector.

15. The program product of claim 14 , further comprising code to:

identify a touch location on the surface corresponding to the user-input force vector;

designate a button region on the surface based on the touch location; and

control a user interface based on one or more additional touches at the button region.

16. The program product of claim 14 , further comprising code to:

switch dynamically between a position-based control mode of the cursor and a force-based control mode of the cursor based on user input.

17. The program product of claim 14 , further comprising code to:

determine whether a user is touching a designated region of the surface, wherein measuring the force vector occurs in response to the user touching the designated region.

18. The apparatus of claim 1 , wherein the processor controls movement of the cursor based on the amount of movement corresponding to the user touch in response to switching to the position-based cursor control mode.

19. The apparatus of claim 1 , wherein translating the magnitude into a cursor velocity comprises using a non-linear mapping of magnitude to cursor velocity.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO PC INTERNATIONAL LIMITED
To: LENOVO SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069870/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2020
From: LENOVO (SINGAPORE) PTE LTD
To: LENOVO PC INTERNATIONAL LTD
Reel/Frame 052931/0633 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2016
From: GEARY, MATTHEW JOSEPH; HANCOCK, LINCOLN PENN; LUTTRELL, WESLEY ABRAM; OSBORNE, CHRISTOPHER MILES; SKINNER, JEFFREY E.; SLUCHAK, THOMAS JOHN; STEWART, AARON MICHAEL; YU, JONATHAN JEN-WEI
To: LENOVO (SINGAPORE) PTE. LTD.
Reel/Frame 038909/0847 →
Continuity (1)
Related Publication 20170357403A1 · Dec 14, 2017