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