2. Supported Hardware

The serial mouse has been the most popular pointing device for
PCs.
There have been numerous serial mouse models from a number of
manufactures.
Despite the wide range of variations, there have been relatively
few protocols (data format) with which the serial mouse talks
to the host computer.

The modern serial mouse conforms to the PnP COM device specification
so that the host computer can automatically detect the mouse
and load an appropriate driver.
The XFree86 X server supports this specification and can detect
popular PnP serial mouse models on most platforms.

Bus mouse

The bus mouse connects to a dedicated interface card in an expansion
slot.
Some video cards, notably those from ATI, and integrated I/O
cards may also have a bus mouse connector.
Some bus mice are known as `InPort mouse'.

Note that some mouse manufactures have sold a package including a serial mouse
and a serial interface card.
Don't confuse this type of products with the genuine bus mouse.

PS/2 mouse

They are sometimes called `Mouse-port mouse'.
The PS/2 mouse is becoming increasingly common and popular.

The PS/2 mouse is an intelligent device and may have more than
three buttons and a wheel or a roller.
The PS/2 mouse is usually compatible with the original PS/2 mouse from IBM
immediately after power up.
The PS/2 mouse with additional features requires a specialized
initialization procedure to enable these features.
Without proper initialization, it behaves as though it were an ordinary
two or three button mouse.

USB mouse

USB (Universal Serial Bus) ports are present on most modern
computers. Several devices can be plugged into this bus, including
mices and keyboards.

The XFree86 server includes support for USB mices on some systems.

Many mice nowadays can be used both as a serial mouse and as a PS/2 mouse.
They has a logic to distinguish which interface it is connected to.
However, the mouse which is not marketed as compatible with both
serial and PS/2 mouse interface lacks this logic and cannot be
used in such a way, even if you can find an appropriate
adapter with which you can connect the PS/2 mouse to a serial port
or visa versa.

XFree86 supports the mouse with a wheel, a roller or a knob.
Its action is detected as the Z (third) axis motion of the mouse.
As the X server or clients normally do not use the Z axis movement of the
pointing device, a configuration option, "ZAxisMapping",
is provided to assign the Z axis movement to another axis or a pair
of buttons (see below).