The XFree86 X server supports three classes of mice: serial, bus and PS/2 mice.
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.
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.
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 (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,
is provided to assign the Z axis movement to another axis or a pair
of buttons (see below).