Commit e830c2c3 authored by Aaron Armstrong Skomra's avatar Aaron Armstrong Skomra Committed by Greg Kroah-Hartman

HID: wacom: fix bit shift for Cintiq Companion 2

commit 693c3dab upstream.

The bit indicating BTN_6 on this device is overshifted
by 2 bits, resulting in the incorrect button being
reported.

Also fix copy-paste mistake in comments.
Signed-off-by: default avatarAaron Armstrong Skomra <aaron.skomra@wacom.com>
Reviewed-by: default avatarPing Cheng <ping.cheng@wacom.com>
Link: https://github.com/linuxwacom/xf86-input-wacom/issues/71
Fixes: c7f0522a ("HID: wacom: Slim down wacom_intuos_pad processing")
Cc: <stable@vger.kernel.org> # v4.5+
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2364ed0d
...@@ -537,14 +537,14 @@ static int wacom_intuos_pad(struct wacom_wac *wacom) ...@@ -537,14 +537,14 @@ static int wacom_intuos_pad(struct wacom_wac *wacom)
*/ */
buttons = (data[4] << 1) | (data[3] & 0x01); buttons = (data[4] << 1) | (data[3] & 0x01);
} else if (features->type == CINTIQ_COMPANION_2) { } else if (features->type == CINTIQ_COMPANION_2) {
/* d-pad right -> data[4] & 0x10 /* d-pad right -> data[2] & 0x10
* d-pad up -> data[4] & 0x20 * d-pad up -> data[2] & 0x20
* d-pad left -> data[4] & 0x40 * d-pad left -> data[2] & 0x40
* d-pad down -> data[4] & 0x80 * d-pad down -> data[2] & 0x80
* d-pad center -> data[3] & 0x01 * d-pad center -> data[1] & 0x01
*/ */
buttons = ((data[2] >> 4) << 7) | buttons = ((data[2] >> 4) << 7) |
((data[1] & 0x04) << 6) | ((data[1] & 0x04) << 4) |
((data[2] & 0x0F) << 2) | ((data[2] & 0x0F) << 2) |
(data[1] & 0x03); (data[1] & 0x03);
} else if (features->type >= INTUOS5S && features->type <= INTUOSPL) { } else if (features->type >= INTUOS5S && features->type <= INTUOSPL) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment