IP Library Granted Patent US 8,736,555
Granted Patent B2
US 8,736,555 · App. 11/830,788 · Granted May 27, 2014

Touch sensing through hand dissection

Inventors: Wayne Westerman (Wellington, MO); John G. Elias (Townsend, DE)
Assignee: Apple Inc.
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,736,555
App. No.
11/830,788
Granted
May 27, 2014
Kind
B2
Abstract

Apparatus and methods are disclosed for simultaneously tracking multiple finger and palm contacts as hands approach, touch, and slide across a proximity-sensing, multi-touch surface. Identification and classification of intuitive hand configurations and motions enables unprecedented integration of typing, resting, pointing, scrolling, 3D manipulation, and handwriting into a versatile, ergonomic computer input device.

Claims (54)

1. A contact evaluation system of a computing system comprising:

a contact sensing unit that senses a first set of one or more contacts on or near a touch sensor surface at a first time and produces first information regarding the first set of sensed contacts, and that senses a second set of one or more contacts on or near the surface at a second time, after the first time, the second set including the first set, wherein the first set maintained contact with the sensor surface during the time period between the first and second times, and produces second information regarding the second set of sensed contacts; and

an event generator that evaluates the first information to determine whether the first information satisfies a first predetermined criteria, initiates a first input event as a command to the computing system based on the resulting determination that the first information satisfies the first predetermined criteria, evaluates the second information to determine whether the second information satisfies a second predetermined criteria, the second set of one or more contacts remaining in contact with the sensor surface during the evaluation of the second information, and cancels the initiated first input event based on the resulting determination that the second information satisfies the second predetermined criteria, wherein cancelling the initiated first input event prior to the performance of the first input event includes deleting the first input event from the input event queue.

2. The system of claim 1 wherein the contacts comprise identifiable portions of a human hand.

3. The system of claim 1 wherein the contacts comprise a plurality of fingers and a portion of a hand other than a finger.

4. The system of claim 1 wherein contacts comprise fingers that are within sensing range of the sensor surface but not physically touching the sensor surface.

5. The system of claim 1 , wherein the first information includes a position of a first contact in the first set, evaluating the first information includes determining that the position of the first contact corresponds to a first control element, and initiating the first input event includes initiating an input corresponding to the first control element.

6. The system of claim 5 , wherein the first control element is a key, and initiating the activation of the first control element includes initiating a function associated with the key.

7. The system of claim 1 , wherein the second information includes a proximity of a first contact in the first set, and determining that the second information satisfies the second predetermined criteria includes determining that the proximity of the first contact is greater than a predetermined proximity threshold.

8. The system of claim 1 , wherein evaluating the second information includes comparing the second information to the first information to determine whether the comparison satisfies the second predetermined criteria.

9. The system of claim 8 , wherein the first set of contacts includes a first contact that touched down at the first time, the first information includes the touchdown time of the first contact, the second set of contacts includes a second contact that touched down at the second time, the second information includes the touchdown time of the second contact, and determining that the comparison satisfies the second predetermined criteria includes determining that a difference between the touchdown times of the first and second contacts is within a predetermined synchronization time threshold.

10. The system of claim 9 , wherein the event generator further initiates a second input event based on the resulting determination that the comparison satisfies the second predetermined criteria.

11. The system of claim 8 , wherein the first information includes a first position of a first contact in the first set, the second information includes a second position of the first contact, and determining that the comparison satisfies the second predetermined criteria includes determining that a difference between the first and second positions is greater than a predetermined lateral motion threshold.

12. The system of claim 1 , wherein cancelling the initiated first input event includes cancelling the initiated first input event prior to the performance of the first input event.

13. The system of claim 12 , wherein initiating the first input event as a command to the computing system includes entering the first input event into an input event queue, and cancelling the initiated first input event prior to the performance of the first input event includes deleting the first input event from the input event queue.

14. The system of claim 1 , wherein the second set consists of the first set.

15. A method of evaluating contacts of a touch sensor surface of a computing system, the method comprising:

sensing a first set of one or more contacts on or near the sensor surface at a first time and producing first information regarding the first set of sensed contacts;

evaluating the first information to determine whether the first information satisfies a first predetermined criteria and initiating a first input event as a command to the computing system based on the resulting determination that the first information satisfies the first predetermined criteria;

sensing a second set of one or more contacts on or near the sensor surface at a second time, after the first time, the second set including the first set, wherein the first set maintained contact with the sensor surface during the time period between the first and second times, and producing second information regarding the second set of sensed contacts; and

evaluating the second information to determine whether the second information satisfies a second predetermined criteria, the second set of one or more contacts remaining in contact with the sensor surface during the evaluation of the second information, and cancelling the initiated first input event based on the resulting determination that the second information satisfies the second predetermined criteria, wherein cancelling the initiated first input event prior to the performance of the first input event includes deleting the first input event from the input event queue.

16. The method of claim 5 wherein the contacts comprise identifiable portions of a human hand.

17. The method of claim 5 wherein the contacts comprise a plurality of fingers and a portion of a hand other than a finger.

18. The method of claim 5 wherein contacts comprise fingers that are within sensing range of the sensor surface but not physically touching the sensor surface.

19. The method of claim 15 , wherein the first information includes a position of a first contact in the first set, evaluating the first information includes determining that the position of the first contact corresponds to a first control element, and initiating the first input event includes initiating an input corresponding to the first control element.

