---
name: "mouseemu"
section: "8"
platform: "linux"
package: "mouseemu"
version: "0.15-10+b1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/mouseemu"
---

# mouseemu(8)

Emulate mouse buttons and mouse wheel

## NAME

mouseemu - Emulate mouse buttons and mouse wheel

## SYNOPSIS

**mouseemu** \[options\]

## DESCRIPTION

**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.

## OPTIONS

- **-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.

- **-nofork**

  don't run in the background

- **-autorescan**

  Automatically scan every 5s for new devices. This is normally not need, as udev should inform mouseemu about new devices.

- **-debug**

  print debugging messages about device scans

- **-help**

  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.

## EXAMPLES

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\`**

## AUTHOR

Mouseemu was written by  Colin Leroy  \<colin@colino.net\>. This manpage was originally written by Gaudenz Steinlin \<gaudenz@debian.org\> for the Debian Project, but may be used by others under the terms of the GNU General Public License.
