Commit b875a5a5 authored by Benjamin Tissoires's avatar Benjamin Tissoires Committed by Jiri Kosina

input: add MT_TOOL_DIAL

A dial is a tool you place on a multitouch surface which reports its
orientation or a relative angle of rotation when rotating its knob.

Some examples are the Dell Totem (on the Canvas 27"), the Microsoft Dial,
or the Griffin Powermate, though the later can't be put on a touch surface.

We give some extra space to account for other types of fingers if we need
(MT_TOOL_THUMB)

Slightly change the documentation to not make it mandatory to update each
MT_TOOL we add.
Reviewed-by: default avatarPeter Hutterer <peter.hutterer@who-t.net>
Acked-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 092150a2
...@@ -310,12 +310,12 @@ ABS_MT_TOOL_Y ...@@ -310,12 +310,12 @@ ABS_MT_TOOL_Y
ABS_MT_TOOL_TYPE ABS_MT_TOOL_TYPE
The type of approaching tool. A lot of kernel drivers cannot distinguish The type of approaching tool. A lot of kernel drivers cannot distinguish
between different tool types, such as a finger or a pen. In such cases, the between different tool types, such as a finger or a pen. In such cases, the
event should be omitted. The protocol currently supports MT_TOOL_FINGER, event should be omitted. The protocol currently mainly supports
MT_TOOL_PEN, and MT_TOOL_PALM [#f2]_. For type B devices, this event is MT_TOOL_FINGER, MT_TOOL_PEN, and MT_TOOL_PALM [#f2]_.
handled by input core; drivers should instead use For type B devices, this event is handled by input core; drivers should
input_mt_report_slot_state(). A contact's ABS_MT_TOOL_TYPE may change over instead use input_mt_report_slot_state(). A contact's ABS_MT_TOOL_TYPE may
time while still touching the device, because the firmware may not be able change over time while still touching the device, because the firmware may
to determine which tool is being used when it first appears. not be able to determine which tool is being used when it first appears.
ABS_MT_BLOB_ID ABS_MT_BLOB_ID
The BLOB_ID groups several packets together into one arbitrarily shaped The BLOB_ID groups several packets together into one arbitrarily shaped
......
...@@ -270,10 +270,11 @@ struct input_mask { ...@@ -270,10 +270,11 @@ struct input_mask {
/* /*
* MT_TOOL types * MT_TOOL types
*/ */
#define MT_TOOL_FINGER 0 #define MT_TOOL_FINGER 0x00
#define MT_TOOL_PEN 1 #define MT_TOOL_PEN 0x01
#define MT_TOOL_PALM 2 #define MT_TOOL_PALM 0x02
#define MT_TOOL_MAX 2 #define MT_TOOL_DIAL 0x0a
#define MT_TOOL_MAX 0x0f
/* /*
* Values describing the status of a force-feedback effect * Values describing the status of a force-feedback effect
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment