Methods for implementing multi-touch gestures on a single-touch touch surface
First Claim
1. A method for implementing a multi-touch gesture on a computing device having a non-multi-touch touch surface user input device, comprising:
- detecting a first location P1 of a touch event on the non-multi-touch touch surface user input device;
storing coordinates X1, Y1 of the first location P1 of the touch event on the non-multi-touch touch surface user input device;
detecting a jump in location of the touch event to a second virtual location P3 on the non-multi-touch touch surface user input device without detecting a touch-up event;
activating multi-touch functionality when the jump in location determined as a distance c between locations P1 and P3 exceeds a predetermined threshold distance;
storing the distance c and coordinates X3, Y3 of the second virtual location P3 of the touch event following the detected jump;
determining a third virtual location P3′
of the touch event upon input of a multi-touch gesture without detecting a touch-up event;
storing coordinates X3′
, Y3′
of the third virtual location P3′
;
determining and storing a distance c′
between locations P1 and P3′
, an angle D between lines P1P3 and P1P3′
, a distance C along an X-axis between P1 and P3, and a distance C′
along the X-axis between P3 and P3′
;
determining a graphical user interface function to be implemented based on applying the stored parameters of c, c′
, D, C, and C′
to a gestures data table; and
implementing the determined graphical user interface function.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods for activating multi-touch functionality by recognizing and processing multi-touch interactions on a touch surface of non-multi-touch computing devices. The computing device may detect a jump from the location of the first touch event to determine that a multiple touch gesture is being traced. Virtual touch events are detected and stored. Using mathematical formulae, parameters are calculated based on initial and subsequent virtual touch event locations. Based on these parameters the multi-touch functionality is determined, such as a zooming or rotating function. A transform factor may be determined and applied to the image display.
-
Citations
32 Claims
-
1. A method for implementing a multi-touch gesture on a computing device having a non-multi-touch touch surface user input device, comprising:
-
detecting a first location P1 of a touch event on the non-multi-touch touch surface user input device; storing coordinates X1, Y1 of the first location P1 of the touch event on the non-multi-touch touch surface user input device; detecting a jump in location of the touch event to a second virtual location P3 on the non-multi-touch touch surface user input device without detecting a touch-up event; activating multi-touch functionality when the jump in location determined as a distance c between locations P1 and P3 exceeds a predetermined threshold distance; storing the distance c and coordinates X3, Y3 of the second virtual location P3 of the touch event following the detected jump; determining a third virtual location P3′
of the touch event upon input of a multi-touch gesture without detecting a touch-up event;storing coordinates X3′
, Y3′
of the third virtual location P3′
;determining and storing a distance c′
between locations P1 and P3′
, an angle D between lines P1P3 and P1P3′
, a distance C along an X-axis between P1 and P3, and a distance C′
along the X-axis between P3 and P3′
;determining a graphical user interface function to be implemented based on applying the stored parameters of c, c′
, D, C, and C′
to a gestures data table; andimplementing the determined graphical user interface function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computing device, comprising:
-
a processor; a non-multi-touch touch surface user interface device coupled to the processor a memory coupled to the processor; and a display coupled to the processor, wherein the processor is configured with processor-executable instructions to perform processes comprising; detecting a first location P1 of a touch event on the non-multi-touch touch surface user interface device; storing coordinates X1, Y1 of the first location P1 of the touch event on the non-multi-touch touch surface user interface device; detecting a jump in location of the touch event to a second virtual location P3 on the non-multi-touch touch surface user interface device without detecting a touch-up event; activating multi-touch functionality when the jump in location determined as a distance c between locations P1 and P3 exceeds a predetermined threshold distance; storing the distance c and coordinates X3, Y3 of the second virtual location P3 of the touch event following the detected jump; determining a third virtual location P3′
of the touch event upon input of a multi-touch gesture on the non-multi-touch touch surface without detecting a touch-up event;storing coordinates X3′
, Y3′
of the third virtual location P3′
;determining and storing a distance c′
between locations P1 and P3′
, an angle D between lines P1P3 and P1P3′
, a distance C along an X-axis between P1 and P3, and a distance C′
along the X-axis between P3 and P3′
;determining a graphical user interface function to be implemented based on applying the stored parameters of c, c′
, D, C, and C′
to a gestures data table; andimplementing the determined graphical user interface function. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computing device, comprising:
-
means for detecting a first location P1 of a touch event on a non-multi-touch touch surface; means for storing coordinates X1, Y1 of the first location P1 of the touch event on the non-multi-touch touch surface; means for detecting a jump in location of the touch event to a second virtual location P3 on the non-multi-touch touch surface without detecting a touch-up event; means for activating multi-touch functionality when the jump in location determined as a distance c between locations P1 and P3 exceeds a predetermined threshold distance; means for storing the distance c and coordinates X3, Y3 of the second virtual location P3 of the touch event following the detected jump; means for determining a third virtual location P3′
of the touch event upon input of a multi-touch gesture without detecting a touch-up event;means for storing coordinates X3′
, Y3′
of the third virtual location P3′
;means for determining a distance c′
between locations P1 and P3′
, an angle D between lines P1P3 and P1P3′
, a distance C along an X-axis between P1 and P3, and a distance C′
along the X-axis between P3 and P3′
;means for storing parameters c′
, D , C, and C′
;means for determining a graphical user interface function to be implemented based on applying the stored parameters of c, c′
, D, C, and C′
to a gestures data table; andmeans for implementing the determined graphical user interface function. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A non-transitory computer-readable storage medium having stored thereon processor-executable instructions configured to cause a processor to perform operations comprising:
-
detecting a first location P1 of a touch event on a non-multi-touch touch surface; storing coordinates X1, Y1 of the first location P1 of the touch event on the non-multi-touch touch surface; detecting a jump in location of the touch event to a second virtual location P3 on the non-multi-touch touch surface without detecting a touch-up event; activating multi-touch functionality when the jump in location determined as a distance c between locations P1 and P3 exceeds a predetermined threshold distance; storing the distance c and coordinates X3, Y3 of the second virtual location P3 of the touch event following the detected jump; determining a third virtual location P3′
of the touch event upon input of a multi-touch gesture without detecting a touch-up event;storing coordinates X3′
, Y3′
of the third virtual location P3′
;determining and storing a distance c′
between locations P1 and P3′
, an angle D between lines P1P3 and P1P3′
, a distance C along an X-axis between P1 and P3, and a distance C′
along the X-axis between P3 and P3′
;determining a graphical user interface function to be implemented based on applying the stored parameters of c, c′
, D, C, and C′
to a gestures data table; andimplementing the determined graphical user interface function. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
Specification