diff options
author | Daniel Kurtz <djkurtz@chromium.org> | 2011-08-24 02:02:36 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2011-08-24 02:08:20 -0400 |
commit | a93bd154d8571f1be84b04d7451ec72a490636d8 (patch) | |
tree | 8bee3368ff8af1639ea4104bef9ee07f2be07767 | |
parent | a6ca40c11eb5d98e53176adf527e430f7037a8c9 (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.txt | 14 |
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 | |||
65 | end. Upon receiving an MT event, one simply updates the appropriate | 65 | end. Upon receiving an MT event, one simply updates the appropriate |
66 | attribute of the current slot. | 66 | attribute of the current slot. |
67 | 67 | ||
68 | Some devices identify and/or track more contacts than they can report to the | ||
69 | driver. A driver for such a device should associate one type B slot with each | ||
70 | contact that is reported by the hardware. Whenever the identity of the | ||
71 | contact associated with a slot changes, the driver should invalidate that | ||
72 | slot by changing its ABS_MT_TRACKING_ID. If the hardware signals that it is | ||
73 | tracking more contacts than it is currently reporting, the driver should use | ||
74 | a BTN_TOOL_*TAP event to inform userspace of the total number of contacts | ||
75 | being tracked by the hardware at that moment. The driver should do this by | ||
76 | explicitly sending the corresponding BTN_TOOL_*TAP event and setting | ||
77 | use_count to false when calling input_mt_report_pointer_emulation(). | ||
78 | The driver should only advertise as many slots as the hardware can report. | ||
79 | Userspace can detect that a driver can report more total contacts than slots | ||
80 | by noting that the largest supported BTN_TOOL_*TAP event is larger than the | ||
81 | total number of type B slots reported in the absinfo for the ABS_MT_SLOT axis. | ||
68 | 82 | ||
69 | Protocol Example A | 83 | Protocol Example A |
70 | ------------------ | 84 | ------------------ |