- NetBSD Manual Pages
MOUSED(8) NetBSD System Manager's Manual MOUSED(8)
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
moused -- pass mouse data to mouse mux
moused [-DPRacdfs] [-I file] [-F rate] [-r resolution] [-S baudrate]
[-W devicename] [-a X[,Y]] [-m N=M] [-w N] [-z target]
[-t mousetype] [-3 [-E timeout]] -p port
moused [-Pd] -p port -i info
The mouse daemon moused and the console driver work together to support
access to serial mice from user programs. They virtualize the mouse and
provide user programs with mouse data in the standard format (see
moused listens to the specified port for mouse data, interprets and then
passes it via ioctls to the console driver. It reports translation move-
ment, button press/release events and movement of the roller or the wheel
if available. The roller/wheel movement is reported as ``Z'' axis move-
If moused receives the signal SIGHUP, it will reopen the mouse port and
reinitializes itself. Useful if the mouse is attached/detached while the
system is suspended.
The following options are available:
-3 Emulate the third (middle) button for 2-button mice. It is emu-
lated by pressing the left and right physical buttons simultane-
-D Lower DTR on the serial port. This option is valid only if
mousesystems is selected as the protocol type. The DTR line may
need to be dropped for a 3-button mouse to operate in the
When the third button emulation is enabled (see above), moused
waits timeout milliseconds at most before deciding whether two
buttons are being pressed simultaneously. The default timeout is
Set the report rate (reports per second) of the device if sup-
Write the process id of moused in the specified file. Without
this option, the process id will be stored in
-P Do not start the Plug and Play COM device enumeration procedure
when identifying the serial mouse. If this option is given
together with the -i option, moused will not be able to print
useful information for the serial mouse.
-R Lower RTS on the serial port. This option is valid only if
mousesystems is selected as the protocol type by the -t option
below. It is often used with the -D option above. Both RTS and
DTR lines may need to be dropped for a 3-button mouse to operate
in the mousesystems mode.
Select the baudrate for the serial port (1200 to 9600). Not all
serial mice support this option.
Select the wsmux(4) control device. The default is
Accelerate or decelerate the mouse input. This is a linear
acceleration only. Values less than 1.0 slow down movement, val-
ues greater than 1.0 speed it up. Specifying only one value sets
the acceleration for both axes.
-c Some mice report middle button down events as if the left and
right buttons are being pressed. This option handles this.
-d Enable debugging messages.
-f Do not become a daemon and instead run as a foreground process.
Useful for testing and debugging.
Print specified information and quit. Available pieces of infor-
port Port (device file) name, e.g. /dev/tty00.
if Interface type: serial, bus, inport or ps/2.
type Protocol type. It is one of the types listed under the
-t option below.
model Mouse model. moused may not always be able to identify
all All of the above items. Print port, interface, type
and model in this order in one line.
If moused cannot determine the requested information, it prints
``unknown'' or ``generic''.
-m N=M Assign the physical button M to the logical button N. You may
specify as many instances of this option as you like. More than
one physical button may be assigned to a logical button at the
same time. In this case the logical button will be down, if
either of the assigned physical buttons is held down. Do not put
space around `='.
Use port to communicate with the mouse.
Set the resolution of the device; in Dots Per Inch, or low,
medium-low, medium-high or high. This option may not be sup-
ported by all the device.
-s Select a baudrate of 9600 for the serial line. Not all serial
mice support this option.
Specify the protocol type of the mouse attached to the port. You
may explicitly specify a type listed below, or use auto to let
moused automatically select an appropriate protocol for the given
mouse. If you entirely omit this option on the command line, -t
auto is assumed. Under normal circumstances, you need to use
this option only if moused is not able to detect the protocol
Note that if a protocol type is specified with this option, the
-P option above is implied and Plug and Play COM device enumera-
tion procedure will be disabled.
Valid types for this option are listed below.
For the serial mouse:
microsoft Microsoft serial mouse protocol. Most 2-button
serial mice use this protocol.
intellimouse Microsoft IntelliMouse protocol. Genius Net-
Mouse, ASCII Mie Mouse, Logitech MouseMan+ and
FirstMouse+ use this protocol too. Other mice
with a roller/wheel may be compatible with this
mousesystems MouseSystems 5-byte protocol. 3-button mice may
use this protocol.
mmseries MM Series mouse protocol.
logitech Logitech mouse protocol. Note that this is for
old Logitech models. mouseman or intellimouse
should be specified for newer models.
mouseman Logitech MouseMan and TrackMan protocol. Some
3-button mice may be compatible with this proto-
col. Note that MouseMan+ and FirstMouse+ use
intellimouse protocol rather than this one.
glidepoint ALPS GlidePoint protocol.
thinkingmouse Kensington ThinkingMouse protocol.
mmhitab Hitachi tablet protocol.
x10mouseremote X10 MouseRemote.
kidspad Genius Kidspad and Easypad protocol.
versapad Interlink VersaPad protocol.
-w N Make the physical button N act as the wheel mode button. While
this button is pressed, X and Y axis movement is reported to be
zero and the Y axis movement is mapped to Z axis. You may fur-
ther map the Z axis movement to virtual buttons by the -z option
Map Z axis (roller/wheel) movement to another axis or to virtual
buttons. Valid target maybe:
y X or Y axis movement will be reported when the Z axis move-
ment is detected.
N Report down events for the virtual buttons N and N+1 respec-
tively when negative and positive Z axis movement is
detected. There do not need to be physical buttons N and
N+1. Note that mapping to logical buttons is carried out
after mapping from the Z axis movement to the virtual but-
tons is done.
Report down events for the virtual buttons N1 and N2 respec-
tively when negative and positive Z axis movement is
N1 N2 N3 N4
This is useful for the mouse with two wheels of which the
second wheel is used to generate horizontal scroll action,
and for the mouse which has a knob or a stick which can
detect the horizontal force applied by the user.
The motion of the second wheel will be mapped to the buttons
N3, for the negative direction, and N4, for the positive
direction. If the buttons N3 and N4 actually exist in this
mouse, their actions will not be detected.
Note that horizontal movement or second roller/wheel move-
ment may not always be detected, because there appears to be
no accepted standard as to how it is encoded.
Note also that some mice think left is the negative horizon-
tal direction, others may think otherwise. Moreover, there
are some mice whose two wheels are both mounted vertically,
and the direction of the second vertical wheel does not
match the first one's.
As many instances of moused as the number of mice attached to the system
may be run simultaneously; one instance for each serial mouse.
/dev/wsmuxctl0 default device to control mouse mux
/var/run/moused.pid process id of the currently running moused
moused -p /dev/tty00 -i type
Let moused determine the protocol type of the mouse at the serial port
/dev/tty00. If successful, moused will print the type, otherwise it will
moused -p /dev/tty00
If moused is able to identify the protocol type of the mouse at the spec-
ified port automatically, you can start the daemon without the -t option
and enable the mouse pointer in the text console as above.
moused -p /dev/tty01 -t microsoft
Start moused on the serial port /dev/tty01. The protocol type microsoft
is explicitly specified by the -t option.
moused -p /dev/tty01 -m 1=3 -m 3=1
Assign the physical button 3 (right button) to the logical button 1 (log-
ical left) and the physical button 1 (left) to the logical button 3 (log-
ical right). This will effectively swap the left and right buttons.
moused -p /dev/tty01 -t intellimouse -z 4
Report negative Z axis (roller) movement as the button 4 pressed and pos-
itive Z axis movement as the button 5 pressed.
The mouse daemon is normally enabled by setting moused=YES in
wsmouse(4), wsmux(4), rc.conf(5), wsmoused(8)
moused partially supports ``Plug and Play External COM Device
Specification'' in order to support PnP serial mice. However, due to
various degrees of conformance to the specification by existing serial
mice, it does not strictly follow version 1.0 of the standard. Even with
this less strict approach, it may not always determine an appropriate
protocol type for the given serial mouse.
The mouse daemon moused first appeared in FreeBSD 2.2 and NetBSD 1.6.
moused was written by Michael Smith <msmith@FreeBSD.org>. This manual
page was written by
Mike Pritchard <mpp@FreeBSD.org>. The daemon and manual page have since
been updated by
Kazutaka Yokota <yokota@FreeBSD.org>. The NetBSD port was done by
Lennart Augustsson <augustss@NetBSD.org>.
Many pad devices behave as if the first (left) button were pressed if the
user `taps' the surface of the pad. In contrast, some ALPS GlidePoint
and Interlink VersaPad models treat the tapping action as fourth button
events. Use the option ``-m 1=4'' for these models to obtain the same
effect as the other pad devices.
NetBSD 4.0 October 29, 2001 NetBSD 4.0