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:


You’ll need the following programs:

  1. xbindkeys: for remaping button events
  2. xvkbd: used to send specific keyboard events
  3. xmacro: used to send specific mouse events
  4. kompose: a program for the “Application-Switch” button
  5. lmctl: for disabling cruise control Download and install those programs, Ubuntu users will find most of them in the repositories.


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"

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"
    "echo ButtonPress 5 ButtonRelease 5 | xmacroplay -d 0 :0.0"

Replace them with the following:

    "xvkbd -xsendevent -text "\[Page_Up]""
    "xvkbd -xsendevent -text "\[Page_Down]""

That’s It

To test if everything works as expected, run the following two commands in a shell, to restart xbindkeys:

    killall xbindkeys


Want to comment? Send me an email!

Published on September 02, 2006.