Input: multitouch - add tracking ID to the protocol
authorHenrik Rydberg <rydberg@euromail.se>
Sat, 23 May 2009 16:51:20 +0000 (09:51 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sat, 23 May 2009 16:53:18 +0000 (09:53 -0700)
There are a few multi-touch devices that support finger tracking
well in hardware, Stantum being the prime example. By exposing the
tracking ID in the MT protocol, evdev bandwidth and cpu usage in
user space can be reduced.

This patch adds the ABS_MT_TRACKING_ID to the MT protocol.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Tested-by: Stéphane Chatty <chatty@enac.fr>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/input.c
include/linux/input.h

index e54e002665b0c7d697ae9dc5cc0750747bde9069..5d445f48789b899528c1f30d1f1115f324d553a5 100644 (file)
@@ -42,6 +42,7 @@ static unsigned int input_abs_bypass_init_data[] __initdata = {
        ABS_MT_POSITION_Y,
        ABS_MT_TOOL_TYPE,
        ABS_MT_BLOB_ID,
+       ABS_MT_TRACKING_ID,
        0
 };
 static unsigned long input_abs_bypass[BITS_TO_LONGS(ABS_CNT)];
index 0e6ff5de35884b6dbd749be01d5b2d681a2aa1ba..6fed4f6a9c9ea4f890afb20a1618131f95a2557b 100644 (file)
@@ -656,6 +656,7 @@ struct input_absinfo {
 #define ABS_MT_POSITION_Y      0x36    /* Center Y ellipse position */
 #define ABS_MT_TOOL_TYPE       0x37    /* Type of touching device */
 #define ABS_MT_BLOB_ID         0x38    /* Group a set of packets as a blob */
+#define ABS_MT_TRACKING_ID     0x39    /* Unique ID of initiated contact */
 
 #define ABS_MAX                        0x3f
 #define ABS_CNT                        (ABS_MAX+1)