diff options
author | Jason Gerecke <jason.gerecke@wacom.com> | 2019-08-07 14:11:55 -0700 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2019-08-19 14:08:58 +0200 |
commit | b72fb1dcd2ea9d29417711cb302cef3006fa8d5a (patch) | |
tree | 19a9e1ccde3ebefcd24203b7f90c542b9e318c23 | |
parent | a3384b8d9f63cc042711293bb97bdc92dca0391d (diff) | |
download | linux-b72fb1dcd2ea9d29417711cb302cef3006fa8d5a.tar.bz2 |
HID: wacom: Correct distance scale for 2nd-gen Intuos devices
Distance values reported by 2nd-gen Intuos tablets are on an inverted
scale (0 == far, 63 == near). We need to change them over to a normal
scale before reporting to userspace or else userspace drivers and
applications can get confused.
Ref: https://github.com/linuxwacom/input-wacom/issues/98
Fixes: eda01dab53 ("HID: wacom: Add four new Intuos devices")
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Cc: <stable@vger.kernel.org> # v4.4+
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r-- | drivers/hid/wacom_wac.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c index 50074485b88b..7a9e229e6253 100644 --- a/drivers/hid/wacom_wac.c +++ b/drivers/hid/wacom_wac.c @@ -846,6 +846,8 @@ static int wacom_intuos_general(struct wacom_wac *wacom) y >>= 1; distance >>= 1; } + if (features->type == INTUOSHT2) + distance = features->distance_max - distance; input_report_abs(input, ABS_X, x); input_report_abs(input, ABS_Y, y); input_report_abs(input, ABS_DISTANCE, distance); |