NAMEmouseemu - Emulate mouse buttons and mouse wheel
is a daemon to emulate mouse buttons on trackpads with only
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 F11 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 F12 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 none.
- -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.pid`