using my Microsoft trackball on linux

I have a very cluttered desk. In addition to the two monitors, two keyboards, two pointing devices (that’s what you call your mice if at least one of them is a trackball or trackpad), two webcams, two microphones, and two iPods, there is a ton of garbage, loose cables, photo paper, a CD spindle or two, post cards we bought and never sent, CDs awaiting import into iTunes, etc.

I don’t have a lot of room for all my stuff. For that reason I like my trackball. I got The Man™ to pay for my Microsoft Ergonomic Keyboard and also Trackball back in the day in Troy, but the stipulation was that I couldn’t take them with me when I left (why the hell not? I can’t imagine anyone else being happy to inherit them) for Regensburg four years ago.

No matter, I asked Den Mann™ replace my keyboard here in Germany with the Microsoft Ergonomic keyboard after a couple years, but I was still missing my trackball. I coughed up for a used one on eBay and am pretty happy with it, but until today, I hadn’t been able to get the little midget buttons to the left and right of the main buttons to work. I mostly wanted them to work as surrogate browser Back and Forward buttons like I remember from MSIE 4 or 5 back in the day.

Some quick googling revealed that I am not alone! Turns out it’s not a fix that has to happen in Firefox at all, but rather an X11 tweak. I found it on

Don’t forget to save a copy of your xorg.conf file first, in case you have to revert to it later!

Currently this can only be made to work in firefox and not in nautlis, yelp, ... with the following workaround:
1. Open a terminal and enter the following command:
$ sudo nano /etc/X11/xorg.conf
2. Change the "Configured Mouse" protocol to:
Option "Protocol" "Auto"
3. Add the following following line (this maps horizontal scrolling to your back and forward mouse button, horizontal scrolling by default has back and forward actions in firefox):
Option "ButtonMapping" "1 2 3 6 7"
It should look like this:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "Auto"
Option "ZAxisMapping" "4 5"
Option "ButtonMapping" "1 2 3 6 7"
Option "Emulate3Buttons" "true"
4. Restart X (Ctrl-Alt-Backspace).

One thought on “using my Microsoft trackball on linux”

  1. Carrie

    I love this site… But then again I enjoy organizing for stress relief.

What's your take on it?

This site uses Akismet to reduce spam. Learn how your comment data is processed.