Mouse Support in XFree86® : Configuring Your Mouse
Previous: OS Support for Mice
Next: XF86Config Options

## 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:

  1. `"Logitech"` protocol is for old serial mouse models from Logitech. Modern Logitech mice use either `"MouseMan"` or `"Microsoft"` protocol.
  2. Most 2-button serial mice support the `"Microsoft"` protocol.
  3. 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.
  4. 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.
  5. If the serial mouse has a roller or a wheel, it may be compatible with the `"IntelliMouse"` protocol.
  6. 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 you suspect this is the case with your mouse, please send a report to XFree86@XFree86.Org .

USB mouse

  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.

Mouse Support in XFree86® : Configuring Your Mouse
Previous: OS Support for Mice
Next: XF86Config Options