diff --git a/src/backends/x11/meta-input-device-x11.c b/src/backends/x11/meta-input-device-x11.c index 4b1eeddf9..26a40620f 100644 --- a/src/backends/x11/meta-input-device-x11.c +++ b/src/backends/x11/meta-input-device-x11.c @@ -151,14 +151,25 @@ meta_input_device_x11_get_button_group (ClutterInputDevice *device, if (device_xi2->wacom_device) { + WacomButtonFlags flags; + if (button >= libwacom_get_num_buttons (device_xi2->wacom_device)) return -1; - return libwacom_get_button_led_group (device_xi2->wacom_device, - 'A' + button); + flags = libwacom_get_button_flag (device_xi2->wacom_device, + 'A' + button); + + if (flags & + (WACOM_BUTTON_RING_MODESWITCH | + WACOM_BUTTON_TOUCHSTRIP_MODESWITCH)) + return 0; + if (flags & + (WACOM_BUTTON_RING2_MODESWITCH | + WACOM_BUTTON_TOUCHSTRIP2_MODESWITCH)) + return 1; } - else - return -1; + + return -1; } #endif