4. Configuring Your Mouse

Before using the xf86config program
to set up mouse configuration, you must identify the interface type,
the device name and the protocol type of your mouse.
Blindly trying every possible combination of mouse settings
will lead you nowhere.

So, the first thing you need to know is the interface type
of the mouse you are going to use and this can be determined by looking
at the connector of the mouse.
The serial mouse has a D-Sub female 9- or 25-pin connector.
The bus mice have either a D-Sub male 9-pin connector
or a round DIN 9-pin connector.
The PS/2 mouse is equipped with a small, round DIN 6-pin connector.
Some mice come with adapters with which a connector can
be converted from one type to another. If you are to use such an adapter,
remember that the connector at the very end of the mouse/adapter pair is
what matters.

The next thing to do is decide what the device node to use for
the given interface. For the bus and PS/2 mice, there is little choice;
your OS most possibly offers just one device node each
for the bus mouse and PS/2 mouse.
There may be more than one serial port to which the serial
mouse can be attached.

The next step is to guess the appropriate protocol type for the mouse.
The X server may be able to select a protocol type for the given mouse
automatically in some cases.
Otherwise, the user has to choose one manually.
Follow the guidelines below.

Bus mouse

The bus and InPort mice always use "BusMouse"
protocol regardless of the brand of the mouse.

Some OSs may allow you to specify "Auto" as the
protocol type for the bus mouse.

PS/2 mouse

The "PS/2" protocol should always be tried first for the PS/2 mouse
regardless of the brand of the mouse.
Any PS/2 mouse should work with this protocol type, although
wheels and other additional features are unavailable in the
X server.

After verifying the mouse works with this protocol,
you may choose to specify one of "xxxPS/2" protocols so that
extra features are made available in the X server.
However, support for these PS/2 mice assumes certain behavior of
the underlying OS and may not always work as expected.
Support for some PS/2 mouse models may be disabled all together
for some OS platforms for this reason.

Some OSs may allow you to specify "Auto" as the
protocol type for the PS/2 mouse and the X server will automatically
adjust itself.

Serial mouse

The XFree86 server supports a wide range of mice, both old and new.
If your mouse is of a relatively new model, it may conform to the
PnP COM device specification and the X server may be able to
detect an appropriate protocol type for the mouse automatically.

Specify "Auto" as the protocol type and start the X server.
If the mouse is not a PnP mouse, or the X server cannot determine
a suitable protocol type, the server will print the following
error message and abort.

<mousename>: cannot determine the mouse protocol

If the X server generates the above error message, you need to
manually specify a protocol type for your mouse.
Choose one from the following list:

GlidePoint

IntelliMouse

Logitech

Microsoft

MMHittab

MMSeries

MouseMan

MouseSystems

ThinkingMouse

When you choose, keep in mind the following rule of thumb:

"Logitech" protocol is for old serial mouse models
from Logitech.
Modern Logitech mice use either "MouseMan" or "Microsoft"
protocol.

Most 2-button serial mice support the "Microsoft" protocol.

3-button serial mice may work with the "Mousesystems"
protocol. If it doesn't, it may work instead with the
"Microsoft" protocol although the third (middle) button won't
function.
3-button serial mice may also work with the "Mouseman"
protocol under which the third button may function as expected.

3-button serial mice may have a small switch at the bottom
of the mouse to choose between ``MS'' and ``PC'', or ``2'' and ``3''.
``MS'' or ``2'' usually mean the "Microsoft" protocol.
``PC'' or ``3'' will choose the "MouseSystems" protocol.

If the serial mouse has a roller or a wheel, it may be compatible
with the "IntelliMouse" protocol.

If the serial mouse has a roller or a wheel and it doesn't work
with the "IntelliMouse" protocol, you have to use it
as a regular 2- or 3-button serial mouse.

If the "Auto" protocol is specified and the mouse seems working,
but you find that not all features of the mouse is available, that is
because the X server does not have native support for that model of mouse
and is using a ``compatible'' protocol according to PnP information.

If your mouse is connected to the USB port, it can either be supported
by the "Auto" protocol, or by an OS-specific protocol (see below),
or as a generic Human Interface Device by the "usb" protocol.

Standardized protocols

Mouse device drivers in your OS may use the standardized protocol
regardless of the model or the class of the mouse.
For example, SVR4 systems may support "Xqueue" protocol.
In FreeBSD the system mouse device /dev/sysmouse
uses the "SysMouse" protocol.
Please refer to the OS support section of this file for more information.