Multi-touch manipulation of application objects
First Claim
1. A method for interpreting low-level touch inputs into corresponding manipulation events, the method performed on a computing device having a touch-sensitive input surface and a display, the method comprising:
- receiving low-level touch inputs that correspond to touches of the touch-sensitive input surface, the low-level touch inputs comprising locations of contacts with the touch-sensitive input surface, the low-level touch inputs received by an application executing on the computing device;
identifying, by the application, an application object, displayed on the display, to which the received low-level touch inputs apply;
sending the received low-level touch inputs and information identifying the application object at a manipulation API (application programming interface), the manipulation API interpreting pluralities of the received low-level touch input as respective manipulation events, wherein the manipulation API is invocable by arbitrary applications on the computing device;
receiving, at the application, the manipulation events, the manipulation events comprising affine transforms of the identified application object; and
handling, by the application, the received manipulation events by displaying the application object according to the manipulation events.
2 Assignments
0 Petitions
Accused Products
Abstract
The manipulation system described herein provides a common platform and application-programming interface (API) for applications to communicate with various multi-touch hardware devices, and facilitates the interpretation of multi-touch input as one or more manipulations. Manipulations map more directly to user intentions than do individual touch inputs and add support for basic transformation of objects using multiple touch contacts. An application can use manipulations to support rotating, resizing, and translating multiple objects at the same time. The manipulation system outputs two-dimensional (2D) affine transforms that contain rotation, scale, and translation information. Thus, using the manipulation system the application author can focus more on building touch-capable applications and let the manipulation system handle the underlying transformations and communication with the multi-touch hardware.
41 Citations
19 Claims
-
1. A method for interpreting low-level touch inputs into corresponding manipulation events, the method performed on a computing device having a touch-sensitive input surface and a display, the method comprising:
-
receiving low-level touch inputs that correspond to touches of the touch-sensitive input surface, the low-level touch inputs comprising locations of contacts with the touch-sensitive input surface, the low-level touch inputs received by an application executing on the computing device; identifying, by the application, an application object, displayed on the display, to which the received low-level touch inputs apply; sending the received low-level touch inputs and information identifying the application object at a manipulation API (application programming interface), the manipulation API interpreting pluralities of the received low-level touch input as respective manipulation events, wherein the manipulation API is invocable by arbitrary applications on the computing device; receiving, at the application, the manipulation events, the manipulation events comprising affine transforms of the identified application object; and handling, by the application, the received manipulation events by displaying the application object according to the manipulation events. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable storage medium encoded with instructions for controlling a computer system to interpret multi-touch input as one or more application object manipulations, by a method comprising:
-
receiving from an application touch input and information identifying an application object with which the touch input is associated; identifying, among a plurality of instances of manipulation processors associated with respective application objects, a manipulation processor specific to and associated with the identified application object, wherein each manipulation processor interprets, in a manner specific to its corresponding application object, movement of multiple contacts of the multi-touch hardware as one or more manipulations of the identified application object; processing, by the identified manipulation processor, the received touch input to interpret manipulations represented by the touch input, wherein the manipulations include at least one or more of rotation, translation, and scaling of the identified application object; and firing a manipulation event that sends transform information describing the interpreted manipulation to the application. - View Dependent Claims (9, 10, 11)
-
-
12. A computer device for handling touch input from multi-touch hardware, the system comprising:
-
a module that receives low-level inputs, for arbitrary applications on the computer device, from a multi-touch input device, and that translates the low-level inputs to manipulations that are then received by the arbitrary applications, wherein at least some of the manipulations are based on respective pluralities of the low-level inputs, the manipulations comprising affine transforms; an application comprising a graphic object displayed on the display, the graphic object interacted with by a user contacting the multi-touch input device such that low-level inputs corresponding to the user interaction with the graphic object are received by the module and the application receives corresponding manipulations translated by the module that the application uses to display the graphic object. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
Specification