Skip to content

Commit aaae03e

Browse files
jigpuJiri Kosina
authored andcommitted
HID: wacom: Fix touchring value reporting
Commit c7f0522 reports incorrect touchring values to userspace. This is due to its incorrect handling of the 'touched' bit present in the 'ring1' and 'ring2' variables. Instead of using this bit when determining if a value should be sent, the ABS_WHEEL and ABS_INPUT check (different?!) portions of the position bits. Furthermore, the full values of 'ring1' and 'ring2' are reported to userspace, despite the 'touched' flag needing to be trimmed beforehand. This commit addresses both issues. Signed-off-by: Jason Gerecke <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
1 parent 03a0dc5 commit aaae03e

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/hid/wacom_wac.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -560,8 +560,8 @@ static int wacom_intuos_pad(struct wacom_wac *wacom)
560560
input_report_abs(input, ABS_RX, strip1);
561561
input_report_abs(input, ABS_RY, strip2);
562562

563-
input_report_abs(input, ABS_WHEEL, ring1 & 0x7f ? ring1 : 0);
564-
input_report_abs(input, ABS_THROTTLE, ring2 & 0x07 ? ring2 : 0);
563+
input_report_abs(input, ABS_WHEEL, (ring1 & 0x80) ? (ring1 & 0x7f) : 0);
564+
input_report_abs(input, ABS_THROTTLE, (ring2 & 0x80) ? (ring2 & 0x7f) : 0);
565565

566566
input_report_key(input, wacom->tool[1], prox ? 1 : 0);
567567
input_report_abs(input, ABS_MISC, prox ? PAD_DEVICE_ID : 0);

0 commit comments

Comments
 (0)