From: Jason Gerecke Date: Wed, 7 Aug 2019 21:11:55 +0000 (-0700) Subject: HID: wacom: Correct distance scale for 2nd-gen Intuos devices X-Git-Tag: v5.4-rc1~66^2~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b72fb1dcd2ea9d29417711cb302cef3006fa8d5a;p=platform%2Fkernel%2Flinux-rpi.git 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 Cc: # v4.4+ Signed-off-by: Jiri Kosina --- diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c index 5007448..7a9e229 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);