Home | History | Annotate | Line # | Download | only in dist
README revision 1.1
      1  1.1  mrg   Mouse Support in X11R6.8
      2  1.1  mrg   Kazutaka Yokota
      3  1.1  mrg   17 December 2002
      4  1.1  mrg   ____________________________________________________________
      5  1.1  mrg 
      6  1.1  mrg   Table of Contents
      7  1.1  mrg 
      8  1.1  mrg 
      9  1.1  mrg   1. Introduction
     10  1.1  mrg   2. Supported Hardware
     11  1.1  mrg   3. OS Support for Mice
     12  1.1  mrg      3.1 Summary of Supported Mouse Protocol Types
     13  1.1  mrg      3.2 BSD/OS
     14  1.1  mrg      3.3 FreeBSD
     15  1.1  mrg      3.4 FreeBSD(98)
     16  1.1  mrg      3.5 Interactive Unix
     17  1.1  mrg      3.6 Linux
     18  1.1  mrg      3.7 Linux/98
     19  1.1  mrg      3.8 LynxOS
     20  1.1  mrg      3.9 NetBSD
     21  1.1  mrg      3.10 NetBSD/pc98
     22  1.1  mrg      3.11 OpenBSD
     23  1.1  mrg      3.12 OS/2
     24  1.1  mrg      3.13 SCO
     25  1.1  mrg      3.14 Solaris
     26  1.1  mrg      3.15 SVR4
     27  1.1  mrg      3.16 PANIX
     28  1.1  mrg 
     29  1.1  mrg   4. Configuring Your Mouse
     30  1.1  mrg   5. xorg.conf Options
     31  1.1  mrg      5.1 Buttons
     32  1.1  mrg      5.2 ZAxisMappping
     33  1.1  mrg      5.3 Resolution
     34  1.1  mrg      5.4 Drag Lock Buttons
     35  1.1  mrg 
     36  1.1  mrg   6. Mouse Gallery
     37  1.1  mrg      6.1 MS IntelliMouse  (serial, PS/2)
     38  1.1  mrg      6.2 MS IntelliMouse Explorer (PS/2, USB)
     39  1.1  mrg      6.3 Kensington Thinking Mouse and Kensington Expert Mouse (serial, PS/2)
     40  1.1  mrg      6.4 Genius NetScroll (PS/2)
     41  1.1  mrg      6.5 Genius NetMouse and NetMouse Pro (serial, PS/2)
     42  1.1  mrg      6.6 Genius NetScroll Optical (PS/2, USB)
     43  1.1  mrg      6.7 ALPS GlidePoint (serial, PS/2)
     44  1.1  mrg      6.8 ASCII MieMouse (serial, PS/2)
     45  1.1  mrg      6.9 Logitech MouseMan+ and FirstMouse+ (serial, PS/2)
     46  1.1  mrg      6.10 IBM ScrollPoint (PS/2)
     47  1.1  mrg      6.11 8D ScrollMouse (serial, PS/2)
     48  1.1  mrg      6.12 A4 Tech 4D mice (serial, PS/2, USB)
     49  1.1  mrg 
     50  1.1  mrg   7. Configuration Examples
     51  1.1  mrg 
     52  1.1  mrg 
     53  1.1  mrg   ______________________________________________________________________
     54  1.1  mrg 
     55  1.1  mrg   [1m1.  Introduction[0m
     56  1.1  mrg 
     57  1.1  mrg 
     58  1.1  mrg   This document describes mouse support in X.org Foundation's Xorg
     59  1.1  mrg   server.
     60  1.1  mrg 
     61  1.1  mrg   Mouse configuration has often been mysterious task for novice users.
     62  1.1  mrg   However, once you learn several basics, it is straightforward to write
     63  1.1  mrg   the mouse "InputDevice" section in the xorg.conf file by hand.
     64  1.1  mrg 
     65  1.1  mrg 
     66  1.1  mrg 
     67  1.1  mrg   [1m2.  Supported Hardware[0m
     68  1.1  mrg 
     69  1.1  mrg 
     70  1.1  mrg   The X.org Foundation X server supports four classes of mice: serial,
     71  1.1  mrg   bus and PS/2 mice, and additional mouse types supported by
     72  1.1  mrg   specific operating systems, such as USB mice.
     73  1.1  mrg 
     74  1.1  mrg 
     75  1.1  mrg      [1mSerial mouse[0m
     76  1.1  mrg         The serial mouse has been the most popular pointing device for
     77  1.1  mrg         PCs.  There have been numerous serial mouse models from a number
     78  1.1  mrg         of manufactures.  Despite the wide range of variations, there
     79  1.1  mrg         have been relatively few protocols (data format) with which the
     80  1.1  mrg         serial mouse talks to the host computer.
     81  1.1  mrg 
     82  1.1  mrg         The modern serial mouse conforms to the PnP COM device
     83  1.1  mrg         specification so that the host computer can automatically detect
     84  1.1  mrg         the mouse and load an appropriate driver.  The X server supports
     85  1.1  mrg         this specification and can detect popular PnP serial mouse
     86  1.1  mrg         models on most platforms.
     87  1.1  mrg 
     88  1.1  mrg 
     89  1.1  mrg      [1mBus mouse[0m
     90  1.1  mrg         The bus mouse connects to a dedicated interface card in an
     91  1.1  mrg         expansion slot.  Some video cards, notably those from ATI, and
     92  1.1  mrg         integrated I/O cards may also have a bus mouse connector.  Some
     93  1.1  mrg         bus mice are known as `InPort mouse'.
     94  1.1  mrg 
     95  1.1  mrg         Note that some mouse manufactures have sold a package including
     96  1.1  mrg         a serial mouse and a serial interface card.  Don't confuse this
     97  1.1  mrg         type of products with the genuine bus mouse.
     98  1.1  mrg 
     99  1.1  mrg 
    100  1.1  mrg      [1mPS/2 mouse[0m
    101  1.1  mrg         They are sometimes called `Mouse-port mouse'.  The PS/2 mouse is
    102  1.1  mrg         becoming increasingly common and popular.
    103  1.1  mrg 
    104  1.1  mrg         The PS/2 mouse is an intelligent device and may have more than
    105  1.1  mrg         three buttons and a wheel or a roller.  The PS/2 mouse is
    106  1.1  mrg         usually compatible with the original PS/2 mouse from IBM
    107  1.1  mrg         immediately after power up.  The PS/2 mouse with additional
    108  1.1  mrg         features requires a specialized initialization procedure to
    109  1.1  mrg         enable these features.  Without proper initialization, it
    110  1.1  mrg         behaves as though it were an ordinary two or three button mouse.
    111  1.1  mrg 
    112  1.1  mrg 
    113  1.1  mrg      [1mUSB mouse[0m
    114  1.1  mrg         USB (Universal Serial Bus) ports are present on most modern
    115  1.1  mrg         computers. Several devices can be plugged into this bus,
    116  1.1  mrg         including mice and keyboards.
    117  1.1  mrg 
    118  1.1  mrg         The server includes support for USB mice on some systems.
    119  1.1  mrg 
    120  1.1  mrg   Many mice nowadays can be used both as a serial mouse and as a PS/2
    121  1.1  mrg   mouse.  They has a logic to distinguish which interface it is
    122  1.1  mrg   connected to.  However, the mouse which is not marketed as compatible
    123  1.1  mrg   with both serial and PS/2 mouse interface lacks this logic and cannot
    124  1.1  mrg   be used in such a way, even if you can find an appropriate adapter
    125  1.1  mrg   with which you can connect the PS/2 mouse to a serial port or visa
    126  1.1  mrg   versa.
    127  1.1  mrg 
    128  1.1  mrg   X11R6.8 supports the mouse with a wheel, a roller or a knob.  Its
    129  1.1  mrg   action is detected as the Z (third) axis motion of the mouse.  As the
    130  1.1  mrg   X server or clients normally do not use the Z axis movement of the
    131  1.1  mrg   pointing device, a configuration option, "ZAxisMapping", is provided
    132  1.1  mrg   to assign the Z axis movement to another axis or a pair of buttons
    133  1.1  mrg   (see below).
    134  1.1  mrg   [1m3.  OS Support for Mice[0m
    135  1.1  mrg 
    136  1.1  mrg 
    137  1.1  mrg 
    138  1.1  mrg   [1m3.1.  Summary of Supported Mouse Protocol Types[0m
    139  1.1  mrg 
    140  1.1  mrg 
    141  1.1  mrg                                   Protocol Types
    142  1.1  mrg                   serial     PnP     BusMouse    PS/2   Extended PS/2
    143  1.1  mrg   OS platforms   protocols  serial   protocol  protocol  protocols
    144  1.1  mrg                             "Auto"  "BusMouse"  "PS/2"   "xxxPS/2"    USB
    145  1.1  mrg   -------------------------------------------------------------------------
    146  1.1  mrg   BSD/OS            Ok        ?         ?         ?         ?          ?
    147  1.1  mrg   FreeBSD           Ok        Ok        Ok        Ok        SP*1       SP*1
    148  1.1  mrg   FreeBSD(98)       Ok        ?         Ok        NA        NA         ?
    149  1.1  mrg   Interactive Unix  Ok        NA        ?*1       ?*1       NA         ?
    150  1.1  mrg   Linux             Ok        Ok        Ok        Ok        Ok         ?
    151  1.1  mrg   Linux/98          Ok        ?         Ok        NA        NA         ?
    152  1.1  mrg   LynxOS            Ok        NA        Ok        Ok        NA         ?
    153  1.1  mrg   NetBSD            Ok        Ok        Ok        SP*1      SP*1       SP*1
    154  1.1  mrg   NetBSD/pc98       Ok        ?         Ok        NA        NA         NA
    155  1.1  mrg   OpenBSD           Ok        Ok        Ok        Ok*1      Ok*1       Ok*1
    156  1.1  mrg   OS/2              SP*2      SP*2      SP*2      SP*2      SP*2       ?
    157  1.1  mrg   SCO               Ok        ?         SP*1      SP*1      NA         ?
    158  1.1  mrg   Solaris 2.x       Ok        NA*1      ?*1       Ok        Ok         SP*1
    159  1.1  mrg   SVR4              Ok        NA*1      SP*1      SP*1      NA         ?
    160  1.1  mrg   PANIX             Ok        ?         SP*1      SP*1      NA         ?
    161  1.1  mrg 
    162  1.1  mrg   Ok: support is available,  NA: not available, ?: untested or unknown.
    163  1.1  mrg   SP: support is available in a different form
    164  1.1  mrg 
    165  1.1  mrg   *1 Refer to the following sections for details.
    166  1.1  mrg   *2 X11R6.8/OS2 will support any type of mouse that the OS supports,
    167  1.1  mrg      whether it is serial, bus mouse, or PnP type.
    168  1.1  mrg 
    169  1.1  mrg 
    170  1.1  mrg 
    171  1.1  mrg   [1m3.2.  BSD/OS[0m
    172  1.1  mrg 
    173  1.1  mrg   No testing has been done with BSD/OS.
    174  1.1  mrg 
    175  1.1  mrg 
    176  1.1  mrg   [1m3.3.  FreeBSD[0m
    177  1.1  mrg 
    178  1.1  mrg   FreeBSD supports the "SysMouse" protocol which must be specified when
    179  1.1  mrg   the moused daemon is running in versions 2.2.1 or later.
    180  1.1  mrg 
    181  1.1  mrg   When running the mouseddaemon, you must always specify the
    182  1.1  mrg   /dev/sysmouse device and the "SysMouse" protocol to the X server,
    183  1.1  mrg   regardless of the actual type of your mouse.
    184  1.1  mrg 
    185  1.1  mrg   FreeBSD versions 2.2.6 or later include the kernel-level support for
    186  1.1  mrg   extended PS/2 mouse protocols and there is no need to specify the
    187  1.1  mrg   exact protocol name to the X server.  Instead specify the "PS/2" or
    188  1.1  mrg   "Auto" protocol and the X server will automatically make use of the
    189  1.1  mrg   kernel-level support.
    190  1.1  mrg 
    191  1.1  mrg   In fact, "Auto" protocol support is really efficient in these
    192  1.1  mrg   versions.  You may always specify "Auto" to any mouse, serial, bus or
    193  1.1  mrg   PS/2, unless the mouse is an old serial model which doesn't support
    194  1.1  mrg   PnP.
    195  1.1  mrg 
    196  1.1  mrg   FreeBSD versions 2.2.5 or earlier do not support extended PS/2 mouse
    197  1.1  mrg   protocols ("xxxPS/2").  Always specify the "PS/2" protocol for any
    198  1.1  mrg   PS/2 mouse in these versions regardless of the brand of the mouse.
    199  1.1  mrg   FreeBSD versions 3.1 or later have support for USB mice.  Specify the
    200  1.1  mrg   "Auto" protocol for the /dev/ums0 device.  (If the moused daemon is
    201  1.1  mrg   running for the USB mouse, you must use /dev/sysmouse instead of
    202  1.1  mrg   /dev/ums0 as explained above.) See the [4mums(4)[24m manual page for details.
    203  1.1  mrg 
    204  1.1  mrg 
    205  1.1  mrg   [1m3.4.  FreeBSD(98)[0m
    206  1.1  mrg 
    207  1.1  mrg   The PS/2 mouse is not supported.
    208  1.1  mrg 
    209  1.1  mrg 
    210  1.1  mrg   [1m3.5.  Interactive Unix[0m
    211  1.1  mrg 
    212  1.1  mrg   The PnP serial mouse support (the "Auto" protocol) is not supported
    213  1.1  mrg   for the moment.
    214  1.1  mrg 
    215  1.1  mrg   The bus mouse and PS/2 mouse should be supported by using the
    216  1.1  mrg   appropriate device drivers.  Use /dev/mouse for the "BusMouse"
    217  1.1  mrg   protocol and /dev/kdmouse for the "PS/2" protocol.  These protocols
    218  1.1  mrg   are untested but may work.  Please send success/failure reports to
    219  1.1  mrg   <michael.rohleder (a] stadt-frankfurt.de>.
    220  1.1  mrg 
    221  1.1  mrg 
    222  1.1  mrg   [1m3.6.  Linux[0m
    223  1.1  mrg 
    224  1.1  mrg   All protocol types should work.
    225  1.1  mrg 
    226  1.1  mrg 
    227  1.1  mrg   [1m3.7.  Linux/98[0m
    228  1.1  mrg 
    229  1.1  mrg   The PS/2 mouse is not supported.
    230  1.1  mrg 
    231  1.1  mrg 
    232  1.1  mrg   [1m3.8.  LynxOS[0m
    233  1.1  mrg 
    234  1.1  mrg   The PnP serial mouse support (the "Auto" protocol) is disabled in
    235  1.1  mrg   LynxOS, because of limited TTY device driver functionality.
    236  1.1  mrg 
    237  1.1  mrg 
    238  1.1  mrg   [1m3.9.  NetBSD[0m
    239  1.1  mrg 
    240  1.1  mrg   NetBSD 1.3.x and former does not support extended PS/2 mouse protocols
    241  1.1  mrg   ("xxxPS/2").  The PS/2 mouse device driver /dev/pms emulates the bus
    242  1.1  mrg   mouse.  Therefore, you should always specify the "BusMouse" protocol
    243  1.1  mrg   for any PS/2 mouse regardless of the brand of the mouse.
    244  1.1  mrg 
    245  1.1  mrg   The "wsmouse" protocol introduced in NetBSD 1.4 along with the wscons
    246  1.1  mrg   console driver is supported. You need to run binaries compiled on
    247  1.1  mrg   NetBSD 1.4 to have support for it though. Use "/dev/wsmouse0" for the
    248  1.1  mrg   device. Refer to the [4mwsmouse(4)[24m manual page for kernel configuration
    249  1.1  mrg   informations.
    250  1.1  mrg 
    251  1.1  mrg   This driver also provides support for USB mice. See the [4mums(4)[24m manual
    252  1.1  mrg   page for details.
    253  1.1  mrg 
    254  1.1  mrg 
    255  1.1  mrg   [1m3.10.  NetBSD/pc98[0m
    256  1.1  mrg 
    257  1.1  mrg   The PS/2 mouse is not supported.
    258  1.1  mrg 
    259  1.1  mrg 
    260  1.1  mrg   [1m3.11.  OpenBSD[0m
    261  1.1  mrg 
    262  1.1  mrg   The raw PS/2 mouse device driver /dev/psm0 uses the raw PS/2 mouse
    263  1.1  mrg   protocol.
    264  1.1  mrg 
    265  1.1  mrg   OpenBSD 2.2 and earlier does not support extended PS/2 mouse protocols
    266  1.1  mrg   ("xxxPS/2") .  Therefore, you should specify the "PS/2" protocol for
    267  1.1  mrg   any PS/2 mouse regardless of the brand of the mouse.
    268  1.1  mrg 
    269  1.1  mrg   OpenBSD 2.3 and later support all extended PS/2 mouse protocols.  You
    270  1.1  mrg   can select the "Auto" protocol for PnP PS/2 mice or any specific
    271  1.1  mrg   extended ("xxxPS/2") protocol for non PnP mice.
    272  1.1  mrg 
    273  1.1  mrg   There is also a cooked PS/2 mouse device driver /dev/pms0 which
    274  1.1  mrg   emulates the bus mouse.  Specify the "BusMouse" protocol for any PS/2
    275  1.1  mrg   mouse regardless of the brand of the mouse when using this device.
    276  1.1  mrg 
    277  1.1  mrg   XFree86 3.3.6 support USB mice on OpenBSD 2.6 and later though the
    278  1.1  mrg   generic Human Interface Device (hid) /dev/uhid*. Select the "usb"
    279  1.1  mrg   protocol and the /dev/uhid* instance corresponding to your mouse as
    280  1.1  mrg   the device name.
    281  1.1  mrg 
    282  1.1  mrg 
    283  1.1  mrg   [1m3.12.  OS/2[0m
    284  1.1  mrg 
    285  1.1  mrg   X11R6.8/OS2 always uses the native mouse driver of the operating
    286  1.1  mrg   system and will support any type of pointer that the OS supports,
    287  1.1  mrg   whether it is serial, bus mouse, or PnP type.  If the mouse works
    288  1.1  mrg   under Presentation Manager, it will also work under X11R6.8/OS2.
    289  1.1  mrg 
    290  1.1  mrg   Always specify "OSMouse" as the protocol type.
    291  1.1  mrg 
    292  1.1  mrg 
    293  1.1  mrg   [1m3.13.  SCO[0m
    294  1.1  mrg 
    295  1.1  mrg   The bus and PS/2 mouse are supported with the "OSMouse" protocol type.
    296  1.1  mrg 
    297  1.1  mrg   The "OSMouse" may also be used with the serial mouse.
    298  1.1  mrg 
    299  1.1  mrg 
    300  1.1  mrg   [1m3.14.  Solaris[0m
    301  1.1  mrg 
    302  1.1  mrg   Testing has been done with Solaris 2.5.1, 2.6, 7, 8, 9 and 10.
    303  1.1  mrg 
    304  1.1  mrg   On Solaris 10 1/06 and later versions with "virtual mouse" support,
    305  1.1  mrg   all PS/2 and USB mice connected to the system can be accessed via 
    306  1.1  mrg   the /dev/mouse device using the VUID protocol, including USB mice 
    307  1.1  mrg   plugged in after the X server is started.   On older releases or
    308  1.1  mrg   to address mice individually, specific devices and protocols may 
    309  1.1  mrg   be used.
    310  1.1  mrg 
    311  1.1  mrg   Logitech and Microsoft bus mice have not been tested, but might work
    312  1.1  mrg   with the /dev/logi and /dev/msm devices.
    313  1.1  mrg 
    314  1.1  mrg   Standard 2 and 3 button PS/2 mice work with the "PS/2" protocol type
    315  1.1  mrg   and the /dev/kdmouse device.  USB mice work with the "VUID" protocol
    316  1.1  mrg   type and the /dev/mouse device.  The PnP serial mouse support via the
    317  1.1  mrg   "Auto" protocol has been tested and does not work.  The "Auto"
    318  1.1  mrg   protocol can however detect PS/2 and USB mice correctly.
    319  1.1  mrg 
    320  1.1  mrg   Additional USB mice can be connected using the "VUID" protocol type
    321  1.1  mrg   and the appropriate "/dev/usb/hid" device with the Option
    322  1.1  mrg   "StreamsModule" "usbms" line included in the associated "InputDevice"
    323  1.1  mrg   section.
    324  1.1  mrg 
    325  1.1  mrg 
    326  1.1  mrg   [1m3.15.  SVR4[0m
    327  1.1  mrg 
    328  1.1  mrg   The bus and PS/2 mouse may be supported with the "Xqueue" protocol
    329  1.1  mrg   type.
    330  1.1  mrg 
    331  1.1  mrg   The "Xqueue" may also be used with the serial mouse.
    332  1.1  mrg 
    333  1.1  mrg   The PnP serial mouse support (the "Auto" protocol) is not tested.
    334  1.1  mrg 
    335  1.1  mrg 
    336  1.1  mrg   [1m3.16.  PANIX[0m
    337  1.1  mrg 
    338  1.1  mrg   The PC/AT version of PANIX supports the bus and PS/2 mouse with the
    339  1.1  mrg   "Xqueue" protocol type.  The PC-98 version of PANIX supports the bus
    340  1.1  mrg   mouse with the "Xqueue" protocol type.
    341  1.1  mrg 
    342  1.1  mrg 
    343  1.1  mrg   [1m4.  Configuring Your Mouse[0m
    344  1.1  mrg 
    345  1.1  mrg 
    346  1.1  mrg   Before using the xorgconfig program to set up mouse configuration, you
    347  1.1  mrg   must identify the interface type, the device name and the protocol
    348  1.1  mrg   type of your mouse.  Blindly trying every possible combination of
    349  1.1  mrg   mouse settings will lead you nowhere.
    350  1.1  mrg 
    351  1.1  mrg   The first thing you need to know is the interface type of the mouse
    352  1.1  mrg   you are going to use.  It can be determined by looking at the
    353  1.1  mrg   connector of the mouse.  The serial mouse has a D-Sub female 9- or
    354  1.1  mrg   25-pin connector.  The bus mice have either a D-Sub male 9-pin
    355  1.1  mrg   connector or a round DIN 9-pin connector.  The PS/2 mouse is equipped
    356  1.1  mrg   with a small, round DIN 6-pin connector.  USB mice have a thin 
    357  1.1  mrg   rectangular connector.  Some mice come with adapters with which the 
    358  1.1  mrg   connector can be converted to another.  If you are to use such an 
    359  1.1  mrg   adapter, remember that the connector at the very end of the mouse/adapter 
    360  1.1  mrg   pair is what matters.
    361  1.1  mrg 
    362  1.1  mrg   The next thing to decide is a device node to use for the given
    363  1.1  mrg   interface.  For the bus and PS/2 mice, there is little choice; your OS
    364  1.1  mrg   most possibly offers just one device node each for the bus mouse and
    365  1.1  mrg   PS/2 mouse.  There may be more than one serial port to which the
    366  1.1  mrg   serial mouse can be attached.
    367  1.1  mrg 
    368  1.1  mrg   The next step is to guess the appropriate protocol type for the mouse.
    369  1.1  mrg   The X server may be able to select a protocol type for the given mouse
    370  1.1  mrg   automatically in some cases.  Otherwise, the user has to choose one
    371  1.1  mrg   manually.  Follow the guidelines below.
    372  1.1  mrg 
    373  1.1  mrg 
    374  1.1  mrg      [1mBus mouse[0m
    375  1.1  mrg         The bus and InPort mice always use "BusMouse" protocol
    376  1.1  mrg         regardless of the brand of the mouse.
    377  1.1  mrg 
    378  1.1  mrg         Some OSs may allow you to specify "Auto" as the protocol type
    379  1.1  mrg         for the bus mouse.
    380  1.1  mrg 
    381  1.1  mrg 
    382  1.1  mrg      [1mPS/2 mouse[0m
    383  1.1  mrg         The "PS/2" protocol should always be tried first for the PS/2
    384  1.1  mrg         mouse regardless of the brand of the mouse.  Any PS/2 mouse
    385  1.1  mrg         should work with this protocol type, although wheels and other
    386  1.1  mrg         additional features are unavailable in the X server.
    387  1.1  mrg 
    388  1.1  mrg         After verifying the mouse works with this protocol, you may
    389  1.1  mrg         choose to specify one of "xxxPS/2" protocols so that extra
    390  1.1  mrg         features are made available in the X server.  However, support
    391  1.1  mrg         for these PS/2 mice assumes certain behavior of the underlying
    392  1.1  mrg         OS and may not always work as expected.  Support for some PS/2
    393  1.1  mrg         mouse models may be disabled all together for some OS platforms
    394  1.1  mrg         for this reason.
    395  1.1  mrg 
    396  1.1  mrg         Some OSs may allow you to specify "Auto" as the protocol type
    397  1.1  mrg         for the PS/2 mouse and the X server will automatically adjust
    398  1.1  mrg         itself.
    399  1.1  mrg 
    400  1.1  mrg 
    401  1.1  mrg      [1mSerial mouse[0m
    402  1.1  mrg         The server supports a wide range of mice, both old and new.  If
    403  1.1  mrg         your mouse is of a relatively new model, it may conform to the
    404  1.1  mrg         PnP COM device specification and the X server may be able to
    405  1.1  mrg         detect an appropriate protocol type for the mouse automatically.
    406  1.1  mrg 
    407  1.1  mrg         Specify "Auto" as the protocol type and start the X server.  If
    408  1.1  mrg         the mouse is not a PnP mouse, or the X server cannot determine a
    409  1.1  mrg         suitable protocol type, the server will print the following
    410  1.1  mrg         error message and abort.
    411  1.1  mrg 
    412  1.1  mrg 
    413  1.1  mrg         <mousename>: cannot determine the mouse protocol
    414  1.1  mrg 
    415  1.1  mrg 
    416  1.1  mrg 
    417  1.1  mrg      If the X server generates the above error message, you need to
    418  1.1  mrg      manually specify a protocol type for your mouse.  Choose one from
    419  1.1  mrg      the following list:
    420  1.1  mrg 
    421  1.1  mrg 
    422  1.1  mrg         +o  GlidePoint
    423  1.1  mrg 
    424  1.1  mrg         +o  IntelliMouse
    425  1.1  mrg 
    426  1.1  mrg         +o  Logitech
    427  1.1  mrg 
    428  1.1  mrg         +o  Microsoft
    429  1.1  mrg 
    430  1.1  mrg         +o  MMHittab
    431  1.1  mrg 
    432  1.1  mrg         +o  MMSeries
    433  1.1  mrg 
    434  1.1  mrg         +o  MouseMan
    435  1.1  mrg 
    436  1.1  mrg         +o  MouseSystems
    437  1.1  mrg 
    438  1.1  mrg         +o  ThinkingMouse
    439  1.1  mrg 
    440  1.1  mrg      When you choose, keep in mind the following rule of thumb:
    441  1.1  mrg 
    442  1.1  mrg 
    443  1.1  mrg         1. "Logitech" protocol is for old serial mouse models from
    444  1.1  mrg            Logitech.  Modern Logitech mice use either "MouseMan" or
    445  1.1  mrg            "Microsoft" protocol.
    446  1.1  mrg 
    447  1.1  mrg         2. Most 2-button serial mice support the "Microsoft" protocol.
    448  1.1  mrg 
    449  1.1  mrg         3. 3-button serial mice may work with the "Mousesystems"
    450  1.1  mrg            protocol. If it doesn't, it may work instead with the
    451  1.1  mrg            "Microsoft" protocol although the third (middle) button won't
    452  1.1  mrg            function.  3-button serial mice may also work with the
    453  1.1  mrg            "Mouseman" protocol under which the third button may function
    454  1.1  mrg            as expected.
    455  1.1  mrg 
    456  1.1  mrg         4. 3-button serial mice may have a small switch at the bottom of
    457  1.1  mrg            the mouse to choose between ``MS'' and ``PC'', or ``2'' and
    458  1.1  mrg            ``3''.  ``MS'' or ``2'' usually mean the "Microsoft"
    459  1.1  mrg            protocol.  ``PC'' or ``3'' will choose the "MouseSystems"
    460  1.1  mrg            protocol.
    461  1.1  mrg 
    462  1.1  mrg         5. If the serial mouse has a roller or a wheel, it may be
    463  1.1  mrg            compatible with the "IntelliMouse" protocol.
    464  1.1  mrg 
    465  1.1  mrg         6. If the serial mouse has a roller or a wheel and it doesn't
    466  1.1  mrg            work with the "IntelliMouse" protocol, you have to use it as
    467  1.1  mrg            a regular 2- or 3-button serial mouse.
    468  1.1  mrg 
    469  1.1  mrg      If the "Auto" protocol is specified and the mouse seems to be working,
    470  1.1  mrg      but you find that not all features of the mouse are available, that
    471  1.1  mrg      is because the X server does not have native support for that model
    472  1.1  mrg      of mouse and is using a ``compatible'' protocol according to PnP
    473  1.1  mrg      information.
    474  1.1  mrg 
    475  1.1  mrg      If you suspect this is the case with your mouse, please enter a
    476  1.1  mrg      bug report at http://bugzilla.freedesktop.org, using the xorg product.
    477  1.1  mrg 
    478  1.1  mrg 
    479  1.1  mrg      [1mUSB mouse[0m
    480  1.1  mrg         If your mouse is connected to the USB port, it can either be
    481  1.1  mrg         supported by the "Auto" protocol, or by an OS-specific protocol
    482  1.1  mrg         (see below), or as a generic Human Interface Device by the "usb"
    483  1.1  mrg         protocol.
    484  1.1  mrg 
    485  1.1  mrg 
    486  1.1  mrg      [1mStandardized protocols[0m
    487  1.1  mrg         Mouse device drivers in your OS may use the standardized
    488  1.1  mrg         protocol regardless of the model or the class of the mouse.  For
    489  1.1  mrg         example, SVR4 systems may support "Xqueue" protocol.  In FreeBSD
    490  1.1  mrg         the system mouse device /dev/sysmouse uses the "SysMouse"
    491  1.1  mrg         protocol.  Please refer to the OS support section of this file
    492  1.1  mrg         for more information.
    493  1.1  mrg 
    494  1.1  mrg 
    495  1.1  mrg 
    496  1.1  mrg   [1m5.  xorg.conf Options[0m
    497  1.1  mrg 
    498  1.1  mrg 
    499  1.1  mrg   The old Pointer section has been replaced by a more general
    500  1.1  mrg   InputDevice section.  The following is a minimal example of an
    501  1.1  mrg   InputDevice section for a mouse:
    502  1.1  mrg 
    503  1.1  mrg 
    504  1.1  mrg   ______________________________________________________________________
    505  1.1  mrg   Section "InputDevice"
    506  1.1  mrg           Identifier      "Mouse 1"
    507  1.1  mrg           Driver          "mouse"
    508  1.1  mrg           Option          "Device"    "/dev/mouse"
    509  1.1  mrg           Option          "Protocol"  "Auto"
    510  1.1  mrg   EndSection
    511  1.1  mrg   ______________________________________________________________________
    512  1.1  mrg 
    513  1.1  mrg 
    514  1.1  mrg 
    515  1.1  mrg   The mouse driver supports the following config file options:
    516  1.1  mrg 
    517  1.1  mrg 
    518  1.1  mrg   [1m5.1.  Buttons[0m
    519  1.1  mrg 
    520  1.1  mrg   This option tells the X server the number of buttons on the mouse.
    521  1.1  mrg   Currently there is no reliable way to automatically detect the correct
    522  1.1  mrg   number.  This option is the only means for the X server to obtain it.
    523  1.1  mrg   The default value is three.
    524  1.1  mrg 
    525  1.1  mrg   Note that if you intend to assign Z axis movement to button events
    526  1.1  mrg   using the ZAxisMapping option below, you need to take account of those
    527  1.1  mrg   buttons into N too.
    528  1.1  mrg 
    529  1.1  mrg 
    530  1.1  mrg           Option  "Buttons"   "N"
    531  1.1  mrg 
    532  1.1  mrg 
    533  1.1  mrg 
    534  1.1  mrg   [1m5.2.  ZAxisMapping[0m
    535  1.1  mrg 
    536  1.1  mrg   This option maps the Z axis (wheel) motion to buttons or to another
    537  1.1  mrg   axis.
    538  1.1  mrg           Option  "ZAxisMapping"      "X"
    539  1.1  mrg           Option  "ZAxisMapping"      "Y"
    540  1.1  mrg           Option  "ZAxisMapping"      "N1 N2"
    541  1.1  mrg           Option  "ZAxisMapping"      "N1 N2 N3 N4"
    542  1.1  mrg 
    543  1.1  mrg 
    544  1.1  mrg 
    545  1.1  mrg   The first example will map the Z axis motion to the X axis motion.
    546  1.1  mrg   Whenever the user moves the wheel/roller, its movement is reported as
    547  1.1  mrg   the X axis motion.  When the wheel/roller stays still, the real X axis
    548  1.1  mrg   motion is reported as is.  The third example will map negative Z axis
    549  1.1  mrg   motion to the button N1 and positive Z axis motion to the button N2.
    550  1.1  mrg   If this option is used and the buttons N1 or N2 actually exists in the
    551  1.1  mrg   mouse, their actions won't be detected by the X server.
    552  1.1  mrg 
    553  1.1  mrg   The last example is useful for the mouse with two wheels of which the
    554  1.1  mrg   second wheel is used to generate horizontal scroll action, and the
    555  1.1  mrg   mouse which has a knob or a stick which can detect the horizontal
    556  1.1  mrg   force applied by the user.  The motion of the second wheel will be
    557  1.1  mrg   mapped to the buttons N3, for the negative direction, and N4, for the
    558  1.1  mrg   positive direction.  If the buttons N3 and N4 actually exist in this
    559  1.1  mrg   mouse, their actions won't be detected by the X server.
    560  1.1  mrg 
    561  1.1  mrg   NOTE #1: horizontal movement may not always be detected by the current
    562  1.1  mrg   version of the X11R6.8 X servers, because there appears to be no
    563  1.1  mrg   accepted standard as to how the horizontal direction is encoded in
    564  1.1  mrg   mouse data.
    565  1.1  mrg 
    566  1.1  mrg   NOTE #2: Some mice think left is the negative horizontal direction,
    567  1.1  mrg   others may think otherwise.  Moreover, there are some mice whose two
    568  1.1  mrg   wheels are both mounted vertically, and the direction of the second
    569  1.1  mrg   vertical wheel does not match the first one's.
    570  1.1  mrg 
    571  1.1  mrg   You need to edit the xorg.conf file by hand to change this option if
    572  1.1  mrg   the default value of "4 5 6 7" does not match the needs of your
    573  1.1  mrg   configuration.
    574  1.1  mrg 
    575  1.1  mrg 
    576  1.1  mrg   [1m5.3.  Resolution[0m
    577  1.1  mrg 
    578  1.1  mrg   The following option will set the mouse device resolution to N counts
    579  1.1  mrg   per inch, if possible:
    580  1.1  mrg 
    581  1.1  mrg 
    582  1.1  mrg           Option  "Resolution"        "N"
    583  1.1  mrg 
    584  1.1  mrg 
    585  1.1  mrg 
    586  1.1  mrg   Not all mice and OSs can support this option.
    587  1.1  mrg 
    588  1.1  mrg 
    589  1.1  mrg   [1m5.4.  Drag Lock Buttons[0m
    590  1.1  mrg 
    591  1.1  mrg   Some people find it difficult or inconvenient to hold a trackball
    592  1.1  mrg   button down, while at the same time moving the ball. Drag lock buttons
    593  1.1  mrg   simulate the holding down of another button. When a drag lock button
    594  1.1  mrg   is  first pressed, its target buttons is "locked" down until the
    595  1.1  mrg   second time the lock button is released, or until the button itself is
    596  1.1  mrg   pressed and released. This allows the starting of a drag, the movement
    597  1.1  mrg   of the trackball, and the ending of the drag to be separate
    598  1.1  mrg   operations.
    599  1.1  mrg 
    600  1.1  mrg 
    601  1.1  mrg           Option  "DragLockButtons"   "W X Y Z"
    602  1.1  mrg 
    603  1.1  mrg 
    604  1.1  mrg   This option consists of pairs of buttons. Each lock button number is
    605  1.1  mrg   followed by the number of the button that it locks. In the above,
    606  1.1  mrg   button number "W" is a drag lock button for button "X" and button
    607  1.1  mrg   number "Y" is a drag lock button for button "Z".
    608  1.1  mrg 
    609  1.1  mrg   It may not be desirable to use multiple buttons as drag locks.
    610  1.1  mrg   Instead, a "master drag lock button" may be defined. A master drag
    611  1.1  mrg   lock button acts as a "META" key. After a master lock button is
    612  1.1  mrg   released, the next button pressed is "locked" and not released until
    613  1.1  mrg   the second time the real button is released.
    614  1.1  mrg 
    615  1.1  mrg 
    616  1.1  mrg           Option  "DragLockButtons"   "M"
    617  1.1  mrg 
    618  1.1  mrg 
    619  1.1  mrg 
    620  1.1  mrg   Since button "M" is unpaired it is a master drag lock button.
    621  1.1  mrg 
    622  1.1  mrg 
    623  1.1  mrg   [1m6.  Mouse Gallery[0m
    624  1.1  mrg 
    625  1.1  mrg 
    626  1.1  mrg   In all of the examples below, it is assumed that /dev/mouse is a link
    627  1.1  mrg   to the appropriate serial port or PS/2 mouse device.
    628  1.1  mrg 
    629  1.1  mrg 
    630  1.1  mrg   [1m6.1.  MS IntelliMouse  (serial, PS/2)[0m
    631  1.1  mrg 
    632  1.1  mrg   This mouse has a wheel which also acts as the button 2 (middle
    633  1.1  mrg   button).  The wheel movement is recognized as the Z axis motion.  This
    634  1.1  mrg   behavior is not compatible with XFree86 versions prior to 3.3.2, but
    635  1.1  mrg   is more consistent with the support for other mice with wheels or
    636  1.1  mrg   rollers.  If you want to make the wheel behave like before, you can
    637  1.1  mrg   use the "ZAxisMapping" option as described above.
    638  1.1  mrg 
    639  1.1  mrg   IntelliMouse supports the PnP COM device specification.
    640  1.1  mrg 
    641  1.1  mrg   To use this mouse as a serial device:
    642  1.1  mrg 
    643  1.1  mrg           Option  "Protocol"  "Auto"
    644  1.1  mrg 
    645  1.1  mrg 
    646  1.1  mrg   or:
    647  1.1  mrg 
    648  1.1  mrg           Option  "Protocol"  "IntelliMouse"
    649  1.1  mrg 
    650  1.1  mrg 
    651  1.1  mrg 
    652  1.1  mrg   To use this mouse as the PS/2 device and the OS supports PS/2 mouse
    653  1.1  mrg   initialization:
    654  1.1  mrg 
    655  1.1  mrg           Option  "Protocol"  "IMPS/2"
    656  1.1  mrg 
    657  1.1  mrg 
    658  1.1  mrg 
    659  1.1  mrg   To use this mouse as the PS/2 device but the OS does not support PS/2
    660  1.1  mrg   mouse initialization (the wheel won't work in this case):
    661  1.1  mrg 
    662  1.1  mrg           Option  "Protocol"  "PS/2"
    663  1.1  mrg 
    664  1.1  mrg 
    665  1.1  mrg 
    666  1.1  mrg   To use this mouse as the PS/2 device and the OS supports automatic
    667  1.1  mrg   PS/2 mouse detection:
    668  1.1  mrg 
    669  1.1  mrg 
    670  1.1  mrg           Option  "Protocol"  "Auto"
    671  1.1  mrg 
    672  1.1  mrg 
    673  1.1  mrg 
    674  1.1  mrg   [1m6.2.  MS IntelliMouse Explorer (PS/2, USB)[0m
    675  1.1  mrg 
    676  1.1  mrg   This mouse has a wheel which also acts as the button 2 (middle
    677  1.1  mrg   button).  There are two side buttons; they are recognized as the
    678  1.1  mrg   buttons 4 and 5.  The wheel movement is recognized as the Z axis
    679  1.1  mrg   motion.
    680  1.1  mrg 
    681  1.1  mrg   To use this mouse as the PS/2 device and the OS supports PS/2 mouse
    682  1.1  mrg   initialization:
    683  1.1  mrg 
    684  1.1  mrg           Option  "Protocol"  "ExplorerPS/2"
    685  1.1  mrg 
    686  1.1  mrg 
    687  1.1  mrg 
    688  1.1  mrg   To use this mouse as the PS/2 device but the OS does not support PS/2
    689  1.1  mrg   mouse initialization (the wheel and the side buttons won't work in
    690  1.1  mrg   this case):
    691  1.1  mrg 
    692  1.1  mrg           Option  "Protocol"  "PS/2"
    693  1.1  mrg 
    694  1.1  mrg 
    695  1.1  mrg 
    696  1.1  mrg   To use this mouse as the PS/2 device and the OS supports automatic
    697  1.1  mrg   PS/2 mouse detection:
    698  1.1  mrg 
    699  1.1  mrg           Option  "Protocol"  "Auto"
    700  1.1  mrg 
    701  1.1  mrg 
    702  1.1  mrg 
    703  1.1  mrg   To use this mouse as the USB device and the OS supports the generic
    704  1.1  mrg   HID protocol:
    705  1.1  mrg 
    706  1.1  mrg           Option  "Protocol"  "usb"
    707  1.1  mrg 
    708  1.1  mrg 
    709  1.1  mrg 
    710  1.1  mrg   To use this mouse as the USB device and the OS supports automatic
    711  1.1  mrg   mouse detection:
    712  1.1  mrg 
    713  1.1  mrg           Option  "Protocol"  "Auto"
    714  1.1  mrg 
    715  1.1  mrg 
    716  1.1  mrg 
    717  1.1  mrg   [1m6.3.  Kensington Thinking Mouse and Kensington Expert Mouse (serial,[0m
    718  1.1  mrg   [1mPS/2)[0m
    719  1.1  mrg 
    720  1.1  mrg   These mice have four buttons.  The Kensington Expert Mouse is really a
    721  1.1  mrg   trackball.  Both Thinking mice  support the PnP COM device
    722  1.1  mrg   specification.
    723  1.1  mrg 
    724  1.1  mrg   To use this mouse as a serial device:
    725  1.1  mrg 
    726  1.1  mrg           Option  "Protocol"  "Auto"
    727  1.1  mrg 
    728  1.1  mrg 
    729  1.1  mrg   or:
    730  1.1  mrg 
    731  1.1  mrg           Option  "Protocol"  "ThinkingMouse"
    732  1.1  mrg 
    733  1.1  mrg 
    734  1.1  mrg   To use this mouse as the PS/2 device and the OS supports PS/2 mouse
    735  1.1  mrg   initialization:
    736  1.1  mrg 
    737  1.1  mrg           Option  "Protocol"  "ThinkingMousePS/2"
    738  1.1  mrg 
    739  1.1  mrg 
    740  1.1  mrg 
    741  1.1  mrg   To use this mouse as the PS/2 device but the OS does not support PS/2
    742  1.1  mrg   mouse initialization (the third and the fourth buttons act as though
    743  1.1  mrg   they were the first and the second buttons):
    744  1.1  mrg 
    745  1.1  mrg           Option  "Protocol"  "PS/2"
    746  1.1  mrg 
    747  1.1  mrg 
    748  1.1  mrg 
    749  1.1  mrg   To use this mouse as the PS/2 device and the OS supports automatic
    750  1.1  mrg   PS/2 mouse detection:
    751  1.1  mrg 
    752  1.1  mrg           Option  "Protocol"  "Auto"
    753  1.1  mrg 
    754  1.1  mrg 
    755  1.1  mrg 
    756  1.1  mrg   [1m6.4.  Genius NetScroll (PS/2)[0m
    757  1.1  mrg 
    758  1.1  mrg   This mouse has four buttons and a roller.  The roller movement is
    759  1.1  mrg   recognized as the Z axis motion.
    760  1.1  mrg 
    761  1.1  mrg   To use this mouse as the PS/2 device and the OS supports PS/2 mouse
    762  1.1  mrg   initialization:
    763  1.1  mrg 
    764  1.1  mrg           Option  "Protocol"  "NetScrollPS/2"
    765  1.1  mrg 
    766  1.1  mrg 
    767  1.1  mrg 
    768  1.1  mrg   To use this mouse as the PS/2 device but the OS does not support PS/2
    769  1.1  mrg   mouse initialization (the roller and the fourth button won't work):
    770  1.1  mrg 
    771  1.1  mrg           Option  "Protocol"  "PS/2"
    772  1.1  mrg 
    773  1.1  mrg 
    774  1.1  mrg 
    775  1.1  mrg   To use this mouse as the PS/2 device and the OS supports automatic
    776  1.1  mrg   PS/2 mouse detection:
    777  1.1  mrg 
    778  1.1  mrg           Option  "Protocol"  "Auto"
    779  1.1  mrg 
    780  1.1  mrg 
    781  1.1  mrg 
    782  1.1  mrg   [1m6.5.  Genius NetMouse and NetMouse Pro (serial, PS/2)[0m
    783  1.1  mrg 
    784  1.1  mrg   These mice have a "magic button" which is used like a wheel or a
    785  1.1  mrg   roller.  The "magic button" action is recognized as the Z axis motion.
    786  1.1  mrg   NetMouse Pro is identical to NetMouse except that it has the third
    787  1.1  mrg   button on the left hand side.
    788  1.1  mrg 
    789  1.1  mrg   NetMouse and NetMouse Pro support the PnP COM device specification.
    790  1.1  mrg   When used as a serial mouse, they are compatible with MS IntelliMouse.
    791  1.1  mrg 
    792  1.1  mrg   To use these mice as a serial device:
    793  1.1  mrg 
    794  1.1  mrg           Option  "Protocol"  "Auto"
    795  1.1  mrg 
    796  1.1  mrg 
    797  1.1  mrg 
    798  1.1  mrg   or:
    799  1.1  mrg 
    800  1.1  mrg           Option  "Protocol"  "IntelliMouse"
    801  1.1  mrg 
    802  1.1  mrg 
    803  1.1  mrg 
    804  1.1  mrg   To use this mouse as the PS/2 device and the OS supports PS/2 mouse
    805  1.1  mrg   initialization:
    806  1.1  mrg 
    807  1.1  mrg           Option  "Protocol"  "NetMousePS/2"
    808  1.1  mrg 
    809  1.1  mrg 
    810  1.1  mrg 
    811  1.1  mrg   To use this mouse as the PS/2 device but the OS does not support PS/2
    812  1.1  mrg   mouse initialization (the "magic button" and the third button won't
    813  1.1  mrg   work):
    814  1.1  mrg 
    815  1.1  mrg           Option  "Protocol"  "PS/2"
    816  1.1  mrg 
    817  1.1  mrg 
    818  1.1  mrg 
    819  1.1  mrg   To use this mouse as the PS/2 device and the OS supports automatic
    820  1.1  mrg   PS/2 mouse detection:
    821  1.1  mrg 
    822  1.1  mrg           Option  "Protocol"  "Auto"
    823  1.1  mrg 
    824  1.1  mrg 
    825  1.1  mrg 
    826  1.1  mrg   [1m6.6.  Genius NetScroll Optical (PS/2, USB)[0m
    827  1.1  mrg 
    828  1.1  mrg   This mouse has a wheel which also acts as the button 2 (middle
    829  1.1  mrg   button), and two side buttons which are recognized as the buttons 4
    830  1.1  mrg   and 5.  It is compatible with NetMouse and NetMouse Pro.
    831  1.1  mrg 
    832  1.1  mrg   To use this mouse as the PS/2 device and the OS supports PS/2 mouse
    833  1.1  mrg   initialization:
    834  1.1  mrg 
    835  1.1  mrg           Option  "Protocol"  "NetMousePS/2"
    836  1.1  mrg 
    837  1.1  mrg 
    838  1.1  mrg 
    839  1.1  mrg   To use this mouse as the PS/2 device but the OS does not support PS/2
    840  1.1  mrg   mouse initialization (the wheel and the side buttons won't work):
    841  1.1  mrg 
    842  1.1  mrg           Option  "Protocol"  "PS/2"
    843  1.1  mrg 
    844  1.1  mrg 
    845  1.1  mrg 
    846  1.1  mrg   To use this mouse as the PS/2 device and the OS supports automatic
    847  1.1  mrg   PS/2 mouse detection:
    848  1.1  mrg 
    849  1.1  mrg           Option  "Protocol"  "Auto"
    850  1.1  mrg 
    851  1.1  mrg 
    852  1.1  mrg 
    853  1.1  mrg   To use this mouse as the USB device and the OS supports the generic
    854  1.1  mrg   HID protocol:
    855  1.1  mrg 
    856  1.1  mrg           Option  "Protocol"  "usb"
    857  1.1  mrg 
    858  1.1  mrg 
    859  1.1  mrg 
    860  1.1  mrg   To use this mouse as the USB device and the OS supports automatic
    861  1.1  mrg   mouse detection:
    862  1.1  mrg 
    863  1.1  mrg           Option  "Protocol"  "Auto"
    864  1.1  mrg 
    865  1.1  mrg 
    866  1.1  mrg 
    867  1.1  mrg   [1m6.7.  ALPS GlidePoint (serial, PS/2)[0m
    868  1.1  mrg 
    869  1.1  mrg   The serial version of this pad device has been supported since XFree86
    870  1.1  mrg   3.2.  `Tapping' action is interpreted as the fourth button press.
    871  1.1  mrg   (IMHO, the fourth button of GlidePoint should always be mapped to the
    872  1.1  mrg   first button in order to make this pad behave like the other pad
    873  1.1  mrg   products.)
    874  1.1  mrg 
    875  1.1  mrg   To use this pad as a serial device:
    876  1.1  mrg 
    877  1.1  mrg           Option  "Protocol"  "GlidePoint"
    878  1.1  mrg 
    879  1.1  mrg 
    880  1.1  mrg 
    881  1.1  mrg   To use this mouse as the PS/2 device and the OS supports PS/2 mouse
    882  1.1  mrg   initialization:
    883  1.1  mrg 
    884  1.1  mrg           Option  "Protocol"  "GlidePointPS/2"
    885  1.1  mrg 
    886  1.1  mrg 
    887  1.1  mrg 
    888  1.1  mrg   To use this mouse as the PS/2 device but the OS does not support PS/2
    889  1.1  mrg   mouse initialization:
    890  1.1  mrg 
    891  1.1  mrg           Option  "Protocol"  "PS/2"
    892  1.1  mrg 
    893  1.1  mrg 
    894  1.1  mrg 
    895  1.1  mrg   To use this mouse as the PS/2 device and the OS supports automatic
    896  1.1  mrg   PS/2 mouse detection:
    897  1.1  mrg 
    898  1.1  mrg           Option  "Protocol"  "Auto"
    899  1.1  mrg 
    900  1.1  mrg 
    901  1.1  mrg 
    902  1.1  mrg   [1m6.8.  ASCII MieMouse (serial, PS/2)[0m
    903  1.1  mrg 
    904  1.1  mrg   This mouse appears to be OEM from Genius.  Although its shape is quite
    905  1.1  mrg   different, it works like Genius NetMouse Pro.  This mouse has a "knob"
    906  1.1  mrg   which is used like a wheel or a roller.  The "knob" action is
    907  1.1  mrg   recognized as the Z axis motion.
    908  1.1  mrg 
    909  1.1  mrg   MieMouse supports the PnP COM device specification.  When used as a
    910  1.1  mrg   serial mouse, it is compatible with MS IntelliMouse.
    911  1.1  mrg 
    912  1.1  mrg   To use this mouse as a serial device:
    913  1.1  mrg 
    914  1.1  mrg           Option  "Protocol"  "Auto"
    915  1.1  mrg 
    916  1.1  mrg 
    917  1.1  mrg   or:
    918  1.1  mrg 
    919  1.1  mrg           Option  "Protocol"  "IntelliMouse"
    920  1.1  mrg 
    921  1.1  mrg 
    922  1.1  mrg 
    923  1.1  mrg   To use this mouse as the PS/2 device and the OS supports PS/2 mouse
    924  1.1  mrg   initialization:
    925  1.1  mrg 
    926  1.1  mrg 
    927  1.1  mrg           Option  "Protocol"  "NetMousePS/2"
    928  1.1  mrg 
    929  1.1  mrg 
    930  1.1  mrg 
    931  1.1  mrg   To use this mouse as the PS/2 device but the OS does not support PS/2
    932  1.1  mrg   mouse initialization (the knob and the third button won't work):
    933  1.1  mrg 
    934  1.1  mrg           Option  "Protocol"  "PS/2"
    935  1.1  mrg 
    936  1.1  mrg 
    937  1.1  mrg 
    938  1.1  mrg   To use this mouse as the PS/2 device and the OS supports automatic
    939  1.1  mrg   PS/2 mouse detection:
    940  1.1  mrg 
    941  1.1  mrg           Option  "Protocol"  "Auto"
    942  1.1  mrg 
    943  1.1  mrg 
    944  1.1  mrg 
    945  1.1  mrg   [1m6.9.  Logitech MouseMan+ and FirstMouse+ (serial, PS/2)[0m
    946  1.1  mrg 
    947  1.1  mrg   MouseMan+ has two buttons on top, one side button and a roller.
    948  1.1  mrg   FirstMouse+ has two buttons and a roller.  The roller movement is
    949  1.1  mrg   recognized as the Z axis motion.  The roller also acts as the third
    950  1.1  mrg   button.  The side button is recognized as the fourth button.
    951  1.1  mrg 
    952  1.1  mrg   MouseMan+ and FirstMouse+ support the PnP COM device specification.
    953  1.1  mrg   They have MS IntelliMouse compatible mode when used as a serial mouse.
    954  1.1  mrg 
    955  1.1  mrg   To use these mice as a serial device:
    956  1.1  mrg 
    957  1.1  mrg           Option  "Protocol"  "Auto"
    958  1.1  mrg 
    959  1.1  mrg 
    960  1.1  mrg   or:
    961  1.1  mrg 
    962  1.1  mrg           Option  "Protocol"  "IntelliMouse"
    963  1.1  mrg 
    964  1.1  mrg 
    965  1.1  mrg 
    966  1.1  mrg   To use this mouse as the PS/2 device and the OS supports PS/2 mouse
    967  1.1  mrg   initialization:
    968  1.1  mrg 
    969  1.1  mrg           Option  "Protocol"  "MouseManPlusPS/2"
    970  1.1  mrg 
    971  1.1  mrg 
    972  1.1  mrg 
    973  1.1  mrg   To use this mouse as the PS/2 device but the OS does not support PS/2
    974  1.1  mrg   mouse initialization (the wheel and the fourth button won't work):
    975  1.1  mrg 
    976  1.1  mrg           Option  "Protocol"  "PS/2"
    977  1.1  mrg 
    978  1.1  mrg 
    979  1.1  mrg 
    980  1.1  mrg   To use this mouse as the PS/2 device and the OS supports automatic
    981  1.1  mrg   PS/2 mouse detection:
    982  1.1  mrg 
    983  1.1  mrg           Option  "Protocol"  "Auto"
    984  1.1  mrg 
    985  1.1  mrg 
    986  1.1  mrg 
    987  1.1  mrg   [1m6.10.  IBM ScrollPoint (PS/2)[0m
    988  1.1  mrg 
    989  1.1  mrg   ScrollPoint has a "stick" in between the two buttons.  This "stick" is
    990  1.1  mrg   the same as the stick-shaped pointing device often found on notebook
    991  1.1  mrg   computers, on which you move the mouse cursor by pushing the stick.
    992  1.1  mrg   The stick movement is recognized as the Z axis motion.  You can push
    993  1.1  mrg   the stick to right and left, as well as forward and backward.  Give
    994  1.1  mrg   four numbers to ZAxisMapping option to map movement along all these
    995  1.1  mrg   four directions to button actions.
    996  1.1  mrg 
    997  1.1  mrg   This mouse is compatible with Logitech MouseMan+.  To use this mouse
    998  1.1  mrg   as the PS/2 device and the OS supports PS/2 mouse initialization:
    999  1.1  mrg 
   1000  1.1  mrg           Option  "Protocol"  "MouseManPlusPS/2"
   1001  1.1  mrg 
   1002  1.1  mrg 
   1003  1.1  mrg 
   1004  1.1  mrg   To use this mouse as the PS/2 device but the OS does not support PS/2
   1005  1.1  mrg   mouse initialization (the stick won't work):
   1006  1.1  mrg 
   1007  1.1  mrg           Option  "Protocol"  "PS/2"
   1008  1.1  mrg 
   1009  1.1  mrg 
   1010  1.1  mrg 
   1011  1.1  mrg   To use this mouse as the PS/2 device and the OS supports automatic
   1012  1.1  mrg   PS/2 mouse detection:
   1013  1.1  mrg 
   1014  1.1  mrg           Option  "Protocol"  "Auto"
   1015  1.1  mrg 
   1016  1.1  mrg 
   1017  1.1  mrg 
   1018  1.1  mrg   [1m6.11.  8D ScrollMouse (serial, PS/2)[0m
   1019  1.1  mrg 
   1020  1.1  mrg   ScrollMouse, also known as GyroMouse, has a "stick" similar to IBM
   1021  1.1  mrg   ScrollPoint.  The stick movement is recognized as the Z axis motion.
   1022  1.1  mrg   You can push the stick to right and left, as well as forward and
   1023  1.1  mrg   backward.  Give four numbers to ZAxisMapping option to map movement
   1024  1.1  mrg   along all these four directions to button actions.
   1025  1.1  mrg 
   1026  1.1  mrg   ScrollMouse supports the PnP COM device specification.  When used as a
   1027  1.1  mrg   serial mouse, it is compatible with MS IntelliMouse.
   1028  1.1  mrg 
   1029  1.1  mrg   To use this mouse as a serial device:
   1030  1.1  mrg 
   1031  1.1  mrg           Option  "Protocol"  "Auto"
   1032  1.1  mrg 
   1033  1.1  mrg 
   1034  1.1  mrg   or:
   1035  1.1  mrg 
   1036  1.1  mrg           Option  "Protocol"  "IntelliMouse"
   1037  1.1  mrg 
   1038  1.1  mrg 
   1039  1.1  mrg 
   1040  1.1  mrg   To use this mouse as the PS/2 device and the OS supports PS/2 mouse
   1041  1.1  mrg   initialization:
   1042  1.1  mrg 
   1043  1.1  mrg           Option  "Protocol"  "IMPS/2"
   1044  1.1  mrg 
   1045  1.1  mrg 
   1046  1.1  mrg 
   1047  1.1  mrg   To use this mouse as the PS/2 device but the OS does not support PS/2
   1048  1.1  mrg   mouse initialization (the stick won't work):
   1049  1.1  mrg 
   1050  1.1  mrg           Option  "Protocol"  "PS/2"
   1051  1.1  mrg 
   1052  1.1  mrg 
   1053  1.1  mrg 
   1054  1.1  mrg   To use this mouse as the PS/2 device and the OS supports automatic
   1055  1.1  mrg   PS/2 mouse detection:
   1056  1.1  mrg           Option  "Protocol"  "Auto"
   1057  1.1  mrg 
   1058  1.1  mrg 
   1059  1.1  mrg 
   1060  1.1  mrg   [1m6.12.  A4 Tech 4D mice (serial, PS/2, USB)[0m
   1061  1.1  mrg 
   1062  1.1  mrg   A4 Tech produces quit a number of mice with one or two wheels.  Their
   1063  1.1  mrg   mice may have 2, 3, or 4 buttons.  The wheels movement is recognized
   1064  1.1  mrg   as the Z axis motion.  Give four numbers to ZAxisMapping option to map
   1065  1.1  mrg   movement of both wheels to button actions.
   1066  1.1  mrg 
   1067  1.1  mrg   4D mice support the PnP COM device specification.  When used as a
   1068  1.1  mrg   serial mouse, it is compatible with MS IntelliMouse.
   1069  1.1  mrg 
   1070  1.1  mrg   To use this mouse as a serial device:
   1071  1.1  mrg 
   1072  1.1  mrg           Option  "Protocol"  "Auto"
   1073  1.1  mrg 
   1074  1.1  mrg 
   1075  1.1  mrg   or:
   1076  1.1  mrg 
   1077  1.1  mrg           Option  "Protocol"  "IntelliMouse"
   1078  1.1  mrg 
   1079  1.1  mrg 
   1080  1.1  mrg 
   1081  1.1  mrg   To use this mouse as the PS/2 device and the OS supports PS/2 mouse
   1082  1.1  mrg   initialization:
   1083  1.1  mrg 
   1084  1.1  mrg           Option  "Protocol"  "IMPS/2"
   1085  1.1  mrg 
   1086  1.1  mrg 
   1087  1.1  mrg 
   1088  1.1  mrg   To use this mouse as the PS/2 device but the OS does not support PS/2
   1089  1.1  mrg   mouse initialization (the wheels won't work):
   1090  1.1  mrg 
   1091  1.1  mrg           Option  "Protocol"  "PS/2"
   1092  1.1  mrg 
   1093  1.1  mrg 
   1094  1.1  mrg 
   1095  1.1  mrg   To use this mouse as the PS/2 device and the OS supports automatic
   1096  1.1  mrg   PS/2 mouse detection:
   1097  1.1  mrg 
   1098  1.1  mrg           Option  "Protocol"  "Auto"
   1099  1.1  mrg 
   1100  1.1  mrg 
   1101  1.1  mrg 
   1102  1.1  mrg   To use this mouse as the USB device and the OS supports the generic
   1103  1.1  mrg   HID protocol:
   1104  1.1  mrg 
   1105  1.1  mrg           Option  "Protocol"  "usb"
   1106  1.1  mrg 
   1107  1.1  mrg 
   1108  1.1  mrg 
   1109  1.1  mrg   To use this mouse as the USB device and the OS supports automatic
   1110  1.1  mrg   mouse detection:
   1111  1.1  mrg 
   1112  1.1  mrg           Option  "Protocol"  "Auto"
   1113  1.1  mrg 
   1114  1.1  mrg 
   1115  1.1  mrg 
   1116  1.1  mrg   [1m7.  Configuration Examples[0m
   1117  1.1  mrg 
   1118  1.1  mrg 
   1119  1.1  mrg 
   1120  1.1  mrg   This section shows some example InputDevice section for popular mice.
   1121  1.1  mrg   All the examples assume that the mouse is connected to the PS/2 mouse
   1122  1.1  mrg   port, and the OS supports the PS/2 mouse initialization.  It is also
   1123  1.1  mrg   assumed that /dev/mouse is a link to the PS/2 mouse port.
   1124  1.1  mrg 
   1125  1.1  mrg   Logitech MouseMan+ has 4 buttons and a wheel.  The following example
   1126  1.1  mrg   makes the wheel movement available as the button 5 and 6.
   1127  1.1  mrg 
   1128  1.1  mrg 
   1129  1.1  mrg   ______________________________________________________________________
   1130  1.1  mrg   Section "InputDevice"
   1131  1.1  mrg           Identifier      "MouseMan+"
   1132  1.1  mrg           Driver          "mouse"
   1133  1.1  mrg           Option          "Device"    "/dev/mouse"
   1134  1.1  mrg           Option          "Protocol"  "MouseManPlusPS/2"
   1135  1.1  mrg           Option          "Buttons"   "6"
   1136  1.1  mrg           Option          "ZAxisMapping"      "5 6"
   1137  1.1  mrg   EndSection
   1138  1.1  mrg   ______________________________________________________________________
   1139  1.1  mrg 
   1140  1.1  mrg 
   1141  1.1  mrg 
   1142  1.1  mrg   You can change button number assignment using the xmodmap command
   1143  1.1  mrg   AFTER you start the X server with the above configuration.  You may
   1144  1.1  mrg   not like to use the wheel as the button 2 and rather want the side
   1145  1.1  mrg   button (button 4) act like the button 2.  You may also want to map the
   1146  1.1  mrg   wheel movement to the button 4 and 5.  This can be done by the
   1147  1.1  mrg   following command:
   1148  1.1  mrg 
   1149  1.1  mrg 
   1150  1.1  mrg           xmodmap -e "pointer = 1 6 3 2 4 5"
   1151  1.1  mrg 
   1152  1.1  mrg 
   1153  1.1  mrg 
   1154  1.1  mrg   After this command is run, the correspondence between the buttons and
   1155  1.1  mrg   button numbers will be as shown in the following table.
   1156  1.1  mrg 
   1157  1.1  mrg 
   1158  1.1  mrg   Physical Buttons        Reported as:
   1159  1.1  mrg   ------------------------------------
   1160  1.1  mrg   1 Left Button             Button 1
   1161  1.1  mrg   2 Wheel Button            Button 6
   1162  1.1  mrg   3 Right Button            Button 3
   1163  1.1  mrg   4 Side Button             Button 2
   1164  1.1  mrg   5 Wheel Negative Move     Button 4
   1165  1.1  mrg   6 Wheel Positive Move     Button 5
   1166  1.1  mrg 
   1167  1.1  mrg   Starting in the Xorg 6.9 release, you can also achieve this in your
   1168  1.1  mrg   configuration file by adding this to the "InputDevice" section in 
   1169  1.1  mrg   xorg.conf:
   1170  1.1  mrg 
   1171  1.1  mrg        Option "ButtonMapping" "1 6 3 2 4 5"
   1172  1.1  mrg 
   1173  1.1  mrg   For the MS IntelliMouse Explorer which as a wheel and 5 buttons, you
   1174  1.1  mrg   may have the following InputDevice section.
   1175  1.1  mrg 
   1176  1.1  mrg 
   1177  1.1  mrg   ______________________________________________________________________
   1178  1.1  mrg   Section "InputDevice"
   1179  1.1  mrg           Identifier      "IntelliMouse Explorer"
   1180  1.1  mrg           Driver          "mouse"
   1181  1.1  mrg           Option          "Device"    "/dev/mouse"
   1182  1.1  mrg           Option          "Protocol"  "ExplorerPS/2"
   1183  1.1  mrg           Option          "Buttons"   "7"
   1184  1.1  mrg           Option          "ZAxisMapping"      "6 7"
   1185  1.1  mrg   EndSection
   1186  1.1  mrg   ______________________________________________________________________
   1187  1.1  mrg 
   1188  1.1  mrg 
   1189  1.1  mrg 
   1190  1.1  mrg   The IntelliMouse Explorer has 5 buttons, thus, you should give "7" to
   1191  1.1  mrg   the Buttons option if you want to map the wheel movement to buttons (6
   1192  1.1  mrg   and 7).  With this configuration, the correspondence between the
   1193  1.1  mrg   buttons and button numbers will be as follows:
   1194  1.1  mrg 
   1195  1.1  mrg 
   1196  1.1  mrg   Physical Buttons        Reported as:
   1197  1.1  mrg   ------------------------------------
   1198  1.1  mrg   1 Left Button             Button 1
   1199  1.1  mrg   2 Wheel Button            Button 2
   1200  1.1  mrg   3 Right Button            Button 3
   1201  1.1  mrg   4 Side Button 1           Button 4
   1202  1.1  mrg   5 Side Button 2           Button 5
   1203  1.1  mrg   6 Wheel Negative Move     Button 6
   1204  1.1  mrg   7 Wheel Positive Move     Button 7
   1205  1.1  mrg 
   1206  1.1  mrg 
   1207  1.1  mrg 
   1208  1.1  mrg   You can change button number assignment using xmodmap AFTER you
   1209  1.1  mrg   started the X server with the above configuration.
   1210  1.1  mrg 
   1211  1.1  mrg 
   1212  1.1  mrg           xmodmap -e "pointer = 1 2 3 4 7 5 6"
   1213  1.1  mrg 
   1214  1.1  mrg 
   1215  1.1  mrg 
   1216  1.1  mrg   The above command will moves the side button 2 to the button 7 and
   1217  1.1  mrg   make the wheel movement reported as the button 5 and 6.  See the table
   1218  1.1  mrg   below.
   1219  1.1  mrg 
   1220  1.1  mrg 
   1221  1.1  mrg   Physical Buttons        Reported as:
   1222  1.1  mrg   ------------------------------------
   1223  1.1  mrg   1 Left Button             Button 1
   1224  1.1  mrg   2 Wheel Button            Button 2
   1225  1.1  mrg   3 Right Button            Button 3
   1226  1.1  mrg   4 Side Button 1           Button 4
   1227  1.1  mrg   5 Side Button 2           Button 7
   1228  1.1  mrg   6 Wheel Negative Move     Button 5
   1229  1.1  mrg   7 Wheel Positive Move     Button 6
   1230  1.1  mrg 
   1231  1.1  mrg 
   1232  1.1  mrg 
   1233  1.1  mrg   For the A4 Tech WinEasy mouse which has two wheels and 3 buttons, you
   1234  1.1  mrg   may have the following InputDevice section.
   1235  1.1  mrg 
   1236  1.1  mrg 
   1237  1.1  mrg   ______________________________________________________________________
   1238  1.1  mrg   Section "InputDevice"
   1239  1.1  mrg           Identifier      "WinEasy"
   1240  1.1  mrg           Driver          "mouse"
   1241  1.1  mrg           Option          "Device"    "/dev/mouse"
   1242  1.1  mrg           Option          "Protocol"  "IMPS/2"
   1243  1.1  mrg           Option          "Buttons"   "7"
   1244  1.1  mrg           Option          "ZAxisMapping"      "4 5 6 7"
   1245  1.1  mrg   EndSection
   1246  1.1  mrg   ______________________________________________________________________
   1247  1.1  mrg 
   1248  1.1  mrg 
   1249  1.1  mrg 
   1250  1.1  mrg   The movement of the first wheel is mapped to the button 4 and 5.  The
   1251  1.1  mrg   second wheel's movement will be reported as the buttons 6 and 7.
   1252  1.1  mrg 
   1253  1.1  mrg   The Kensington Expert mouse is really a trackball. It has 4 buttons
   1254  1.1  mrg   arranged in a rectangle around the ball.
   1255  1.1  mrg 
   1256  1.1  mrg   ______________________________________________________________________
   1257  1.1  mrg   Section "InputDevice"
   1258  1.1  mrg           Identifier  "DLB"
   1259  1.1  mrg           Driver      "mouse"
   1260  1.1  mrg           Option      "Protocol" "ThinkingMousePS/2"
   1261  1.1  mrg           Option      "Buttons" "3"
   1262  1.1  mrg           Option      "Emulate3Buttons"
   1263  1.1  mrg           Option      "Device" "/dev/mouse"
   1264  1.1  mrg           Option      "DragLockButtons" "2 1 4 3"
   1265  1.1  mrg   EndSection
   1266  1.1  mrg   ______________________________________________________________________
   1267  1.1  mrg 
   1268  1.1  mrg 
   1269  1.1  mrg   In this example, button 2 is a drag lock button for button number 1,
   1270  1.1  mrg   and button 4 is a drag lock button for button 3.  Since button 2 is
   1271  1.1  mrg   above button 1 and button 4 is above button 3 in the layout of this
   1272  1.1  mrg   trackball, this is reasonable.
   1273  1.1  mrg 
   1274  1.1  mrg   Because button 2 is being used as a drag lock, it can not be used as
   1275  1.1  mrg   an ordinary button. However, it can be activated by using the
   1276  1.1  mrg   "Emulate3Buttons" feature. However, some people my be unable to press
   1277  1.1  mrg   two buttons at the same time. They may prefer the following
   1278  1.1  mrg   InputDevice section which defines button 4 as a master drag lock
   1279  1.1  mrg   button, and leaves button 2 free for ordinary use.
   1280  1.1  mrg 
   1281  1.1  mrg   ______________________________________________________________________
   1282  1.1  mrg   Section "InputDevice"
   1283  1.1  mrg           Identifier  "MasterDLB"
   1284  1.1  mrg           Driver      "mouse"
   1285  1.1  mrg           Option      "Protocol" "ThinkingMousePS/2"
   1286  1.1  mrg           Option      "Buttons" "3"
   1287  1.1  mrg           Option      "Device" "/dev/mouse"
   1288  1.1  mrg           Option      "DragLockButtons" "4"
   1289  1.1  mrg   EndSection
   1290  1.1  mrg   ______________________________________________________________________
   1291  1.1  mrg 
   1292  1.1  mrg 
   1293  1.1  mrg 
   1294