IP Library › Granted Patent US 10,303,295
Granted Patent B2
US 10,303,295 · App. 14/509,652 · Granted May 28, 2019

Modifying an on-screen keyboard based on asymmetric touch drift

Inventors: Morgan Winer (Sunnyvale, CA); Nicholas K. Jong (Campbell, CA)
Assignee: Apple Inc.
G06F3/0418G06F3/044G06F3/04886
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,303,295
App. No.
14/509,652
Granted
May 28, 2019
Kind
B2
Abstract

Utilization of error vector data representative of errors between the location of actual keystrokes and the location of determined intended keystrokes to compute “bias” data indicative of the magnitude and direction of error vectors for a given location on the virtual keyboard is disclosed. This bias data can then be used to perform a number of operations such as keyboard re-spotting.

Claims (71)

1. A computing device, comprising:

a touch screen configured for displaying a user interface; and

a processor communicatively coupled to the touch screen and capable of:

processing touch location error data obtained at a plurality of touch locations on the user interface to generate first and second bias data, the touch location error data including a plurality of touch location errors between actual and intended touch locations, wherein:

the generated first bias data is representative of a first component of at least one of the plurality of touch location errors along a first dimension, and

the generated second bias data is representative of a second component of at least one of the plurality of touch location errors along a second dimension;

comparing the generated first bias data to a first bias curve associated with the first dimension;

comparing the generated second bias data to a second bias curve associated with the second dimension; and

modifying the user interface based on the comparison of the first bias data to the first bias curve and the comparison of the second bias data to the second bias curve.

2. The computing device of claim 1 , the processor further capable of:

identifying a particular first bias curve that matches the generated first bias data;

characterizing the generated first bias data in accordance with the particular first bias curve;

identifying a particular second bias curve that matches the generated second bias data; and

characterizing the generated second bias data in accordance with the particular second bias curve.

3. The computing device of claim 1 , wherein the first bias curve and the second bias curve include one or more of a right bias curve, a left bias curve, and a no bias curve.

4. The computing device of claim 1 , the processor further capable of identifying a plurality of regions in the generated first and second bias data, each region containing common characteristics.

5. The computing device of claim 1 , wherein processing the touch location error data comprises:

averaging the first component of the plurality of touch location errors at a plurality of first component locations of the user interface to generate the first bias data, and

averaging the second component of the plurality of touch location errors at a plurality of second component locations of the user interface to generate the second bias data.

6. The computing device of claim 5 , wherein the first component of the touch location errors is orthogonal to the second component of the touch location errors.

7. The computing device of claim 6 , the processor further capable of:

identifying a plurality of first component regions in the generated first bias data, each first component region containing first common characteristics; and

identifying a plurality of second component regions in the generated second bias data, each second component region containing second common characteristics.

8. The computing device of claim 7 , the processor further capable of:

identifying a plurality of user interface regions from the identified pluralities of first and second component regions, each of the user interface regions containing common characteristics.

9. The computing device of claim 7 , the processor further capable of saving touch location error data exceeding a predetermined threshold.

10. A method of providing touch accuracy information, comprising:

displaying a user interface;

processing touch location error data obtained at each of a plurality of touch locations on the user interface to generate first and second bias data, the touch location error data including a plurality of touch location errors between actual and intended touch locations, wherein:

the generated first bias data is representative of component of the touch location errors along a first dimension, and

the generated second bias data is representative of a second component of the touch location errors along a second dimension;

comparing the generated first bias data to a first bias curve associated with the first dimension;

comparing the second generated bias data to a second bias curve associated with the second dimension; and

modifying the user interface based on the comparison of the first bias data to the first bias curve and the comparison of the second bias data to the second bias curve.

11. The method of claim 10 , further comprising receiving the touch location error data from a typing auto-correction algorithm.

12. The method of claim 11 , further comprising computing the touch location error data by determining touch location errors between an actual keystroke and a closest key location.

13. The method of claim 10 , further comprising:

identifying a particular first bias curve that matches the generated first bias data;

characterizing the generated first bias data in accordance with the particular first bias curve;

identifying a particular second bias curve that matches the generated second bias data; and

characterizing the generated second bias data in accordance with the particular second bias curve.

14. The method of claim 10 , wherein the first bias curve and the second bias curve include one or more of a right bias curve, a left bias curve, and a no bias curve.

15. The method of claim 10 , further comprising:

identifying a plurality of regions in the generated first and second bias data, each region containing common characteristics.

16. The method of claim 10 , wherein processing the touch location error data comprises:

averaging the first component of the plurality of touch location errors at a plurality of first component locations of the user interface to generate first bias data, and

averaging the second component of the plurality of touch location errors at a plurality of second component locations of the user interface to generate the second bias data.

17. The method of claim 16 , wherein the first component of the touch location errors is orthogonal to the second component of the touch location errors.

18. The method of claim 17 , further comprising:

identifying a plurality of first component regions in the generated first bias data, each first component region containing first common characteristics; and

identifying a plurality of second component regions in the generated second bias data, each second component region containing second common characteristics.

19. The method of claim 18 , further comprising:

identifying a plurality of user interface regions from the identified pluralities of first and second component regions, each of the user interface regions containing common characteristics.

20. The method of claim 10 , further comprising:

saving touch location error data exceeding a predetermined threshold; and

transmitting the saved touch location error data.

21. A non-transitory computer-readable storage medium having stored therein instructions, which when executed by a device, cause the device to perform a method comprising:

displaying a user interface;

processing touch location error data obtained at each of a plurality of touch locations on the user interface to generate first and second bias data, the touch location error data including a plurality of touch location errors between actual and intended touch locations, wherein:

the generated first bias data is representative of a first component of the touch location errors along a first dimension, and

the generated second bias data is representative of a second component of the touch location errors along a second dimension;

comparing the generated first bias data to a first bias curve associated with the first dimension;

comparing the second generated bias data to a second bias curve associated with the second dimension; and

modifying the user interface based on the comparison of the first bias data to the first bias curve and the comparison of the second bias data to the second bias curve.

22. The non-transitory computer-readable storage medium of claim 21 , the method further comprising:

identifying a particular first bias curve that matches the generated first bias data;

characterizing the generated first bias data in accordance with the particular first bias curve;

identifying a particular second bias curve that matches the generated second bias data; and

characterizing the generated second bias data in accordance with the particular second bias curve.

23. The non-transitory computer-readable storage medium of claim 21 , the method further comprising:

identifying a plurality of regions in the generated first and second bias data, each region containing common characteristics.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2014
From: WINER, MORGAN; JONG, NICHOLAS K.
To: APPLE INC.
Reel/Frame 033915/0289 →
Continuity (2)
Provisional Application 62055536 · May 30, 2014
Related Publication 20150346905A1 · Dec 3, 2015