Recently, I bought a Kensington 64325 ExpertMouse trackball. The point of it was to help my carpal tunnel and tendonitis by decreasing the stress on my wrists and the twisting required to mouse. (I also bought a vertical mouse, but that's another story.) I set up the mouse on my macbook and got it all configured the way I wanted. Most notably, I'm using it with my left hand, even though I'm right handed, so it needed to not have the default configuration. (This is due to the fact that if you have the alphabet part of your keyboard centered on your desk, you will have to reach further with your right hand than your left. I did not come up with this, I got it from one of my professors.)
The trackball has 4 buttons, a trackball, and a scrollwheel. Two buttons on top, two on the bottom. I set them up (on my mac) so the top right was the click, top left: right click, bottom right was forward (in a browser) and bottom left was back. Everything was grand and I started getting good at navigating my computer without a normal mouse or my touchpad.
Then I brought the mouse into school. To plug into my Ubuntu desktop. I knew it would work on Ubuntu because that's the system I'd tested out before I'd bought mine. But the button mappings were all wrong. Combine this with the fact that there wasn't a special program to redo mappings (aka ExpertMouse?) in Linux and the fact that I have no admin rights on my computer and I was stumped. So I hooked the trackball into my mac and connected them using
Synergy. Since the mouse was primarily on my laptop, everything worked on my desktop the way I expected. Until today...when the internet was insanely slow, so I couldn't move my mouse between computers. Then I decided to fix this, once and forever.
I started searching the interwebs. (These specifics work in tsch, I haven't tried them in other shells.) I knew I was supposed to be able to fix the problem with something looking like this:
xmodmap -e 'pointer 3 2 8 1 5 4 7 6'
but I couldn't figure out what the numbers meant. I did a little more searching and came up with a slightly better mapping. I'll explain it here because I was so baffled by the online solutions, that I want to have this on hand for me and thought others might find it interesting/useful.
When the mouse is in it's default position, the numbers would read 1 2 3 4 5 6 7 8, I believe. A normal two-button mouse is just 1 2. A lefthanded mouse would be 2 1.
- 1 - normal click
- 2 - right click
- 3 - middle click
- 4 - scroll up?
- 5 - scroll down?
- 6 - ?
- 7 -?
- 8 - back (in browser)
- 9 - forward (in browser)
This is the solution that I came up with. The 7 was added because I needed all 9 consecutive numbers otherwise I got an error.
xmodmap -e 'pointer = 8 3 9 4 5 6 2 1 7'
This works the same as on my macbook. Top right is the click, top left: right click, bottom right is forward (in a browser) and bottom left is back. The scroll wheel hasn't changed.
Ah, adventures in making simple things more complicated!