IP Library Granted Patent US 9,870,080
Granted Patent B2
US 9,870,080 · App. 14/858,686 · Granted Jan 16, 2018

Method, system, and device for controlling a cursor or user interface action as a function of touch and force input

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 9,870,080
App. No.
14/858,686
Granted
Jan 16, 2018
Kind
B2
Abstract

A method for controlling a user interface using an indirect input device includes determining a first touchdown location of an input object, determining a first subsequent location of the input object, calculating a first direction and a first distance between the first touchdown location and the first subsequent location, and moving a cursor representation on a display in a second direction and at a velocity. The method further includes detecting a touchdown event of at least two input objects, determining a second touchdown location of the at least two input objects, determining a second subsequent location of the at least two input objects, calculating a third direction and a second distance from the second touchdown location and the second subsequent location, and modulating a user interface action in a fourth direction at a magnitude.

Claims (86)

1. A method for controlling a user interface using an indirect input device, the method comprising:

determining a first touchdown location of an input object;

determining a first subsequent location of the input object;

calculating a first direction and a first distance between the first touchdown location and the first subsequent location;

moving a cursor representation on a display in a second direction and at a first velocity, the second direction defined by the first direction, the first velocity based on the first distance and a first force imparted by the input object on an input surface;

determining a second subsequent location of the input object;

calculating a third direction and a second distance between the first subsequent location and the second subsequent location;

determining that a second force imparted by the input object on the input surface at the second subsequent location is below a force threshold, the second force being less than the first force;

moving the cursor representation on the display in a fourth direction and at a second velocity when the second force is below the force threshold, the fourth direction defined by the third direction, wherein the second velocity is based only on the second distance and while ignoring a magnitude of the second force;

detecting a touchdown event of at least two input objects;

determining a second touchdown location of the at least two input objects;

determining a third subsequent location of the at least two input objects;

calculating a fifth direction and a third distance from the second touchdown location and the third subsequent location; and

modulating a user interface action in a sixth direction at a magnitude of the user interface action, wherein the sixth direction is based on the fifth direction, and wherein the magnitude of the user interface action is based on the third distance and a third force imparted onto the input surface.

2. The method of claim 1 , wherein the velocity being based on the first force comprises:

determining whether the first force is greater than the force threshold, and

changing the velocity according to a monotonically increasing function of the first force when the first force is greater than the force threshold.

3. The method of claim 1 , further comprising:

suppressing moving the cursor representation until the first distance is greater than a modulation threshold.

4. The method of claim 1 , further comprising:

suppressing moving the cursor representation until the first force is greater than a modulation threshold.

5. The method of claim 1 , further comprising:

suppressing moving the cursor representation based on a current graphical user interface context.

6. The method of claim 1 , further comprising:

stopping moving the cursor representation when the input object is absent from the input surface.

7. The method of claim 1 , further comprising:

stopping moving the cursor representation when the first force is less than a modulation threshold.

8. The method of claim 1 , further comprising:

monotonically decreasing the moving of the cursor representation when the input object is absent from the input surface.

9. The method of claim 1 , wherein the user interface action comprises at least one selected from a group consisting of scrolling and zooming.

10. The method of claim 1 , further comprising:

ceasing the user interface action when at least one of the at least two input objects is absent from the input surface.

11. The method of claim 1 , further comprising:

ceasing the user interface action when the second force is less than a modulation threshold.

12. The method of claim 1 , further comprising:

monotonically decreasing the modulating of the user interface action when at least one of the at least two input objects is absent from the input surface.

13. The method of claim 1 , further comprising:

monotonically decreasing the modulating of the user interface action when the third force is below a threshold.

14. The method of claim 1 , further comprising:

continuing to modulate the user interface action after the at least two input objects are absent from the input surface.

15. A processing system for controlling a user interface using an indirect input device, comprising:

a sensor module comprising sensor circuitry coupled to a plurality of sensor electrodes, the sensor module configured to transmit transmitter signals and receive resulting signals with at least a portion of the plurality of sensor electrodes; and

a processing circuitry operatively connected to the plurality of sensor electrodes and configured to:

determine a first touchdown location of an input object,

determine a first subsequent location of the input object,

calculate a first direction and a first distance between the first touchdown location and the first subsequent location,

