Skip to content

Instantly share code, notes, and snippets.

@spelufo
Last active January 31, 2022 14:54
Show Gist options
  • Save spelufo/35d2078b74dbf529b8d0 to your computer and use it in GitHub Desktop.
Save spelufo/35d2078b74dbf529b8d0 to your computer and use it in GitHub Desktop.
Wacom Intuos Pen and Touch dual monitor setup

Wacom Intuos Pen and Touch dual monitor setup

I've had this tablet for a while, and setting it up in linux mint was even easier than on windows 7: plug and play. There's even a GUI for configuring it. Some great apps I use are Gimp, Xournal and Pencil.

But eventually I got tired of opening the configuration dialog to switch monitors, and mapping the tablet to the whole area is no good, because you loose too much presision beacuse of the extra sensitivity (smaller movements cause greater effects on screen).

So what I wanted was an easy way to switch between monitors. Here's what I did.

Made a simple script called wacom-map-to-output to change to a monitor:

#!/bin/bash

xsetwacom --set 'Wacom Intuos PT S Pen stylus' MapToOutput $1
xsetwacom --set 'Wacom Intuos PT S Pen eraser' MapToOutput $1

Example usage: wacom-map-to-output VGA1 for my external monitor, or wacom-map-to-output LVDS1 for my laptop monitor.

Now I wanted to execute that script when pressing buttons on the tablet. I found no direct way of doing this, so I set the scripts to run on certain key combinations from the mint's All Settings > Keyboard > Keyboard Shortcuts > Custom Shortcuts > Custom Shortcuts and then mapped the tablet's buttons to those key bindings.

Here is how to map the buttons to some keys:

PADID=`xsetwacom --list | perl -ne 'print $1 if /.*id:\s+(\d+).*PAD.*/'` # get the id, it might change every once in a while, so don't hard wire it like I had done before.
xsetwacom --set "$PADID" Button +3 "key ctrl alt shift 1"
xsetwacom --set "$PADID" Button +1 "key ctrl alt shift 2"

$PADID is the id of the 'Wacom Intuos PT S Finger pad', which you can get with xsetwacom list devices. The button ids you can find by trial and error by binding keys to them and trying them out, but fortunately someone with the same model had already done that. Thanks!

Finally, to make these mappings persist upon logout, add that snippet to your .profile.

@fl4shk
Copy link

fl4shk commented Apr 3, 2018

Thanks so much for this. ...Apparently I'm the first person to comment in three years, heh.

In any case, this solves the problems I was having. Thanks a lot.

@xcamposdiaz
Copy link

3 years later this work for me too.

Great thanks!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment