Mode sensitive processing of touch data
First Claim
1. A method for operating a touch enabled device, comprising:
- generating by one or more applications executing at the touch enabled device one or more control instances, the control instances defining the types of user operable controls required by the applications;
sending the control instances to a touch utility;
receiving touch data by the touch utility from a touch panel;
instructing a hardware abstraction layer of the touch panel by the touch utility to process only the touch data required to obtain one or more sets of results, wherein each set of results is associated with a respective control instance; and
sending to the one or more applications the one or more sets of results.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide for a hardware or software utility layer operating at a multi-touch enabled device that can perform application aware processing of touch data. More specifically, various applications executing at the device can send to the utility layer definitions of the types of touch data they require from the multi-touch enabled display. The utility layer can then process incoming touch data in relation to these definitions and send back to the applications result data in a format requested by the applications. Thus, the computational load associated with processing of touch data can be decreased. Also, in certain cases, applications can obtain more accurate data than available in prior systems.
45 Citations
61 Claims
-
1. A method for operating a touch enabled device, comprising:
-
generating by one or more applications executing at the touch enabled device one or more control instances, the control instances defining the types of user operable controls required by the applications; sending the control instances to a touch utility; receiving touch data by the touch utility from a touch panel; instructing a hardware abstraction layer of the touch panel by the touch utility to process only the touch data required to obtain one or more sets of results, wherein each set of results is associated with a respective control instance; and
sending to the one or more applications the one or more sets of results. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer readable medium comprising touch utility software configured to be executed at a processor of a touch enabled device, the processor also executing one or more applications, the touch utility software being configured to:
-
receive one or more control instances from the applications, the control instances defining the types of user operable controls required by the applications; receive touch data from a touch panel; instructing a hardware abstraction layer of the touch panel by the touch utility to process only the touch data required to obtain one or more sets of results, wherein each set of results is associated with a respective control instance; and send to the one or more applications the one or more sets of results. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A touch utility circuit included in a touch enabled device, the touch enabled device also including a processor, the processor executing one or more applications, the touch utility circuit configured to:
-
receive one or more control instances from the applications, the control instances defining the types of user operable controls required by the applications; receive touch data from a touch panel; instructing a hardware abstraction layer of the touch panel to process only the touch data required to obtain one or more sets of results, wherein each set of results is associated with a respective control instance; and send to the one or more applications the one or more sets of results.
-
-
36. A touch enabled device comprising:
-
a display having a touch panel integrated therein; a memory; a processor; a touch utility stored in the memory and executed by the processor; and one or more applications stored in the memory, executed by the processor and configured to cause the processor to generate one or more control instances and send them to the touch utility, wherein the touch utility is further configured to; receive one or more control instances from the applications, the control instances defining the types of user operable controls required by the applications; receive touch data from the touch panel; instructing a hardware abstraction layer of the touch panel to process only the touch data required to obtain one or more sets of results, wherein each set of results is associated with a respective control instance; and send to the one or more applications the one or more sets of results. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. A mobile telephone comprising:
-
a display having a touch panel integrated therein; a memory; a processor; a touch utility stored in the memory and executed by the processor; and one or more applications stored in the memory, executed by the processor and configured to cause the processor to generate one or more control instances and send them to the touch utility, wherein the touch utility is further configured to; receive one or more control instances from the applications, the control instances defining the types of user operable controls required by the applications; receive touch data from the touch panel; instructing a hardware abstraction layer of the touch panel by the touch utility to process only the touch data required to obtain one or more sets of results, wherein each set of results is associated with a respective control instance; and send to the one or more applications the one or more sets of results.
-
-
56. An audio player comprising:
-
a display having a touch panel integrated therein; a memory; a processor; a touch utility stored in the memory and executed by the processor; and one or more applications stored in the memory, executed by the processor and configured to cause the processor to generate one or more control instances and send them to the touch utility, wherein the touch utility is further configured to; receive one or more control instances from the applications, the control instances defining the types of user operable controls required by the applications; receive touch data from the touch panel;
determine if any of the raster touch data is relevant to any of the control instances;instructing a hardware abstraction layer of the touch panel by the touch utility to process only the touch data required to obtain one or more sets of results, wherein each set of results is associated with a respective control instance; and send to the one or more applications the one or more sets of results.
-
-
57. A non-transitory computer readable medium comprising an SDK, the SDK being configured to be executed at a software development computer and to cause the processor of the software development computer to:
-
allow creation of an application for a touch enabled device; generate code defining one or more control instances and place said code within the application, the control instances defining the types of user operable controls required by the application; wherein the application is configured to be executed at a processor of a touch enabled device to send the one or more control instances to a touch utility; and receive from the touch utility one or more sets of results, the results, each set of results being associated with a respective control instance and indicating interaction with the visual interface element associated with said control instance, wherein each set of results is obtained by a touch utility instructing a hardware abstraction layer of a touch panel to process processing only raster touch data required by at least one of the control instances.
-
-
58. A touch enabled device comprising:
-
a touch enabled display; one or more applications; and a touch utility, wherein the one or more applications are configured to send control instances to the touch utility, the control instances defining the types of user operable controls required by the application; wherein the touch utility is configured to display the user interface elements defined by the control instances at the display, to process touch events resulting from interaction with the interface elements at the display, the touch events captured in raster touch data, and to send results indicative of the interaction with the interface elements and associated with respective control instances to the one or more applications, and wherein the results are obtained by instructing a hardware abstraction layer of the touch enabled display to process only the touch data required by at least one of the control instances. - View Dependent Claims (59)
-
-
60. A method for operating a touch enabled device comprising a touch enabled display, one or more applications and a touch utility, the method comprising:
-
sending one or more control instances by the one or more applications to the touch utility, the control instances defining the types of user operable controls required by the application, each control instance defining a user interface element; displaying the user interface elements defined by the control instances at the display; detecting a touch at one or more of the user interface elements; processing touch data resulting from the user touching the interface elements; generating results by instructing a hardware abstraction layer of the touch enabled display to process only the touch data required by at least one of the control instances; and sending the results indicative of the detected touching of the interface elements and associated with respective control instances to the one or more applications. - View Dependent Claims (61)
-
Specification