Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I've just bought an Intuos5 tablet and going to use it for some map digitizing under Ubuntu Linux 12.04 and 13.04. Map digitizing is quite different than sketching - I need to position the cursor exactly then to click, preferably with the other hand, avoiding accidental moving during the "click". That is why I would like to disable the left mouse click when the pen touches the tablet and use some "ExpressKeys" on the left instead.

Under Windows I can configure everything as I like - s. the screenshots: disable pen click, configuring express keys

Under Ubuntu Linux there are much less options in the GUI configuration applet - it is not possible to map a pad button to a mouse button - only to a keystroke. Ubuntu wacom settings

Next option I've tried is xsetwacom. Disabling a click was easy - just setting the Threshold for the pen to the highest 2048 value. Continuing with the button mapping...

xsetwacom is thoroughly documented and seems to offer my desired function. Wiki http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Tablet_Configuration#Pad contains a suitable example

xsetwacom set "Wacom BambooFun 2FG 4x5 Finger pad" Button 1 1
xsetwacom set "Wacom BambooFun 2FG 4x5 Finger pad" Button 2 2
xsetwacom set "Wacom BambooFun 2FG 4x5 Finger pad" Button 3 3
xsetwacom set "Wacom BambooFun 2FG 4x5 Finger pad" Button 4 4

Tried to adapt it for my intuos - did not work:

xsetwacom set 'Wacom Intuos5 touch L Pen pad' Button 2 2
xsetwacom set 'Wacom Intuos5 touch L Pen pad' Button 3 3

So my questions:

Does mapping ExpressKeys to "mouse" buttons work for anybody under Linux? With Intuos5? With other Intuos models? With a newer Bamboo? Could somebody just try the above xsetwacom commands on his tablet and tell if he can now click with ExpressKeys?

share|improve this question
    
where is that "Map Buttons" window to be found in Ubuntu? Is it included in some software you need to download? –  matt Sep 24 at 17:44

3 Answers 3

Great information in both posts. I had to do a lot of research myself to get this working and I wanted to post some things that I found that was either buried in other pages or discovered through trial and error.

First off to find your device name enter "xsetwacom list devices" This will list off the inputs for the tablet in whole. As an example I have a Wacom Intuos Pen and Touch Small, so my device list is:

Wacom Intuos PT S Pen stylus id: 9 type: STYLUS
Wacom Intuos PT S Finger touch id: 10 type: TOUCH
Wacom Intuos PT S Pen eraser id: 13 type: ERASER
Wacom Intuos PT S Finger pad id: 14 type: PAD

The id numbers didn't matter to me for mapping the express keys, but it does help to know which "device" is which. When I started this I was treating the whole bundle as one device.

Next to set the express keys enter 'xsetwacom --set "Your Device Name" Button +X "key x"' This is where I had to experiment a little. My keys were different than Clover's. For instance my +1 is bottom left, +3 top left, +8 bottom right, and +9 top right.

Since I'm using the tablet to draw I set my keys to functions I want to do quickly. So I have them set to the keyboard shortcuts for zooming in and out, undo, and new layer.

Another trick I had to work out was how to enter multiple key combinations (e.g. Undo is ctrl+z). To achieve this just put another modifier at the end. The function then becomes: xsetwacom --set "Your Device Name" Button +X "key x" "key y" "key z" "key etc."

These are the values for my device so you can see what it should look like without unnamed variables:

xsetwacom --set "Wacom Intuos PT S Finger pad" Button +1 "key ctrl" "key z"

xsetwacom --set "Wacom Intuos PT S Finger pad" Button +3 "key ctrl" "key shift" "key n"

xsetwacom --set "Wacom Intuos PT S Finger pad" Button +8 "Key -"

xsetwacom --set "Wacom Intuos PT S Finger pad" Button +9 "key shift" "key +"

While testing the buttons and values I set them to keys a-d just so I could click them to see if they were working and identify keys.

Finally once you get your keys mapped and you like the configuration save the command lines into a file an name it .xsetwacom.sh and put it into a bin folder in your home folder so you can keep it seperate from your normal directory. Add an executable command at the beginning

chmod +x $HOME/bin/.xsetwacom.sh

Then add the file to your startup programs and you now have expresskeys that will work even if you log out of your session.

Commands gathered from xsetwacom help and http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Tablet_Configuration#Pad

This is a little off topic of binding the buttons to click, but seeing as how this post is the first that comes up when doing a search for express keys I thought this answer would help those just beginning their search.

share|improve this answer

It turns out this is due to an issue with the way the Gnome / Unity event system has been designed. Because the developers feel that mouse buttons are not events with real meaning, Gnome ignores these events when they come from the pad driver. You'll see that with xev and a mapping from pad button to mouse button, nothing whatsoever is reported.

To fix this, open dconf-editor, go to org/gnome/settings-daemon/plugins/gsdwacom and uncheck the "active" key. You have to log out and log in again.

After doing this, you'll see that the relevant pad buttons now generate the configured mouse button events. I've tested and confirmed this on Ubuntu 14.04.1 with Unity.

Read more about this issue here: http://sourceforge.net/p/linuxwacom/mailman/message/32093263/

share|improve this answer

I use Wacom Intuis Pen & Touch under Ubuntu 13.10. It's working only with input-wacom-0.20.0 and xf86-input-wacom-0.23.0, so I manually compiled and installed it. Key mappings works great for both mouse and keyboad. On my finger pad, my keys is +1 (left up), +3 (left down), +8 (right up), +9 (right down). It does not work without plus sign. So, this is my commands:

xsetwacom --set "${FINGER_PAD}" Button +1 "key d"
xsetwacom --set "${FINGER_PAD}" Button +3 "key f"
xsetwacom --set "${FINGER_PAD}" Button +8 "3"
xsetwacom --set "${FINGER_PAD}" Button +9 "2"

Here's the documentation for the button settings (and the rest of xsetwacom) right now - http://manpages.ubuntu.com/manpages/precise/man1/xsetwacom.1.html

share|improve this answer
    
With Ubuntu 14.04.1 and Unity, I experience the same problem as the OP: I can map pad buttons to keys, but not to mouse buttons, no matter which combination I try. Judging by sourceforge.net/p/linuxwacom/mailman/message/32091384 this seems to be a bug at least in Gnome, and perhaps also in Unity. Which desktop environment did you use? –  Charl Botha Dec 2 at 9:54

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.