aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Kurtz <djkurtz@chromium.org>2011-08-24 02:02:36 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2011-08-24 02:08:20 -0400
commita93bd154d8571f1be84b04d7451ec72a490636d8 (patch)
tree8bee3368ff8af1639ea4104bef9ee07f2be07767
parenta6ca40c11eb5d98e53176adf527e430f7037a8c9 (diff)
Input: mt - document devices reporting more touches than slots
Some devices are capable of identifying and/or tracking more contacts than they can report to the driver. Document how a driver should handle this, and what userspace should expect. Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> Acked-by: Chase Douglas <chase.douglas@canonical.com> Acked-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
-rw-r--r--Documentation/input/multi-touch-protocol.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/Documentation/input/multi-touch-protocol.txt b/Documentation/input/multi-touch-protocol.txt
index 71536e78406f..543101c5bf26 100644
--- a/Documentation/input/multi-touch-protocol.txt
+++ b/Documentation/input/multi-touch-protocol.txt
@@ -65,6 +65,20 @@ the full state of each initiated contact has to reside in the receiving
65end. Upon receiving an MT event, one simply updates the appropriate 65end. Upon receiving an MT event, one simply updates the appropriate
66attribute of the current slot. 66attribute of the current slot.
67 67
68Some devices identify and/or track more contacts than they can report to the
69driver. A driver for such a device should associate one type B slot with each
70contact that is reported by the hardware. Whenever the identity of the
71contact associated with a slot changes, the driver should invalidate that
72slot by changing its ABS_MT_TRACKING_ID. If the hardware signals that it is
73tracking more contacts than it is currently reporting, the driver should use
74a BTN_TOOL_*TAP event to inform userspace of the total number of contacts
75being tracked by the hardware at that moment. The driver should do this by
76explicitly sending the corresponding BTN_TOOL_*TAP event and setting
77use_count to false when calling input_mt_report_pointer_emulation().
78The driver should only advertise as many slots as the hardware can report.
79Userspace can detect that a driver can report more total contacts than slots
80by noting that the largest supported BTN_TOOL_*TAP event is larger than the
81total number of type B slots reported in the absinfo for the ABS_MT_SLOT axis.
68 82
69Protocol Example A 83Protocol Example A
70------------------ 84------------------