====== Wacom Intuos ====== Kernel >= 4.4 required and this patch: --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -477,8 +477,6 @@ static void hid_ctrl(struct urb *urb) struct usbhid_device *usbhid = hid->driver_data; int unplug = 0, status = urb->status; - spin_lock(&usbhid->lock); - switch (status) { case 0: /* success */ if (usbhid->ctrl[usbhid->ctrltail].dir == USB_DIR_IN) @@ -498,6 +496,8 @@ static void hid_ctrl(struct urb *urb) hid_warn(urb->dev, "ctrl urb status %d received\n", status); } + spin_lock(&usbhid->lock); + if (unplug) { usbhid->ctrltail = usbhid->ctrlhead; } else { Pad buttons: ^ 3 \\ (Zoom out) | ^^^ 9 \\ (Redo) | | ^ 1 \\ (Zoom in) | ^ 8 \\ (Undo) | | xsetwacom set 'Wacom Intuos S 2 Pen stylus' MapToOutput HDMI1 ## Get with xrandr xsetwacom set 'Wacom Intuos S 2 Pad pad' Button 3 'button 5' ## Upper left xsetwacom set 'Wacom Intuos S 2 Pad pad' Button 1 'button 4' ## Lower left xsetwacom set 'Wacom Intuos S 2 Pad pad' Button 8 'key ctrl z' ## Lower right xsetwacom set 'Wacom Intuos S 2 Pad pad' Button 9 'key ctrl shift z' ## Upper right # xsetwacom set 'Wacom Intuos S 2 Pen stylus' Button 1 '...' ## Pen touches sourface # xsetwacom set 'Wacom Intuos S 2 Pen stylus' Button 2 '...' ## Lower pen key # xsetwacom set 'Wacom Intuos S 2 Pen stylus' Button 3 '...' ## Upper pen key