btnx
News

September 14, 2008

Good and bad news. Bad news first. Ubuntu Intrepid Ibex, which is to be released in October, breaks the foundations that btnx was built on. It seems that the kernel input event pipes can no longer be read. It is most likely related X.Org v.7.4. This means I will stop all development of btnx.

Then the good news. It seems evdev is catching up with today's input devices and reports all buttons from at least an MX Revolution. There exist methods to bind these buttons to other events. However, all of these are somewhat laborous and cryptic. One option is to develop a new GUI and daemon for binding these X mouse button events, similar to btnx, but one that lives only in x-sessions. It would sniff the X mouse events and send alternate keyboard/mouse events through XTest.

Description

btnx: Button Extension- a GNU/GPL mouse tool for GNU/Linux

btnx is a daemon that enables rerouting of mouse button events through uinput as keyboard and other mouse button combinations. For example, you can configure an extra mouse button to send a Ctrl+Alt+Right command to switch workspaces. This is especially useful for mice with more buttons than Gnome or KDE can properly handle, or mice that need evdev and a 100 step howto to register button events at all. btnx integrates revoco, a program that allows changing MX Revolution's wheel behavior.

btnx-config is a GUI configuration tool for btnx. btnx requires btnx-config to work, because btnx-config also detects your mouse and its buttons. This combination should work for just about any mouse.

READ ME! If you are having trouble with extra mouse button events, make sure you check the manual's troubleshooting section that describes a working xorg.conf InputSection. This seems to be a problem especially with X.Org v7.3.

Screenshots

btnx-config screenshots in GNOME.

btnx-config configuration window btnx-config button properties btnx-config revoco settings btnx-config mouse detection btnx-config button detection

Download source

RSS btnx version RSS feed.

Latest versions (btnx *requires* btnx-config):

The subversion repositories for the project are located at:

Download binary packages

These binary packages have been made by users. I have not tested them. If you make a package for your distro, you can submit it to me and I will add it to this list. There are also links to packages that are separately maintained for some distros.

Manual

btnx manual, also bundled with btnx-config. It contains installation and usage information. There is also a troubleshooting section which you should refer to if you have problems with btnx.

Contribute

If you find this tool useful, please help others use it by translating it into another language: btnx-config @ Launchpad. Please notify me if you have completed the translations for a language, or if you made a correction to a completed translation. Languages fully translated and distributed:

  • German
  • Dutch
  • French
  • Russian

Bug reports are valued. Please report them at Launchpad:

Old btnx

Old versions of btnx (pre v.0.3.0) do not require btnx-config. However, that branch is no longer maintained and the old btnx only works with supported mice. If you really want to use it, check this page: old btnx.

Contact

For any questions or comments, you can mail me directly at
oasalonen -a-t- gmail -d-t- com
You can also post your questions and comments in the btnx thread at the Ubuntu forums.