Re: [PATCH v4] HID: hid-multitouch: support fine-grain orientation reporting
From: Henrik Rydberg <rydberg@bitmath.org>
Date: 2017-10-11 20:43:07
Also in:
lkml
Subsystem:
documentation, input (keyboard, mouse, joystick, touchscreen) drivers, input multitouch (mt) protocol, the rest · Maintainers:
Jonathan Corbet, Dmitry Torokhov, Henrik Rydberg, Linus Torvalds
quoted
quoted
, but I'd go for fixing the documentation. And re-reading it, it's not clear that the doc tells us to have [0,90]. It mentions negative values and out of ranges too, so we might just as well simply clarify that we rather have [-90,90], with 0 being "north".... I'd like the documentation fix to go in together in one go with this patch if possible.Sounds like a plan.
How about this patch? Henrik ---
From b14f92066dfab3f8a255ec7b5a30cb1a864dc62f Mon Sep 17 00:00:00 2001
From: Henrik Rydberg <rydberg@bitmath.org> Date: Wed, 11 Oct 2017 22:41:39 +0200 Subject: [PATCH] Input: docs - clarify the usage of ABS_MT_ORIENTATION As more drivers start to support touch orientation, clarify how the value range should be set to match the expected behavior in userland. Signed-off-by: Henrik Rydberg <rydberg@bitmath.org> --- Documentation/input/multi-touch-protocol.rst | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/Documentation/input/multi-touch-protocol.rst b/Documentation/input/multi-touch-protocol.rst
index 8035868..a0c5c03 100644
--- a/Documentation/input/multi-touch-protocol.rst
+++ b/Documentation/input/multi-touch-protocol.rst@@ -269,15 +269,17 @@ ABS_MT_ORIENTATION The orientation of the touching ellipse. The value should describe a signed quarter of a revolution clockwise around the touch center. The signed value range is arbitrary, but zero should be returned for an ellipse aligned with - the Y axis of the surface, a negative value when the ellipse is turned to - the left, and a positive value when the ellipse is turned to the - right. When completely aligned with the X axis, the range max should be - returned. + the Y axis of the surface (north). A negative value should be returned when + the ellipse is turned to the left (west), with the smallest value reported + when aligned with the negative X axis. The largest value should be returned + when aligned with the positive X axis. + + The value range should be specified as [-range_max, range_max]. Touch ellipsis are symmetrical by default. For devices capable of true 360 - degree orientation, the reported orientation must exceed the range max to + degree orientation, the reported orientation will exceed range_max, in order to indicate more than a quarter of a revolution. For an upside-down finger, - range max * 2 should be returned. + +- 2 * range_max should be returned. Orientation can be omitted if the touch area is circular, or if the information is not available in the kernel driver. Partial orientation
--
2.14.1