mdetect(1) mouse device autodetection tool


mdetect [option ...]


mdetect may be run without arguments.
display a help message and exit
do not search for PnP (Plug 'n' Play) mice
[not yet implemented]
be verbose; this option may be specified multiple times for increasing levels of verbosity
produce output appropriate for XFree86 3.x configuration
produce output appropriate for XFree86 4.x configuration


mdetect is a tool for autoconfiguring mice and compatible pointing devices; it is typically used as the backend to some user-friendly frontend code that, for example, asks the user to move the mouse for a moment. mdetect is then run while user is producing input on the mouse device. While mouse motion during detection is sometimes unnecessary, it is seldom problematic.

mdetect writes the autodetected mouse device and protocol to standard output. Unless either of the -o or -x options is given, mdetect produces output appropriate for configuring the gpm(1) program. Alternatively, output appropriate for an XFree86 X server configuration file is produced. If the -v option is given, some information about the program's status is also written to standard output, but this is largely unimplemented at this writing.

If mdetect is unable to find a mouse device, it exits after a few seconds of searching.


Detection of serial and PS/2 devices is often aided by moving the mouse while mdetect runs.

Terminals connected to serial ports may display a small amount of garbage to the screen while mdetect probes them, but this a harmless side-effect; the terminal's line settings are restored after the port has been probed.


mdetect's exit status is used to communicate information.
mdetect found a mouse and exited normally.
An error occurred while attempting to read from the mouse device.
mdetect timed out and gave up searching for a mouse device; this indicates either that no mouse device is attached to the computer, or that a mouse device exists which mdetect knows nothing about. This also happens if your only mouse device(s) are already open and in use; for instance, by gpm or an X Window System server.
An error occurred while trying to set up mdetect's signal handler.


Please report bugs in mdetect to <[email protected]>. The current bug list may be viewed at <>.


mdetect is copyright 1999 Caldera Systems, Inc. The actual authors are unknown. Branden Robinson of Progeny Linux Systems, Inc. and the Debian Project added several enhancements, including the XFree86-aware code and this manual page. Richard Hirst wrote code to save and restore serial port settings.


The mdetect source code is licensed under the Q Public License (QPL); see <>.

This manual page is licensed under the GNU General Public License.