aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>2016-07-13 12:06:13 -0400
committerJiri Kosina <jkosina@suse.cz>2016-08-05 07:39:21 -0400
commit5a0fe8abd169be4f2e1f73ad851419d502b5a832 (patch)
tree7cc710aa59b6e8975dcdbb8d09577db1de4d1222
parent34736aa96e313d304ffe0746519833167e66c978 (diff)
HID: wacom: leds: make sure Cintiq 21UX2 and 24HD control the right LEDs
The code for 21UX2 and 24HD makes the LED group 1 on the left, and the group 0 on the right. The buttons are ordered in the other way, but libwacom already exports those that way. So we simply can't reassign LED group 0 to the left buttons, and have to quirk the incoming data... Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r--drivers/hid/wacom_wac.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index 00e0c80be6d5..a9693d5d2e93 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -2768,6 +2768,15 @@ static bool wacom_is_led_toggled(struct wacom *wacom, int button_count,
2768{ 2768{
2769 int button_per_group; 2769 int button_per_group;
2770 2770
2771 /*
2772 * 24HD and 21UX2 have LED group 1 to the left and LED group 0
2773 * to the right. We need to reverse the group to match this
2774 * historical behavior.
2775 */
2776 if (wacom->wacom_wac.features.type == WACOM_24HD ||
2777 wacom->wacom_wac.features.type == WACOM_21UX2)
2778 group = 1 - group;
2779
2771 button_per_group = button_count/wacom->led.count; 2780 button_per_group = button_count/wacom->led.count;
2772 2781
2773 return mask & (1 << (group * button_per_group)); 2782 return mask & (1 << (group * button_per_group));