So I recently got a Wacom Bamboo Pen graphics tablet, which is wonderful. I've been trying it out as a general purpose mouse on my 14.04 laptop. The only annoyance is scrolling. The tablet has no scroll wheel nor scroll buttons, and moving to the scroll bar on the screen is really very annoying.

I remember using Windows you could click the middle mouse button to "autoscroll", which would be amazing with a tablet---it's exactly the sort of solution I want. I can't however, for the life of me work out how to implement this system-wide on Ubuntu.

I am aware that there are Chrome and Firefox extensions/options for enabling this for those browsers, but I would love something system wide. I understand that middle-click is "supposed to be" copy/paste on Linux, but when I have Ctrl+C/V I really don't need another clipboard, what I need is easy scrolling.

Any other solutions for simple scrolling with a graphics tablet would be much appreciated too. A keyboard shortcut perhaps?


You can use xsetwacom to redefine the keys of the stylus. Identify the stylus using xsetwacom --list devices

Wacom Serial Penabled Touchscreen stylus    id: 15  type: STYLUS    
Wacom Serial Penabled Touchscreen eraser    id: 16  type: ERASER    

and bind the button you want to use for scrolling (in my case the button at 2/3 of the pen, Button 2) via

xsetwacom set "Wacom Serial Penabled Touchscreen stylus" Button 2 2

The first value after the device name string is the name of the Button, i.e., Button 2 (with a space) and the second value "2" is the X11 button number of the middle mouse button, see also man xsetwacom.


As a fellow owner of Wacom tablet, I decided to make an autoscrolling utility. It works only on X11-based desktop environments (so no Wayland + Gnome).

Example config:

# Use `xinput list` to get device list. Wacom Bamboo registers 4
# devices. The relevant one is called "Wacom Bamboo Pen stylus". But
# there is nothing wrong with grabbing all 4 of them, which is why I use
# "Wacom" filter to catch them all. `_grep` part comes from the fact
# that the program is just running `xinput list | grep ${xinput_grep}`.
xinput_grep = "Wacom"

# Windows-like auto-scrolling. Press `button_id` to start scrolling,
# then move your mouse up or down. The longer the distance between the
# cursor and the starting point, the faster you scroll. Remove/comment
# out whole section if you don't want it.
# `hold = false` means click once to enable, click once to disable.
# Recommended `false` on tablets, as it's annoying when you connectivity
# while using `hold = true`.
hold = false
# Scrolling speed. Has different effect on different screen resolutions.
# Recommended to set `speed` to high value and decrease system-wide
# scrolling speed as much as possible. Equation: `speed`×`distance`[px]
# ÷1_000_000_000 = emulated mouse wheel rolls.
speed = 1000000
# Which button toggles scrolling. Button 2 is the middle mouse button.
# Button 3 is upper button on Wacom Bamboo Pen.
button_id = 3

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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