mouseemu(8) Emulate mouse buttons and mouse wheel


mouseemu [options]


Mouseemu is a daemon to emulate mouse buttons on trackpads with only one button. It lets you:

  - emulate middle and right click

  - emulate mouse wheel

  - block trackpad while typing

It was initially developed for Apple PowerBooks and iBooks, but it may be useful on other architectures as well.

This program only works when booting a 2.6 kernel because it uses the new uinput interface to emulate the mouse.


-middle B2_MOD B2_KEY
Modifier and key for the middle (second) mouse button. Defaults to F10 and no modifier on PowerPC and Intel Macs, and to none on all other architectures.
-right B3_MOD B3_KEY
Modifier and key for the right (third) mouse button. Defaults to F11 and no modifier on PowerPC and Intel Macs, and to none on all other architectures.
-scroll SCROLL_MOD
Modifier for the scrolling function. Defaults to Alt.
-typing-block DELAY
Time in milliseconds for which the trackpad will be blocked while typing on the keyboard. Defaults to 300ms.
-device UINPUT
Device node for the uinput device. Defaults to /dev/uinput. If this device is not read and writeable the following devices are also tried: /dev/uinput, /dev/input/uinput and /dev/misc/uinput.
don't run in the background
Automatically scan every 5s for new devices. This is normally not need, as udev should inform mouseemu about new devices.
print debugging messages about device scans
show usage message

The key codes for the buttons and modifiers are key scancodes. They can be found in include/linux/input.h in the kernel headers or by using `showkey` in a console. The keycodes must be given as decimal values (`showkey` displays hex values!).

Mouseemu does normally not automatically scan for new devices. An udev rule is used to trigger a rescan when new devices are connected. You can also trigger a rescan manually by sending a HUP signal to the mouseemu process.


To have the same behaviour as in MacOS X (CTRL-click for right mouse button and no emulation for the middle button):

mouseemu -middle 0 0 -right 29 272

The code for the (left) mouse button is 272 (0x110 in hex). The code for CTRL is 29.

Trigger a rescan for newly attached devices:

kill -HUP `cat /var/run/`


Mouseemu was written by Colin Leroy <[email protected]>. This manpage was originally written by Gaudenz Steinlin <[email protected]> for the Debian Project, but may be used by others under the terms of the GNU General Public License.