TOUCH EVENT MODEL
First Claim
1. A method for handling touch events at a multi-touch device, comprising:
- displaying one or more views;
executing one or more software elements, each software element being associated with a particular view;
associating a multi-touch flag or an exclusive touch flag with each view;
receiving one or more touches at the one or more views; and
selectively sending one or more touch events, each touch event describing a received touch, to one or more of the software elements associated with the one or more views at which a touch was received based on the values of the multi-touch and exclusive touch flags.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present invention are directed to methods, software, devices and APIs for defining touch events for application level software. Furthermore, some embodiments are directed to simplifying the recognition of single and multiple touch events for applications running in multi-touch enabled devices. To simplify the recognition of single and multiple touch events, each view within a particular window can be configured as either a multi-touch view or a single touch view. Furthermore, each view can be configured as either an exclusive or a non-exclusive view. Depending on the configuration of a view, touch events in that and other views can be either ignored or recognized. Ignored touches need not be sent to the application. Selectively ignoring touches can allow for simpler software elements that do not take advantage of advanced multi touch features to be executed at the same device and time as more complex software elements.
-
Citations
41 Claims
-
1. A method for handling touch events at a multi-touch device, comprising:
-
displaying one or more views; executing one or more software elements, each software element being associated with a particular view; associating a multi-touch flag or an exclusive touch flag with each view; receiving one or more touches at the one or more views; and selectively sending one or more touch events, each touch event describing a received touch, to one or more of the software elements associated with the one or more views at which a touch was received based on the values of the multi-touch and exclusive touch flags. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for recognizing one or more touch events at a multi-touch device, comprising:
-
defining one or more views; assigning an exclusive touch or a multi-touch flag to each view; and accepting one or more touch events detected in each view in accordance with the exclusive touch or multi-touch flag for each view.
-
-
12. A computer readable medium comprising a plurality of instructions configured for execution at a multi-touch device, the instructions being configured to cause the multi-touch device to:
-
display one or more views; execute one or more software elements, each software element being associated with a particular view; associate a multi-touch flag or an exclusive touch flag with each view; receive one or more touches at the one or more views; and selectively send one or more touch events, each touch event describing a received touch, to one or more of the software elements associated with views at which a touch was received based on the values of the multi-touch and exclusive touch flags. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer readable medium comprising a plurality of instructions configured for execution at a multi-touch device, the instructions being configured to cause the multi-touch device to:
-
define one or more views; assign an exclusive touch or a multi-touch flag to each view; and accept one or more touch events detected in each view in accordance with the exclusive touch or multi-touch flag for each view.
-
-
23. A method for recognizing point events at a multi-point device, comprising:
-
displaying one or more views; executing one or more software elements, each software element being associated with a particular view; associating a multi-point flag or an exclusive point flag with each view; receiving one or more point inputs at the one or more views; and selectively sending one or more point events, each point event describing a received point input, to one or more of the software elements associated with views at which a point input was received based on the values of the multi-point and exclusive point flags.
-
-
24. A method for recognizing one or more point events at a multi-point device, comprising:
-
defining one or more views; assigning an exclusive point or a multi-point flag to each view; and accepting one or more point events detected in each view in accordance with the exclusive point or multi-point flag for each view.
-
-
25. A computer readable medium comprising a plurality of instructions configured for execution at a multi-point device, the instructions being configured to cause the multi-point device to:
-
display one or more views; execute one or more software elements, each software element being associated with a particular view; associate a multi-point flag or an exclusive point flag with each view; receive one or more point inputs at the one or more views; and selectively send one or more point events, each point event describing a received point input, to one or more of the software elements associated with views at which a point input was received based on the values of the multi-point and exclusive point flags.
-
-
26. A computer readable medium comprising a plurality of instructions configured for execution at a multi-point device, the instructions being configured to cause the multi-point device to:
-
define one or more views; assign an exclusive point or a multi-point flag to each view; and accept one or more point events detected in each view in accordance with the exclusive point or multi-point flag for each view.
-
-
27. A multi-touch enabled mobile telephone including a computer readable medium comprising a plurality of instructions configured for execution at the mobile telephone, the instructions being configured to cause the mobile telephone to:
-
display one or more views; execute one or more software elements, each software element being associated with a particular view; associate a multi-touch flag or an exclusive touch flag with each view; receive one or more touches at the one or more views; and selectively send one or more touch events, each touch event describing a received touch, to one or more of the software elements associated with views at which a touch was received based on the values of the multi-touch and exclusive touch flags.
-
-
28. A multi-touch enabled digital media player including a computer readable medium comprising a plurality of instructions configured for execution at the digital media player, the instructions being configured to cause the digital media player to:
-
display one or more views; execute one or more software elements, each software element being associated with a particular view; associate a multi-touch flag or an exclusive touch flag with each view; receive one or more touches at the one or more views; and selectively send one or more touch events, each touch event describing a received touch, to one or more of the software elements associated with views at which a touch was received based on the values of the multi-touch and exclusive touch flags.
-
-
29. A computer readable medium comprising a touch data structure defining a state, at a particular time, of a single touch having been or being received at a multi-touch panel, the touch data structure comprising:
-
a phase field defining the phase of the touch at the particular time; a view field indicating the view in which the touch was or is being received; and a location field indicating the location where the touch is currently being received. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A device comprising a multi touch panel and a computer readable medium comprising a touch data structure defining a state, at a particular time, of a single touch having been or being received at the multi-touch panel, the touch data structure comprising:
-
a phase field defining the phase of the touch at the particular time; a view field indicating the view in which the touch was or is being received; and a location field indicating the location where the touch is currently being received.
-
-
40. A method for operating a multi touch enabled device comprising:
-
executing a software element representing a view, the software element displaying a visual representation of the view at a display; detecting a touch at a multi touch panel; and generating a data structure for defining a state of the touch at a particular time, the data structure comprising; a phase field defining the phase of the touch at the particular time; a view field indicating the view in which the touch was or is being received; and a location field indicating the location where the touch is currently being received.
-
-
41. In an environment with a device having a display and a multi touch panel and application software interacting with user interface software, a method for operating through an application programming interface (API), comprising:
-
detecting a touch at the multi touch panel; generating a data structure for defining a state of the touch at a particular time, the data structure comprising; a phase field defining the phase of the touch at the particular time; a view field indicating the view in which the touch was or is being received; and a location field indicating the location where the touch is currently being received; and sending the data structure to the application software by the user interface software.
-
Specification