Consumer Tablet ExpressKey Mapping Issue

From linuxwacom
Revision as of 23:26, 10 May 2016 by Skomra (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page applies to, among others, the following devices:

"Wacom Bamboo 16FG 6x8", 0xDF
"Wacom Intuos PT S", 0x302
"Wacom Intuos PT M", 0x303
"Wacom Intuos S", 0x30E
"Wacom Intuos P M", 0x323
"Wacom Intuos S 2",0x33B
"Wacom Intuos PT S 2", 0x33C
"Wacom Intuos P M 2", 0x33D
"Wacom Intuos PT M 2", 0x33E



Wacom Branded devices have historically been divided into 2 categories, Professional (e.g. Intuos Pro) and Consumer (e.g. Intuos 2 (2015)). Because of the different target users of these devices, Wacom defines the default button mapping of each device differently. Wacom defines the default Windows button mapping for its consumer devices to be Left Button, Right Button, Back Button, and Forward Button. To replicate the default Windows button mapping, the Wacom Kernel driver and Wacom X driver attempts to pass along these same default button meanings, but GNOME does not watch for these values.

These consumer tablet ExpressKey events are given the values 1,3,8, and 9 when leaving the Wacom X driver. In contrast, the X driver passes along sequential numerical button mappings (1,2,3,8,9,...) for the professional tablet series (e.g. Intuos Pro, Intuos 4, Cintiq, etc.).


gnome-settings-daemon (gsd) and gnome-control-panel (gcc) work closely together. They provide the button mappings seen in the Wacom Gnome control panel (used in Fedora and RHEL) as well as the derivative Unity Control Panel (used in Ubuntu). The maintainers of gsd/gcc understandably do not wish to support the awkward button mapping of the consumer buttons. See the section "Relevant Discussions" below for more details.

Solutions - How to assign keyboard shortcuts

The most direct way to assign these buttons is to use xsetwacom. See Tablet Configuration for instructions on how to use xsetwacom. Using xsetwacom, you can bypass GNOME and set the meaning of the buttons one layer lower in the stack. You have to apply the xinput or xsetwacom command with each restart, so you may want to use a startup script like the one discussed in Tablet Configuration.

Technical details

The Consumer devices end up with the button numbers of 1,3,8, and 9 due to the translation of BTN_LEFT, BTN_RIGHT, BTN_BACK, and BTN_FORWARD (not respectively). It is possible, though potentially frustrating, to assign buttons 1,3, and 8 using GNOME's interface. For those buttons, the button representations on screen won't line up with the buttons on the physical tablet, but can still be assigned.

Relevant fix discussions:

Relevant Developer Discussions:

Personal tools