Re: [PATCH] input: mt: Augment the event semantics documentation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dmitry Torokhov wrote:
> On Wednesday 20 May 2009 01:16:16 Henrik Rydberg wrote:
>> Dmitry Torokhov wrote:
>>> Hi Henrik,
>>>
>>> On Sun, May 17, 2009 at 10:51:19PM +0200, Henrik Rydberg wrote:
>>>> Through the collaboration to adapt the N-trig and Stantum HID
>>>> drivers to the MT protocol, some semantic clarifications to the
>>>> protocol have been made. This patch adds them to the MT documentation.
>>>>
>>>> Signed-off-by: Henrik Rydberg <rydberg@xxxxxxxxxxx>
>>>> Tested-by: Stéphane Chatty <chatty@xxxxxxx>
>>> I was wondering if the following changes would not make the text a bit
>>> better:
>> They do, thanks. I got more comments on the text, perhaps it is easiest
>> if I send an additional patch on top of this one, with your changes
>> included? It seems folding a patch is easier than to find out what
>> changes were made to the changes.
>>
>
> Sure, send it along.
>

Signed-off-by: Henrik Rydberg <rydberg@xxxxxxxxxxx>

diff --git a/Documentation/input/multi-touch-protocol.txt b/Documentation/input/multi-touch-protocol.txt
index dd755c2..a12ea3b 100644
--- a/Documentation/input/multi-touch-protocol.txt
+++ b/Documentation/input/multi-touch-protocol.txt
@@ -21,9 +21,9 @@ packet. The end of a packet is marked by calling the input_mt_sync()
 function, which generates a SYN_MT_REPORT event. This instructs the
 receiver to accept the data for the current finger and prepare to receive
 another. The end of a multi-touch transfer is marked by calling the usual
-input_sync() function. This instructs the receiver to perform actions based
-on the received packets, and prepare to receive a new set of finger
-packets.
+input_sync() function. This instructs the receiver to act upon events
+accumulated since last EV_SYN/SYN_REPORT and prepare to receive a new
+set of events/packets.

 A set of ABS_MT events with the desired properties is defined. The events
 are divided into categories, to allow for partial implementation.  The
@@ -39,6 +39,19 @@ shapes grouped together by an ABS_MT_BLOB_ID. Finally, for the few devices
 that currently support it, the ABS_MT_TRACKING_ID event may be used to
 report finger tracking from hardware [5].

+Here is what a minimal event sequence for a two-finger touch would look
+like:
+
+   ABS_MT_TOUCH_MAJOR
+   ABS_MT_POSITION_X
+   ABS_MT_POSITION_Y
+   SYN_MT_REPORT
+   ABS_MT_TOUCH_MAJOR
+   ABS_MT_POSITION_X
+   ABS_MT_POSITION_Y
+   SYN_MT_REPORT
+   SYN_REPORT
+

 Event Semantics
 ---------------
@@ -79,8 +92,8 @@ ABS_MT_ORIENTATION
 The orientation of the ellipse. The value should describe a signed quarter
 of a revolution clockwise around the touch center. The signed value range
 is arbitrary, but zero should be returned for a finger aligned along the Y
-axis of the surface, something negative when twisted to the left, and
-something positive when twisted to the right. When completely aligned with
+axis of the surface, a negative value when finger is turned to the left, and
+a positive value when finger turned to the right. When completely aligned with
 the X axis, the range max should be returned.  Orientation can be omitted
 if the touching object is circular, or if the information is not available
 in the kernel driver. Partial orientation support is possible if the device
@@ -107,7 +120,7 @@ ABS_MT_BLOB_ID

 The BLOB_ID groups several packets together into one arbitrarily shaped
 contact. This is a low-level anonymous grouping, and should not be confused
-with the high-level trackingID [5]. Most kernel drivers will not have this
+with the high-level trackingID [5]. Most kernel drivers will not have blob
 capability, and can safely omit the event.

 ABS_MT_TRACKING_ID
@@ -153,9 +166,9 @@ problem of assigning a set of anonymous fingers to a set of identified
 fingers is a euclidian bipartite matching problem at each event update, and
 relies on a sufficiently rapid update rate.

-There are a few devices that support trackingID in hardware. The X driver
-can make use of these native identifiers to reduce evdev bandwidth and cpu
-usage.
+There are a few devices that support trackingID in hardware. User space can
+make use of these native identifiers to reduce bandwidth and cpu usage.
+

 Notes
 -----
@@ -176,7 +189,7 @@ could be used to derive tilt.
 time of writing (April 2009), the MT protocol is not yet merged, and the
 prototype implements finger matching, basic mouse support and two-finger
 scrolling. The project aims at improving the quality of current multi-touch
-functionality available in the synaptics X driver, and in addition
+functionality available in the Synaptics X driver, and in addition
 implement more advanced gestures.
 [4] See the section on event computation.
 [5] See the section on finger tracking.
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux