IP Library Granted Patent US 10,061,385
Granted Patent B2
US 10,061,385 · App. 15/004,423 · Granted Aug 28, 2018

Haptic feedback for a touch input device

Inventors: Anatoly Yuryevich Churikov (Las Vegas, NV); Flavio Protasio Ribeiro (Bellevue, WA); Carl E. Picciotto (Clyde Hill, WA); Aric A. Fitz-Coy (Seattle, WA); Steven Nabil Bathiche (Kirkland, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F3/016G06F3/03547G06F3/0416G06F3/04883
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,061,385
App. No.
15/004,423
Granted
Aug 28, 2018
Kind
B2
Abstract

Techniques for haptic feedback for a touch input device are described. Generally, haptic feedback is provided for different user interactions with a touch input device, such as interactions with applications, services, and so forth. According to various embodiments, how haptic feedback is initiated depends on whether different functionalities directly support haptic feedback. For instance, techniques described herein enable haptic feedback to be provided whether or not a particular functionality directly supports haptic feedback.

Claims (45)

1. A system comprising:

a haptic-enabled touch input device;

at least one processor; and

one or more computer-readable storage media including instructions stored thereon that, responsive to execution by the at least one processor, cause the system perform operations including:

receiving an indication of input via the touch input device indicating a user interaction with a functionality, the functionality representing one of an application or an operating system;

ascertaining whether haptic feedback for the input is to be initiated by an external haptic event received from the functionality, or whether haptic feedback is to be initiated by an internal haptic event generated by the touch input device in response to the input, said ascertaining based on at least in part on a determination of whether the functionality supports haptic feedback; and

causing the touch input device to output haptic feedback based on one of the external haptic event or the internal haptic event, including at least one of:

in an event that a determination is made that the functionality directly supports haptic feedback, ascertaining that the haptic feedback for the input is to be initiated by the external haptic event, and causing the touch input device to output haptic feedback based on the external haptic event; or

in an event that a determination is made that the functionality does not directly support haptic feedback, ascertaining that the haptic feedback for the input is to be initiated by the internal haptic event, and causing the touch input device to output haptic feedback based on the internal haptic event.

2. A system as recited in claim 1 , wherein the touch input device comprises one or more of a haptic-enabled trackpad, a haptic-enabled touchscreen, or a haptic-enabled pen.

3. A system as recited in claim 1 , wherein the one or more computer-readable storage media comprises firmware of the touch input device.

4. A system as recited in claim 1 , wherein the operations further include determining that the functionality directly supports haptic feedback, wherein said ascertaining comprises ascertaining that the haptic feedback for the input is to be initiated by the external haptic event, and said causing comprises causing the touch input device to output haptic feedback based on the external haptic event.

5. A system as recited in claim 1 , wherein the functionality comprises the application, the application currently has focus, the operations further include determining that the application directly supports haptic feedback, and wherein said ascertaining comprises ascertaining that the haptic feedback for the input is to be initiated by an external haptic event received from the application, and said causing comprises causing the touch input device to output haptic feedback based on the external haptic event received from the application.

6. A system as recited in claim 1 , wherein the functionality comprises the operating system, the operations further include determining that the operating system directly supports haptic feedback, and wherein said ascertaining comprises ascertaining that the haptic feedback for the input is to be initiated by an external haptic event received from the operating system, and said causing comprises causing the touch input device to output haptic feedback based on the external haptic event received from the operating system.

7. A system as recited in claim 1 , wherein the operations further include determining that the functionality does not directly support haptic feedback, wherein said ascertaining comprises ascertaining that the haptic feedback for the input is to be initiated by the internal haptic event, and said causing comprises causing the touch input device to output haptic feedback based on the internal haptic event.

8. A system as recited in claim 1 , wherein the functionality comprises the application, the application currently has focus, the operations further include determining that the application does not directly support haptic feedback, and wherein said ascertaining comprises ascertaining that the haptic feedback for the input is to be initiated by the internal haptic event, and said causing comprises causing the touch input device to output haptic feedback based on the internal haptic event.

9. A system as recited in claim 1 , wherein the functionality comprises the operating system, the operations further include determining that the operating system does not directly support haptic feedback, and wherein said ascertaining comprises ascertaining that the haptic feedback for the input is to be initiated by the internal haptic event, and said causing comprises causing the touch input device to output haptic feedback based on the internal haptic event.

10. A system as recited in claim 1 , wherein said ascertaining comprises ascertaining that the haptic feedback for the input is to be initiated by the internal haptic event, and said causing comprises:

ascertaining one or more attributes of a gesture used to provide the input to the touch input device; and

causing output of the haptic feedback based on the one or more attributes.

11. A computer-implemented method, comprising:

receiving an indication of input to a touch surface of a touch input device;

ascertaining whether haptic feedback for the input is to be initiated by an external haptic event received from a functionality representing one of an application or an operating system, or whether haptic feedback is to be initiated by an internal haptic event generated by the touch input device in response to the input, said ascertaining based on at least in part on a determination of whether the functionality supports haptic feedback; and

causing the touch input device to output haptic feedback based on one of the external haptic event or the internal haptic event, including at least one of:

in an event that a determination is made that the functionality directly supports haptic feedback, ascertaining that the haptic feedback for the input is to be initiated by the external haptic event received from the functionality; or

in an event that a determination is made that the functionality does not directly support haptic feedback, ascertaining that the haptic feedback is to be initiated by the internal haptic event generated by the touch input device in response to the input.

12. A method as described in claim 11 , further comprising determining based on haptic data whether the functionality directly supports haptic feedback, and wherein said ascertaining comprises one of:

in an event that the haptic data indicates that the functionality directly supports haptic feedback, ascertaining that the haptic feedback for the input is to be initiated by the external haptic event received from the functionality; or

in an event that the haptic data indicates that the functionality does not directly support haptic feedback, ascertaining that the haptic feedback is to be initiated by the internal haptic event generated by the touch input device in response to the input.

13. A method as described in claim 11 , further comprising receiving a notification that the functionality directly supports haptic feedback, wherein said ascertaining comprises ascertaining that the haptic feedback for the input is to be initiated by the external haptic event, and said causing comprises causing the touch input device to output haptic feedback based on the external haptic event.

14. A method as described in claim 11 , wherein said ascertaining comprises ascertaining that the haptic feedback for the input is to be initiated by the internal haptic event, and said causing comprises:

ascertaining one or more attributes of a gesture used to provide the input to the touch input device;

mapping the attributes of the gesture to haptic feedback; and

causing output of the haptic feedback.

15. A computer-implemented method, comprising:

receiving an indication of input to a touch input device;

determining that a functionality external to the touch input device does not directly support haptic feedback, the functionality representing one of an application or an operating system;

ascertaining, responsive to said determining, that haptic feedback for the input is to be initiated by an internal haptic event generated by the touch input device in response to the input;

ascertaining one or more attributes of a gesture that caused the input; and

causing the touch input device to output haptic feedback in response to the internal haptic event and based on the one or more attributes of the gesture.

16. A method as described in claim 15 , wherein said determining comprises receiving a notification that the functionality does not directly support haptic feedback.

17. A method as described in claim 15 , wherein the functionality comprises the application, the application does not directly support haptic feedback, and wherein the input comprises input to a graphical user interface of the application.

18. A method as described in claim 15 , wherein the functionality comprises the operating system, and the operating system does not directly support haptic feedback.

19. A method as described in claim 15 , wherein said ascertaining one or more attributes of the gesture comprises ascertaining one or more of a direction of movement of the gesture relative to the touch input device, distance of movement of the gesture, velocity of movement of the gesture, acceleration of the gesture, deceleration of the gesture, or an amount of pressure applied to the touch input device while generating the gesture.

20. A method as described in claim 15 , wherein the functionality comprises the application, and wherein said causing is performed independent of information concerning an input context of the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2016
From: CHURIKOV, ANATOLY YURYEVICH; RIBEIRO, FLAVIO PROTASIO; PICCIOTTO, CARL E.; FITZ-COY, ARIC A.; BATHICHE, STEVEN NABIL
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 037561/0584 →
Continuity (1)
Related Publication 20170212591A1 · Jul 27, 2017
Cited By (3)
US 12,216,826 US 12,445,759 US 12,663,867