move a cursor representation on a display in a second direction and at a first velocity, the second direction defined by the first direction, the first velocity based on the first distance and a first force imparted by the input object on the input surface,

determine a second subsequent location of the input object;

calculate a third direction and a second distance between the first subsequent location and the second subsequent location;

determine that a second force imparted by the input object on the input surface at the second subsequent location is below a force threshold, the second force being less than the first force;

move the cursor representation on the display in a fourth direction and at a second velocity when the second force is below the force threshold, the fourth direction defined by the third direction, wherein the second velocity is based only on the second distance and while ignoring a magnitude of the second force;

detect a touchdown event of at least two input objects,

determine a second touchdown location of the at least two input objects,

determine a third subsequent location of the at least two input objects,

calculate a fifth direction and a third distance from the second touchdown location and the third subsequent location, and

modulate a user interface action in a sixth direction at a magnitude of the user interface action, wherein the sixth direction is based on the fifth direction, and wherein the magnitude of the user interface action is based on the third distance and a third force imparted onto the input surface.

16. The processing system of claim 15 , wherein the processing circuitry is further configured to:

individually determining the third force for each input object of the at least two input objects to obtain at least two individually determined forces, wherein modulating the user interface action is based on the at least two individually determined forces.

17. The processing system of claim 15 , wherein the velocity being based on the first force comprises:

applying a function to the first force and the first distance to obtain the velocity.

18. The processing system of claim 15 , wherein calculating the fifth direction comprises:

determining an antecedent landed input object of the at least two input objects, and

calculating a direction of a vector between the second touchdown location of the antecedent landed input object and the third subsequent location of the antecedent landed input object.

19. The processing system of claim 15 , wherein calculating the fifth direction is based on the second touchdown location and the third subsequent location of both of the at least two input objects.

20. The processing system of claim 19 , wherein calculating the fifth direction comprises calculating an average of the second touchdown location and the third subsequent location of both of the at least two input objects.

21. The processing system of claim 15 , wherein calculating the second distance comprises:

determining an antecedent landed input object of the at least two input objects, and

determining the third distance between the second touchdown location of the antecedent landed input object and the third subsequent location of the antecedent landed input object.

22. The processing system of claim 15 , wherein calculating the third distance is based on the second touchdown location and the third subsequent location of both of the at least two input objects.

23. The processing system of claim 15 , wherein calculating the third distance comprises calculating an average of the second touchdown location and the third subsequent location of both of the at least two input objects.

24. An indirect input device comprising:

a plurality of sensor electrodes configured to generate sensing signals; and

a processing system connected to the plurality of sensor electrodes and configured to:

determine a first touchdown location of an input object,

determine a first subsequent location of the input object,

calculate a first direction and a first distance between the first touchdown location and the first subsequent location,

move a cursor representation on a display in a second direction and at a first velocity, the second direction defined by the first direction, the first velocity based on the first distance and a first force imparted by the input object on an input surface,

determine a second subsequent location of the input object;

calculate a third direction and a second distance between the first subsequent location and the second subsequent location;

determine that a second force imparted by the input object on the input surface at the second subsequent location is below a force threshold, the second force being less than the first force;

move the cursor representation on the display in a fourth direction and at a second velocity when the second force is below the force threshold, the fourth direction defined by the third direction, wherein the second velocity is based only on the second distance and while ignoring a magnitude of the second force;

detect a touchdown event of at least two input objects,

determine a second touchdown location of the at least two input objects,

determine a third subsequent location of the at least two input objects,

calculate a fifth direction and a third distance from the second touchdown location and the third subsequent location, and

modulate a user interface action in a sixth direction at a magnitude of the user interface action, wherein the sixth direction is based on the fifth direction, and wherein the magnitude of the user interface action is based on the third distance and a third force imparted onto the input surface.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT THE SPELLING OF THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 051316 FRAME: 0777. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 18, 2020
From: SYNAPTICS INCORPORATED
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052186/0756 →
SECURITY INTEREST Recorded Dec 16, 2019
From: SYNAPTICS INCORPROATED
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 051316/0777 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2015
From: SHEIK-NAINAR, MOHAMED; ODELL, DANIEL L.; FAGGIN, ERIC; INSCORE, KIPLING
To: SYNAPTICS INCORPORATED
Reel/Frame 037286/0391 →