Skip to content

Commit

Permalink
HID: wacom: Fix touchring value reporting
Browse files Browse the repository at this point in the history
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 <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
  • Loading branch information
Jason Gerecke authored and Jiri Kosina committed Dec 17, 2015
1 parent 03a0dc5 commit aaae03e
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/hid/wacom_wac.c
Original file line number Diff line number Diff line change
Expand Up @@ -560,8 +560,8 @@ static int wacom_intuos_pad(struct wacom_wac *wacom)
input_report_abs(input, ABS_RX, strip1);
input_report_abs(input, ABS_RY, strip2);

input_report_abs(input, ABS_WHEEL, ring1 & 0x7f ? ring1 : 0);
input_report_abs(input, ABS_THROTTLE, ring2 & 0x07 ? ring2 : 0);
input_report_abs(input, ABS_WHEEL, (ring1 & 0x80) ? (ring1 & 0x7f) : 0);
input_report_abs(input, ABS_THROTTLE, (ring2 & 0x80) ? (ring2 & 0x7f) : 0);

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

0 comments on commit aaae03e

Please sign in to comment.