20. The method of claim 19 , wherein the first control element is a key, and initiating the activation of the first control element includes initiating a function associated with the key.

21. The method of claim 15 , wherein the second information includes a proximity of a first contact in the first set, and determining that the second information satisfies the second predetermined criteria includes determining that the proximity of the first contact is greater than a predetermined proximity threshold.

22. The method of claim 15 , wherein evaluating the second information includes comparing the second information to the first information to determine whether the comparison satisfies the second predetermined criteria.

23. The method of claim 22 , wherein the first set of contacts includes a first contact that touched down at the first time, the first information includes the touchdown time of the first contact, the second set of contacts includes a second contact that touched down at the second time, the second information includes the touchdown time of the second contact, and determining that the comparison satisfies the second predetermined criteria includes determining that a difference between the touchdown times of the first and second contacts is within a predetermined synchronization time threshold.

24. The method of claim 23 , further comprising:

initiating a second input event based on the resulting determination that the comparison satisfies the second predetermined criteria.

25. The method of claim 22 , wherein the first information includes a first position of a first contact in the first set, the second information includes a second position of the first contact, and determining that the comparison satisfies the second predetermined criteria includes determining that a difference between the first and second positions is greater than a predetermined lateral motion threshold.

26. The method of claim 15 , wherein cancelling the initiated first input event includes cancelling the initiated first input event prior to the performance of the first input event.

27. The method of claim 26 , wherein initiating the first input event as a command to the computing system includes entering the first input event into an input event queue, and cancelling the initiated first input event prior to the performance of the first input event includes deleting the first input event from the input event queue.

28. The method of claim 15 , wherein the second set consists of the first set.

29. A non-transitory computer readable medium comprising computer-executable program code for evaluating contacts of a touch sensor surface of a computing system, the program code causing performance of a method comprising:

sensing a first set of one or more contacts on or near the sensor surface at a first time and producing first information regarding the first set of sensed contacts;

evaluating the first information to determine whether the first information satisfies a first predetermined criteria and initiating a first input event as a command to the computing system based on the resulting determination that the first information satisfies the first predetermined criteria;

sensing a second set of one or more contacts on or near the sensor surface at a second time, after the first time, the second set including the first set, wherein the first set maintained contact with the sensor surface during the time period between the first and second times, and producing second information regarding the second set of sensed contacts; and

evaluating the second information to determine whether the second information satisfies a second predetermined criteria, the second set of one or more contacts remaining in contact with the sensor surface during the evaluation of the second information, and cancelling the initiated first input event based on the resulting determination that the second information satisfies the second predetermined criteria, wherein cancelling the initiated first input event prior to the performance of the first input event includes deleting the first input event from the input event queue.

30. The computer readable medium of claim 29 , wherein the contacts comprise identifiable portions of a human hand.

31. The computer readable medium of claim 29 , wherein the contacts comprise a plurality of fingers and a portion of a hand other than a finger.

32. The computer readable medium of claim 29 , wherein contacts comprise fingers that are within sensing range of the sensor surface but not physically touching the sensor surface.

33. The computer readable medium of claim 29 , wherein the first information includes a position of a first contact in the first set, evaluating the first information includes determining that the position of the first contact corresponds to a first control element, and initiating the first input event includes initiating an input corresponding to the first control element.

34. The computer readable medium of claim 33 , wherein the first control element is a key, and initiating the activation of the first control element includes initiating a function associated with the key.

35. The computer readable medium of claim 29 , wherein the second information includes a proximity of a first contact in the first set, and determining that the second information satisfies the second predetermined criteria includes determining that the proximity of the first contact is greater than a predetermined proximity threshold.

36. The computer readable medium of claim 29 , wherein evaluating the second information includes comparing the second information to the first information to determine whether the comparison satisfies the second predetermined criteria.

37. The computer readable medium of claim 36 , wherein the first set of contacts includes a first contact that touched down at the first time, the first information includes the touchdown time of the first contact, the second set of contacts includes a second contact that touched down at the second time, the second information includes the touchdown time of the second contact, and determining that the comparison satisfies the second predetermined criteria includes determining that a difference between the touchdown times of the first and second contacts is within a predetermined synchronization time threshold.

38. The computer readable medium of claim 37 , wherein the method further comprises:

initiating a second input event based on the resulting determination that the comparison satisfies the second predetermined criteria.

39. The computer readable medium of claim 36 , wherein the first information includes a first position of a first contact in the first set, the second information includes a second position of the first contact, and determining that the comparison satisfies the second predetermined criteria includes determining that a difference between the first and second positions is greater than a predetermined lateral motion threshold.

40. The computer readable medium of claim 29 , wherein cancelling the initiated first input event includes cancelling the initiated first input event prior to the performance of the first input event.

41. The computer readable medium of claim 40 , wherein initiating the first input event as a command to the computing system includes entering the first input event into an input event queue, and cancelling the initiated first input event prior to the performance of the first input event includes deleting the first input event from the input event queue.

42. The computer readable medium of claim 29 , wherein the second set consists of the first set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2007
From: FINGERWORKS, INC.
To: APPLE INC.
Reel/Frame 020063/0985 →
Continuity (5)
Continuation 11015434 · Dec 17, 2004
Continuation 09919266 · Jul 31, 2001
Division 09236513 · Jan 25, 1999
Provisional Application 60072509 · Jan 26, 1998
Related Publication 20080042987A1 · Feb 21, 2008