Application programming interface for a multi-pointer indirect touch input device
First Claim
Patent Images
1. A computer system comprising:
- one or more processors and memory; and
at least one input for connection to a sensor to receive data describing multiple input points sensed by the sensor into the memory, the input points having locations in a sensor coordinate space;
a runtime module, comprising computer program instructions in the memory executed by the one or more processors to map the sensed input points into data describing multiple contacts having locations in a viewport in a display coordinate space for a display of the computer system, and to provide the data describing the multiple contacts to an input stack in the memory accessible by applications executed by the one or more processors,wherein the runtime module further comprises settings including at least a mapping mode, wherein the mapping mode is selected from a group comprising an absolute mapping mode and a relative mapping mode,wherein the runtime module maps the sensed input points from locations in sensor coordinate space into the contacts having locations in the display coordinate space based on at least the viewport and the selected mapping mode, wherein mapping the sensed input points into the contacts comprises;
determining displacement of each of the contacts with respect to other contacts, andmodifying the locations of the mapped contacts according to the determined displacement for a selected contact with a lowest magnitude displacement, by determining an offset according to the lowest magnitude displacement, and, for each contact, adding the offset to coordinates of the contact.
0 Assignments
0 Petitions
Accused Products
Abstract
To allow a computer platform to provide a consistent interface for applications to use information from multi-point indirect touch input devices, an application programming interface is provided to a software interface layer that manages interaction of the system with a variety of instantiations of multi-pointer indirect touch input devices. A runtime module provides information from the indirect touch input devices to an input stack accessible by applications on the computer system. The runtime module provides mapping of contacts on the indirect touch input devices to a display.
-
Citations
20 Claims
-
1. A computer system comprising:
-
one or more processors and memory; and at least one input for connection to a sensor to receive data describing multiple input points sensed by the sensor into the memory, the input points having locations in a sensor coordinate space; a runtime module, comprising computer program instructions in the memory executed by the one or more processors to map the sensed input points into data describing multiple contacts having locations in a viewport in a display coordinate space for a display of the computer system, and to provide the data describing the multiple contacts to an input stack in the memory accessible by applications executed by the one or more processors, wherein the runtime module further comprises settings including at least a mapping mode, wherein the mapping mode is selected from a group comprising an absolute mapping mode and a relative mapping mode, wherein the runtime module maps the sensed input points from locations in sensor coordinate space into the contacts having locations in the display coordinate space based on at least the viewport and the selected mapping mode, wherein mapping the sensed input points into the contacts comprises; determining displacement of each of the contacts with respect to other contacts, and modifying the locations of the mapped contacts according to the determined displacement for a selected contact with a lowest magnitude displacement, by determining an offset according to the lowest magnitude displacement, and, for each contact, adding the offset to coordinates of the contact. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A process performed by a computer comprising a processor, a memory, and an input for connection to a sensor, the process comprising:
-
receiving data through the input from the sensor into the memory, the data describing multiple sensed input points having locations in a sensor coordinate space; accessing, by the processor, settings stored in the memory and including at least a mapping mode, wherein the mapping mode is selected from a group comprising an absolute mapping mode and a relative mapping mode; mapping, by the processor, the sensed input points into data in the memory describing multiple contacts having locations in a viewport in a display coordinate space for a display of the computer based on at least the viewport and the mapping mode, wherein mapping the sensed input points into the contacts comprises; determining displacement of each of the contacts with respect to other contacts, and modifying the locations of the mapped contacts according to the determined displacement for a selected contact with a lowest magnitude displacement, by determining an offset according to the lowest magnitude displacement, and, for each contact, adding the offset to coordinates of the contact; and providing, by the processor, the data describing the multiple contacts to an input stack in the memory accessible by applications executed by the processor. - View Dependent Claims (15, 16, 17)
-
-
18. A computer system comprising:
-
one or more processors and memory; and at least one input for connection to a sensor to receive data describing multiple input points sensed by the sensor into the memory, the input points having locations in a sensor coordinate space; a runtime module comprising computer program instructions stored in the memory and executed by the one or more processors to map the sensed input points into data describing multiple contacts having locations in a viewport in a display coordinate space for a display of the computer system, and to provide the data describing the multiple contacts to an input stack in the memory accessible by applications executed by the one or more processors, wherein the runtime module further comprises settings including at least a boundary condition and a mapping mode, wherein the runtime module presents a user interface on a display enabling a user to select a mapping mode from a group comprising an absolute mapping mode and a relative mapping mode and to select a boundary condition from a group comprising a first boundary condition and a second boundary condition, wherein the runtime module maps the sensed input points from locations in the sensor coordinate space into the contacts having locations in the display coordinate space based on at least the viewport, the selected mapping mode, and the selected boundary condition by; mapping the locations for the sensed input points in the sensor coordinate space to coordinates of initial points in the display coordinate space using the selected mapping mode; in response to the selected mapping mode being the relative mapping mode, determining whether one or more of the initial points are not within a visible area of the display according to the selected boundary condition; in response to determining that the one or more of the initial points are not within the visible area of the display, computing an offset between coordinates of a bounding box including the initial points and coordinates of the viewport wherein the offset, when added to coordinates of the one or more initial points places one or more of the initial points in the visible area of the display according to the selected boundary condition; and adding the computer offset to the coordinates of the initial points to provide coordinates for the multiple contacts. - View Dependent Claims (19, 20)
-
Specification