input: mt: Add hovering distance axis
Touch devices capable of hovering, i.e., fingers detected a distance from the surface, are not supported by the current input MT protocol. This patch adds ABS_MT_DISTANCE, which may be used to indicate the distance between the contact and the surface. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
This commit is contained in:
parent
c5f4dec1ce
commit
e42a98b520
|
@ -161,7 +161,8 @@ against the glass. The inner region will increase, and in general, the
|
||||||
ratio ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR, which is always smaller than
|
ratio ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR, which is always smaller than
|
||||||
unity, is related to the contact pressure. For pressure-based devices,
|
unity, is related to the contact pressure. For pressure-based devices,
|
||||||
ABS_MT_PRESSURE may be used to provide the pressure on the contact area
|
ABS_MT_PRESSURE may be used to provide the pressure on the contact area
|
||||||
instead.
|
instead. Devices capable of contact hovering can use ABS_MT_DISTANCE to
|
||||||
|
indicate the distance between the contact and the surface.
|
||||||
|
|
||||||
In addition to the MAJOR parameters, the oval shape of the contact can be
|
In addition to the MAJOR parameters, the oval shape of the contact can be
|
||||||
described by adding the MINOR parameters, such that MAJOR and MINOR are the
|
described by adding the MINOR parameters, such that MAJOR and MINOR are the
|
||||||
|
@ -213,6 +214,12 @@ The pressure, in arbitrary units, on the contact area. May be used instead
|
||||||
of TOUCH and WIDTH for pressure-based devices or any device with a spatial
|
of TOUCH and WIDTH for pressure-based devices or any device with a spatial
|
||||||
signal intensity distribution.
|
signal intensity distribution.
|
||||||
|
|
||||||
|
ABS_MT_DISTANCE
|
||||||
|
|
||||||
|
The distance, in surface units, between the contact and the surface. Zero
|
||||||
|
distance means the contact is touching the surface. A positive number means
|
||||||
|
the contact is hovering above the surface.
|
||||||
|
|
||||||
ABS_MT_ORIENTATION
|
ABS_MT_ORIENTATION
|
||||||
|
|
||||||
The orientation of the ellipse. The value should describe a signed quarter
|
The orientation of the ellipse. The value should describe a signed quarter
|
||||||
|
|
|
@ -733,11 +733,12 @@ struct input_keymap_entry {
|
||||||
#define ABS_MT_BLOB_ID 0x38 /* Group a set of packets as a blob */
|
#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_MT_TRACKING_ID 0x39 /* Unique ID of initiated contact */
|
||||||
#define ABS_MT_PRESSURE 0x3a /* Pressure on contact area */
|
#define ABS_MT_PRESSURE 0x3a /* Pressure on contact area */
|
||||||
|
#define ABS_MT_DISTANCE 0x3b /* Contact hover distance */
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
/* Implementation details, userspace should not care about these */
|
/* Implementation details, userspace should not care about these */
|
||||||
#define ABS_MT_FIRST ABS_MT_TOUCH_MAJOR
|
#define ABS_MT_FIRST ABS_MT_TOUCH_MAJOR
|
||||||
#define ABS_MT_LAST ABS_MT_PRESSURE
|
#define ABS_MT_LAST ABS_MT_DISTANCE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define ABS_MAX 0x3f
|
#define ABS_MAX 0x3f
|
||||||
|
|
Loading…
Reference in New Issue