Setting up your MX1000 for Linux
After the scrolling wheel of my old Typhoon mouse went crazy (I think because of a loose contact) I bought a Logitech MX1000. A very nice mouse with superior surface detection which made a mouse pad unnecessary for me. If you’re in my position you have a mouse with tons of buttons and want to use them all. This is how I did it:
Programs
You’ll need the following programs:
- xbindkeys: for remaping button events
- xvkbd: used to send specific keyboard events
- xmacro: used to send specific mouse events
- kompose: a program for the “Application-Switch” button
- lmctl: for disabling cruise control Download and install those programs, Ubuntu users will find most of them in the repositories.
Xorg.conf
Follow the instructions of this wiki article, it worked like a charm for me. If you have done what stands there, logout of KDE / Gnome and restart X to see if it works.
Further Customization
More Middle Clicking
Note: If you want to use horizontal scrolling, skip this part!
I really don’t like the middle mouse button of the MX1000, so I remapped the horizontal scrolling mouse button events to middle clicks: open your ~/.xbindkeysrc
and replace the last four lines with this:
# horiz scrolling = middle mouse button click
"echo ButtonPress 2 ButtonRelease 2 | xmacroplay -d 0 :0.0"
Release + b:13
"echo ButtonPress 2 ButtonRelease 2 | xmacroplay -d 0 :0.0"
Release + b:14
Using the Application-Switch button
Did you install kompose? Neat little program. Now let’s use it, by adding the following lines to your xbindkeysrc:
# Application-Switch button
# mapped on kompose
"dcop kompose KomposeDcopIface createDefaultView"
b:10
Don’t forget to launch kompose…
Page Up and Down
See those buttons before and after the mouse wheel? It doesn’t make sense to me, to make them scroll in the normal way, that’s why I mapped them to Page Up and Page Down.
First you’ll need to disable SmartScroll: Download lmctl and compile it. Then launch lmctl --no-sms
to disable the SmartScroll feature.
Now let’s edit your ~/.xbindkeysrc
one last time, look for the following four lines:
"echo ButtonPress 4 ButtonRelease 4 | xmacroplay -d 0 :0.0"
b:11
"echo ButtonPress 5 ButtonRelease 5 | xmacroplay -d 0 :0.0"
b:12
Replace them with the following:
"xvkbd -xsendevent -text "\[Page_Up]""
b:11
"xvkbd -xsendevent -text "\[Page_Down]""
b:12
That’s It
To test if everything works as expected, run the following two commands in a shell, to restart xbindkeys:
killall xbindkeys
xbindkeys
Comments
Want to comment? Send me an email!