README revision 659607e0
1659607e0Smrg Mouse Support in X11R6.8 2659607e0Smrg Kazutaka Yokota 3659607e0Smrg 17 December 2002 4659607e0Smrg ____________________________________________________________ 5659607e0Smrg 6659607e0Smrg Table of Contents 7659607e0Smrg 8659607e0Smrg 9659607e0Smrg 1. Introduction 10659607e0Smrg 2. Supported Hardware 11659607e0Smrg 3. OS Support for Mice 12659607e0Smrg 3.1 Summary of Supported Mouse Protocol Types 13659607e0Smrg 3.2 BSD/OS 14659607e0Smrg 3.3 FreeBSD 15659607e0Smrg 3.4 FreeBSD(98) 16659607e0Smrg 3.5 Interactive Unix 17659607e0Smrg 3.6 Linux 18659607e0Smrg 3.7 Linux/98 19659607e0Smrg 3.8 LynxOS 20659607e0Smrg 3.9 NetBSD 21659607e0Smrg 3.10 NetBSD/pc98 22659607e0Smrg 3.11 OpenBSD 23659607e0Smrg 3.12 OS/2 24659607e0Smrg 3.13 SCO 25659607e0Smrg 3.14 Solaris 26659607e0Smrg 3.15 SVR4 27659607e0Smrg 3.16 PANIX 28659607e0Smrg 29659607e0Smrg 4. Configuring Your Mouse 30659607e0Smrg 5. xorg.conf Options 31659607e0Smrg 5.1 Buttons 32659607e0Smrg 5.2 ZAxisMappping 33659607e0Smrg 5.3 Resolution 34659607e0Smrg 5.4 Drag Lock Buttons 35659607e0Smrg 36659607e0Smrg 6. Mouse Gallery 37659607e0Smrg 6.1 MS IntelliMouse (serial, PS/2) 38659607e0Smrg 6.2 MS IntelliMouse Explorer (PS/2, USB) 39659607e0Smrg 6.3 Kensington Thinking Mouse and Kensington Expert Mouse (serial, PS/2) 40659607e0Smrg 6.4 Genius NetScroll (PS/2) 41659607e0Smrg 6.5 Genius NetMouse and NetMouse Pro (serial, PS/2) 42659607e0Smrg 6.6 Genius NetScroll Optical (PS/2, USB) 43659607e0Smrg 6.7 ALPS GlidePoint (serial, PS/2) 44659607e0Smrg 6.8 ASCII MieMouse (serial, PS/2) 45659607e0Smrg 6.9 Logitech MouseMan+ and FirstMouse+ (serial, PS/2) 46659607e0Smrg 6.10 IBM ScrollPoint (PS/2) 47659607e0Smrg 6.11 8D ScrollMouse (serial, PS/2) 48659607e0Smrg 6.12 A4 Tech 4D mice (serial, PS/2, USB) 49659607e0Smrg 50659607e0Smrg 7. Configuration Examples 51659607e0Smrg 52659607e0Smrg 53659607e0Smrg ______________________________________________________________________ 54659607e0Smrg 55659607e0Smrg [1m1. Introduction[0m 56659607e0Smrg 57659607e0Smrg 58659607e0Smrg This document describes mouse support in X.org Foundation's Xorg 59659607e0Smrg server. 60659607e0Smrg 61659607e0Smrg Mouse configuration has often been mysterious task for novice users. 62659607e0Smrg However, once you learn several basics, it is straightforward to write 63659607e0Smrg the mouse "InputDevice" section in the xorg.conf file by hand. 64659607e0Smrg 65659607e0Smrg 66659607e0Smrg 67659607e0Smrg [1m2. Supported Hardware[0m 68659607e0Smrg 69659607e0Smrg 70659607e0Smrg The X.org Foundation X server supports four classes of mice: serial, 71659607e0Smrg bus and PS/2 mice, and additional mouse types supported by 72659607e0Smrg specific operating systems, such as USB mice. 73659607e0Smrg 74659607e0Smrg 75659607e0Smrg [1mSerial mouse[0m 76659607e0Smrg The serial mouse has been the most popular pointing device for 77659607e0Smrg PCs. There have been numerous serial mouse models from a number 78659607e0Smrg of manufactures. Despite the wide range of variations, there 79659607e0Smrg have been relatively few protocols (data format) with which the 80659607e0Smrg serial mouse talks to the host computer. 81659607e0Smrg 82659607e0Smrg The modern serial mouse conforms to the PnP COM device 83659607e0Smrg specification so that the host computer can automatically detect 84659607e0Smrg the mouse and load an appropriate driver. The X server supports 85659607e0Smrg this specification and can detect popular PnP serial mouse 86659607e0Smrg models on most platforms. 87659607e0Smrg 88659607e0Smrg 89659607e0Smrg [1mBus mouse[0m 90659607e0Smrg The bus mouse connects to a dedicated interface card in an 91659607e0Smrg expansion slot. Some video cards, notably those from ATI, and 92659607e0Smrg integrated I/O cards may also have a bus mouse connector. Some 93659607e0Smrg bus mice are known as `InPort mouse'. 94659607e0Smrg 95659607e0Smrg Note that some mouse manufactures have sold a package including 96659607e0Smrg a serial mouse and a serial interface card. Don't confuse this 97659607e0Smrg type of products with the genuine bus mouse. 98659607e0Smrg 99659607e0Smrg 100659607e0Smrg [1mPS/2 mouse[0m 101659607e0Smrg They are sometimes called `Mouse-port mouse'. The PS/2 mouse is 102659607e0Smrg becoming increasingly common and popular. 103659607e0Smrg 104659607e0Smrg The PS/2 mouse is an intelligent device and may have more than 105659607e0Smrg three buttons and a wheel or a roller. The PS/2 mouse is 106659607e0Smrg usually compatible with the original PS/2 mouse from IBM 107659607e0Smrg immediately after power up. The PS/2 mouse with additional 108659607e0Smrg features requires a specialized initialization procedure to 109659607e0Smrg enable these features. Without proper initialization, it 110659607e0Smrg behaves as though it were an ordinary two or three button mouse. 111659607e0Smrg 112659607e0Smrg 113659607e0Smrg [1mUSB mouse[0m 114659607e0Smrg USB (Universal Serial Bus) ports are present on most modern 115659607e0Smrg computers. Several devices can be plugged into this bus, 116659607e0Smrg including mice and keyboards. 117659607e0Smrg 118659607e0Smrg The server includes support for USB mice on some systems. 119659607e0Smrg 120659607e0Smrg Many mice nowadays can be used both as a serial mouse and as a PS/2 121659607e0Smrg mouse. They has a logic to distinguish which interface it is 122659607e0Smrg connected to. However, the mouse which is not marketed as compatible 123659607e0Smrg with both serial and PS/2 mouse interface lacks this logic and cannot 124659607e0Smrg be used in such a way, even if you can find an appropriate adapter 125659607e0Smrg with which you can connect the PS/2 mouse to a serial port or visa 126659607e0Smrg versa. 127659607e0Smrg 128659607e0Smrg X11R6.8 supports the mouse with a wheel, a roller or a knob. Its 129659607e0Smrg action is detected as the Z (third) axis motion of the mouse. As the 130659607e0Smrg X server or clients normally do not use the Z axis movement of the 131659607e0Smrg pointing device, a configuration option, "ZAxisMapping", is provided 132659607e0Smrg to assign the Z axis movement to another axis or a pair of buttons 133659607e0Smrg (see below). 134659607e0Smrg [1m3. OS Support for Mice[0m 135659607e0Smrg 136659607e0Smrg 137659607e0Smrg 138659607e0Smrg [1m3.1. Summary of Supported Mouse Protocol Types[0m 139659607e0Smrg 140659607e0Smrg 141659607e0Smrg Protocol Types 142659607e0Smrg serial PnP BusMouse PS/2 Extended PS/2 143659607e0Smrg OS platforms protocols serial protocol protocol protocols 144659607e0Smrg "Auto" "BusMouse" "PS/2" "xxxPS/2" USB 145659607e0Smrg ------------------------------------------------------------------------- 146659607e0Smrg BSD/OS Ok ? ? ? ? ? 147659607e0Smrg FreeBSD Ok Ok Ok Ok SP*1 SP*1 148659607e0Smrg FreeBSD(98) Ok ? Ok NA NA ? 149659607e0Smrg Interactive Unix Ok NA ?*1 ?*1 NA ? 150659607e0Smrg Linux Ok Ok Ok Ok Ok ? 151659607e0Smrg Linux/98 Ok ? Ok NA NA ? 152659607e0Smrg LynxOS Ok NA Ok Ok NA ? 153659607e0Smrg NetBSD Ok Ok Ok SP*1 SP*1 SP*1 154659607e0Smrg NetBSD/pc98 Ok ? Ok NA NA NA 155659607e0Smrg OpenBSD Ok Ok Ok Ok*1 Ok*1 Ok*1 156659607e0Smrg OS/2 SP*2 SP*2 SP*2 SP*2 SP*2 ? 157659607e0Smrg SCO Ok ? SP*1 SP*1 NA ? 158659607e0Smrg Solaris 2.x Ok NA*1 ?*1 Ok Ok SP*1 159659607e0Smrg SVR4 Ok NA*1 SP*1 SP*1 NA ? 160659607e0Smrg PANIX Ok ? SP*1 SP*1 NA ? 161659607e0Smrg 162659607e0Smrg Ok: support is available, NA: not available, ?: untested or unknown. 163659607e0Smrg SP: support is available in a different form 164659607e0Smrg 165659607e0Smrg *1 Refer to the following sections for details. 166659607e0Smrg *2 X11R6.8/OS2 will support any type of mouse that the OS supports, 167659607e0Smrg whether it is serial, bus mouse, or PnP type. 168659607e0Smrg 169659607e0Smrg 170659607e0Smrg 171659607e0Smrg [1m3.2. BSD/OS[0m 172659607e0Smrg 173659607e0Smrg No testing has been done with BSD/OS. 174659607e0Smrg 175659607e0Smrg 176659607e0Smrg [1m3.3. FreeBSD[0m 177659607e0Smrg 178659607e0Smrg FreeBSD supports the "SysMouse" protocol which must be specified when 179659607e0Smrg the moused daemon is running in versions 2.2.1 or later. 180659607e0Smrg 181659607e0Smrg When running the mouseddaemon, you must always specify the 182659607e0Smrg /dev/sysmouse device and the "SysMouse" protocol to the X server, 183659607e0Smrg regardless of the actual type of your mouse. 184659607e0Smrg 185659607e0Smrg FreeBSD versions 2.2.6 or later include the kernel-level support for 186659607e0Smrg extended PS/2 mouse protocols and there is no need to specify the 187659607e0Smrg exact protocol name to the X server. Instead specify the "PS/2" or 188659607e0Smrg "Auto" protocol and the X server will automatically make use of the 189659607e0Smrg kernel-level support. 190659607e0Smrg 191659607e0Smrg In fact, "Auto" protocol support is really efficient in these 192659607e0Smrg versions. You may always specify "Auto" to any mouse, serial, bus or 193659607e0Smrg PS/2, unless the mouse is an old serial model which doesn't support 194659607e0Smrg PnP. 195659607e0Smrg 196659607e0Smrg FreeBSD versions 2.2.5 or earlier do not support extended PS/2 mouse 197659607e0Smrg protocols ("xxxPS/2"). Always specify the "PS/2" protocol for any 198659607e0Smrg PS/2 mouse in these versions regardless of the brand of the mouse. 199659607e0Smrg FreeBSD versions 3.1 or later have support for USB mice. Specify the 200659607e0Smrg "Auto" protocol for the /dev/ums0 device. (If the moused daemon is 201659607e0Smrg running for the USB mouse, you must use /dev/sysmouse instead of 202659607e0Smrg /dev/ums0 as explained above.) See the [4mums(4)[24m manual page for details. 203659607e0Smrg 204659607e0Smrg 205659607e0Smrg [1m3.4. FreeBSD(98)[0m 206659607e0Smrg 207659607e0Smrg The PS/2 mouse is not supported. 208659607e0Smrg 209659607e0Smrg 210659607e0Smrg [1m3.5. Interactive Unix[0m 211659607e0Smrg 212659607e0Smrg The PnP serial mouse support (the "Auto" protocol) is not supported 213659607e0Smrg for the moment. 214659607e0Smrg 215659607e0Smrg The bus mouse and PS/2 mouse should be supported by using the 216659607e0Smrg appropriate device drivers. Use /dev/mouse for the "BusMouse" 217659607e0Smrg protocol and /dev/kdmouse for the "PS/2" protocol. These protocols 218659607e0Smrg are untested but may work. Please send success/failure reports to 219659607e0Smrg <michael.rohleder@stadt-frankfurt.de>. 220659607e0Smrg 221659607e0Smrg 222659607e0Smrg [1m3.6. Linux[0m 223659607e0Smrg 224659607e0Smrg All protocol types should work. 225659607e0Smrg 226659607e0Smrg 227659607e0Smrg [1m3.7. Linux/98[0m 228659607e0Smrg 229659607e0Smrg The PS/2 mouse is not supported. 230659607e0Smrg 231659607e0Smrg 232659607e0Smrg [1m3.8. LynxOS[0m 233659607e0Smrg 234659607e0Smrg The PnP serial mouse support (the "Auto" protocol) is disabled in 235659607e0Smrg LynxOS, because of limited TTY device driver functionality. 236659607e0Smrg 237659607e0Smrg 238659607e0Smrg [1m3.9. NetBSD[0m 239659607e0Smrg 240659607e0Smrg NetBSD 1.3.x and former does not support extended PS/2 mouse protocols 241659607e0Smrg ("xxxPS/2"). The PS/2 mouse device driver /dev/pms emulates the bus 242659607e0Smrg mouse. Therefore, you should always specify the "BusMouse" protocol 243659607e0Smrg for any PS/2 mouse regardless of the brand of the mouse. 244659607e0Smrg 245659607e0Smrg The "wsmouse" protocol introduced in NetBSD 1.4 along with the wscons 246659607e0Smrg console driver is supported. You need to run binaries compiled on 247659607e0Smrg NetBSD 1.4 to have support for it though. Use "/dev/wsmouse0" for the 248659607e0Smrg device. Refer to the [4mwsmouse(4)[24m manual page for kernel configuration 249659607e0Smrg informations. 250659607e0Smrg 251659607e0Smrg This driver also provides support for USB mice. See the [4mums(4)[24m manual 252659607e0Smrg page for details. 253659607e0Smrg 254659607e0Smrg 255659607e0Smrg [1m3.10. NetBSD/pc98[0m 256659607e0Smrg 257659607e0Smrg The PS/2 mouse is not supported. 258659607e0Smrg 259659607e0Smrg 260659607e0Smrg [1m3.11. OpenBSD[0m 261659607e0Smrg 262659607e0Smrg The raw PS/2 mouse device driver /dev/psm0 uses the raw PS/2 mouse 263659607e0Smrg protocol. 264659607e0Smrg 265659607e0Smrg OpenBSD 2.2 and earlier does not support extended PS/2 mouse protocols 266659607e0Smrg ("xxxPS/2") . Therefore, you should specify the "PS/2" protocol for 267659607e0Smrg any PS/2 mouse regardless of the brand of the mouse. 268659607e0Smrg 269659607e0Smrg OpenBSD 2.3 and later support all extended PS/2 mouse protocols. You 270659607e0Smrg can select the "Auto" protocol for PnP PS/2 mice or any specific 271659607e0Smrg extended ("xxxPS/2") protocol for non PnP mice. 272659607e0Smrg 273659607e0Smrg There is also a cooked PS/2 mouse device driver /dev/pms0 which 274659607e0Smrg emulates the bus mouse. Specify the "BusMouse" protocol for any PS/2 275659607e0Smrg mouse regardless of the brand of the mouse when using this device. 276659607e0Smrg 277659607e0Smrg XFree86 3.3.6 support USB mice on OpenBSD 2.6 and later though the 278659607e0Smrg generic Human Interface Device (hid) /dev/uhid*. Select the "usb" 279659607e0Smrg protocol and the /dev/uhid* instance corresponding to your mouse as 280659607e0Smrg the device name. 281659607e0Smrg 282659607e0Smrg 283659607e0Smrg [1m3.12. OS/2[0m 284659607e0Smrg 285659607e0Smrg X11R6.8/OS2 always uses the native mouse driver of the operating 286659607e0Smrg system and will support any type of pointer that the OS supports, 287659607e0Smrg whether it is serial, bus mouse, or PnP type. If the mouse works 288659607e0Smrg under Presentation Manager, it will also work under X11R6.8/OS2. 289659607e0Smrg 290659607e0Smrg Always specify "OSMouse" as the protocol type. 291659607e0Smrg 292659607e0Smrg 293659607e0Smrg [1m3.13. SCO[0m 294659607e0Smrg 295659607e0Smrg The bus and PS/2 mouse are supported with the "OSMouse" protocol type. 296659607e0Smrg 297659607e0Smrg The "OSMouse" may also be used with the serial mouse. 298659607e0Smrg 299659607e0Smrg 300659607e0Smrg [1m3.14. Solaris[0m 301659607e0Smrg 302659607e0Smrg Testing has been done with Solaris 2.5.1, 2.6, 7, 8, 9 and 10. 303659607e0Smrg 304659607e0Smrg On Solaris 10 1/06 and later versions with "virtual mouse" support, 305659607e0Smrg all PS/2 and USB mice connected to the system can be accessed via 306659607e0Smrg the /dev/mouse device using the VUID protocol, including USB mice 307659607e0Smrg plugged in after the X server is started. On older releases or 308659607e0Smrg to address mice individually, specific devices and protocols may 309659607e0Smrg be used. 310659607e0Smrg 311659607e0Smrg Logitech and Microsoft bus mice have not been tested, but might work 312659607e0Smrg with the /dev/logi and /dev/msm devices. 313659607e0Smrg 314659607e0Smrg Standard 2 and 3 button PS/2 mice work with the "PS/2" protocol type 315659607e0Smrg and the /dev/kdmouse device. USB mice work with the "VUID" protocol 316659607e0Smrg type and the /dev/mouse device. The PnP serial mouse support via the 317659607e0Smrg "Auto" protocol has been tested and does not work. The "Auto" 318659607e0Smrg protocol can however detect PS/2 and USB mice correctly. 319659607e0Smrg 320659607e0Smrg Additional USB mice can be connected using the "VUID" protocol type 321659607e0Smrg and the appropriate "/dev/usb/hid" device with the Option 322659607e0Smrg "StreamsModule" "usbms" line included in the associated "InputDevice" 323659607e0Smrg section. 324659607e0Smrg 325659607e0Smrg 326659607e0Smrg [1m3.15. SVR4[0m 327659607e0Smrg 328659607e0Smrg The bus and PS/2 mouse may be supported with the "Xqueue" protocol 329659607e0Smrg type. 330659607e0Smrg 331659607e0Smrg The "Xqueue" may also be used with the serial mouse. 332659607e0Smrg 333659607e0Smrg The PnP serial mouse support (the "Auto" protocol) is not tested. 334659607e0Smrg 335659607e0Smrg 336659607e0Smrg [1m3.16. PANIX[0m 337659607e0Smrg 338659607e0Smrg The PC/AT version of PANIX supports the bus and PS/2 mouse with the 339659607e0Smrg "Xqueue" protocol type. The PC-98 version of PANIX supports the bus 340659607e0Smrg mouse with the "Xqueue" protocol type. 341659607e0Smrg 342659607e0Smrg 343659607e0Smrg [1m4. Configuring Your Mouse[0m 344659607e0Smrg 345659607e0Smrg 346659607e0Smrg Before using the xorgconfig program to set up mouse configuration, you 347659607e0Smrg must identify the interface type, the device name and the protocol 348659607e0Smrg type of your mouse. Blindly trying every possible combination of 349659607e0Smrg mouse settings will lead you nowhere. 350659607e0Smrg 351659607e0Smrg The first thing you need to know is the interface type of the mouse 352659607e0Smrg you are going to use. It can be determined by looking at the 353659607e0Smrg connector of the mouse. The serial mouse has a D-Sub female 9- or 354659607e0Smrg 25-pin connector. The bus mice have either a D-Sub male 9-pin 355659607e0Smrg connector or a round DIN 9-pin connector. The PS/2 mouse is equipped 356659607e0Smrg with a small, round DIN 6-pin connector. USB mice have a thin 357659607e0Smrg rectangular connector. Some mice come with adapters with which the 358659607e0Smrg connector can be converted to another. If you are to use such an 359659607e0Smrg adapter, remember that the connector at the very end of the mouse/adapter 360659607e0Smrg pair is what matters. 361659607e0Smrg 362659607e0Smrg The next thing to decide is a device node to use for the given 363659607e0Smrg interface. For the bus and PS/2 mice, there is little choice; your OS 364659607e0Smrg most possibly offers just one device node each for the bus mouse and 365659607e0Smrg PS/2 mouse. There may be more than one serial port to which the 366659607e0Smrg serial mouse can be attached. 367659607e0Smrg 368659607e0Smrg The next step is to guess the appropriate protocol type for the mouse. 369659607e0Smrg The X server may be able to select a protocol type for the given mouse 370659607e0Smrg automatically in some cases. Otherwise, the user has to choose one 371659607e0Smrg manually. Follow the guidelines below. 372659607e0Smrg 373659607e0Smrg 374659607e0Smrg [1mBus mouse[0m 375659607e0Smrg The bus and InPort mice always use "BusMouse" protocol 376659607e0Smrg regardless of the brand of the mouse. 377659607e0Smrg 378659607e0Smrg Some OSs may allow you to specify "Auto" as the protocol type 379659607e0Smrg for the bus mouse. 380659607e0Smrg 381659607e0Smrg 382659607e0Smrg [1mPS/2 mouse[0m 383659607e0Smrg The "PS/2" protocol should always be tried first for the PS/2 384659607e0Smrg mouse regardless of the brand of the mouse. Any PS/2 mouse 385659607e0Smrg should work with this protocol type, although wheels and other 386659607e0Smrg additional features are unavailable in the X server. 387659607e0Smrg 388659607e0Smrg After verifying the mouse works with this protocol, you may 389659607e0Smrg choose to specify one of "xxxPS/2" protocols so that extra 390659607e0Smrg features are made available in the X server. However, support 391659607e0Smrg for these PS/2 mice assumes certain behavior of the underlying 392659607e0Smrg OS and may not always work as expected. Support for some PS/2 393659607e0Smrg mouse models may be disabled all together for some OS platforms 394659607e0Smrg for this reason. 395659607e0Smrg 396659607e0Smrg Some OSs may allow you to specify "Auto" as the protocol type 397659607e0Smrg for the PS/2 mouse and the X server will automatically adjust 398659607e0Smrg itself. 399659607e0Smrg 400659607e0Smrg 401659607e0Smrg [1mSerial mouse[0m 402659607e0Smrg The server supports a wide range of mice, both old and new. If 403659607e0Smrg your mouse is of a relatively new model, it may conform to the 404659607e0Smrg PnP COM device specification and the X server may be able to 405659607e0Smrg detect an appropriate protocol type for the mouse automatically. 406659607e0Smrg 407659607e0Smrg Specify "Auto" as the protocol type and start the X server. If 408659607e0Smrg the mouse is not a PnP mouse, or the X server cannot determine a 409659607e0Smrg suitable protocol type, the server will print the following 410659607e0Smrg error message and abort. 411659607e0Smrg 412659607e0Smrg 413659607e0Smrg <mousename>: cannot determine the mouse protocol 414659607e0Smrg 415659607e0Smrg 416659607e0Smrg 417659607e0Smrg If the X server generates the above error message, you need to 418659607e0Smrg manually specify a protocol type for your mouse. Choose one from 419659607e0Smrg the following list: 420659607e0Smrg 421659607e0Smrg 422659607e0Smrg +o GlidePoint 423659607e0Smrg 424659607e0Smrg +o IntelliMouse 425659607e0Smrg 426659607e0Smrg +o Logitech 427659607e0Smrg 428659607e0Smrg +o Microsoft 429659607e0Smrg 430659607e0Smrg +o MMHittab 431659607e0Smrg 432659607e0Smrg +o MMSeries 433659607e0Smrg 434659607e0Smrg +o MouseMan 435659607e0Smrg 436659607e0Smrg +o MouseSystems 437659607e0Smrg 438659607e0Smrg +o ThinkingMouse 439659607e0Smrg 440659607e0Smrg When you choose, keep in mind the following rule of thumb: 441659607e0Smrg 442659607e0Smrg 443659607e0Smrg 1. "Logitech" protocol is for old serial mouse models from 444659607e0Smrg Logitech. Modern Logitech mice use either "MouseMan" or 445659607e0Smrg "Microsoft" protocol. 446659607e0Smrg 447659607e0Smrg 2. Most 2-button serial mice support the "Microsoft" protocol. 448659607e0Smrg 449659607e0Smrg 3. 3-button serial mice may work with the "Mousesystems" 450659607e0Smrg protocol. If it doesn't, it may work instead with the 451659607e0Smrg "Microsoft" protocol although the third (middle) button won't 452659607e0Smrg function. 3-button serial mice may also work with the 453659607e0Smrg "Mouseman" protocol under which the third button may function 454659607e0Smrg as expected. 455659607e0Smrg 456659607e0Smrg 4. 3-button serial mice may have a small switch at the bottom of 457659607e0Smrg the mouse to choose between ``MS'' and ``PC'', or ``2'' and 458659607e0Smrg ``3''. ``MS'' or ``2'' usually mean the "Microsoft" 459659607e0Smrg protocol. ``PC'' or ``3'' will choose the "MouseSystems" 460659607e0Smrg protocol. 461659607e0Smrg 462659607e0Smrg 5. If the serial mouse has a roller or a wheel, it may be 463659607e0Smrg compatible with the "IntelliMouse" protocol. 464659607e0Smrg 465659607e0Smrg 6. If the serial mouse has a roller or a wheel and it doesn't 466659607e0Smrg work with the "IntelliMouse" protocol, you have to use it as 467659607e0Smrg a regular 2- or 3-button serial mouse. 468659607e0Smrg 469659607e0Smrg If the "Auto" protocol is specified and the mouse seems to be working, 470659607e0Smrg but you find that not all features of the mouse are available, that 471659607e0Smrg is because the X server does not have native support for that model 472659607e0Smrg of mouse and is using a ``compatible'' protocol according to PnP 473659607e0Smrg information. 474659607e0Smrg 475659607e0Smrg If you suspect this is the case with your mouse, please enter a 476659607e0Smrg bug report at http://bugzilla.freedesktop.org, using the xorg product. 477659607e0Smrg 478659607e0Smrg 479659607e0Smrg [1mUSB mouse[0m 480659607e0Smrg If your mouse is connected to the USB port, it can either be 481659607e0Smrg supported by the "Auto" protocol, or by an OS-specific protocol 482659607e0Smrg (see below), or as a generic Human Interface Device by the "usb" 483659607e0Smrg protocol. 484659607e0Smrg 485659607e0Smrg 486659607e0Smrg [1mStandardized protocols[0m 487659607e0Smrg Mouse device drivers in your OS may use the standardized 488659607e0Smrg protocol regardless of the model or the class of the mouse. For 489659607e0Smrg example, SVR4 systems may support "Xqueue" protocol. In FreeBSD 490659607e0Smrg the system mouse device /dev/sysmouse uses the "SysMouse" 491659607e0Smrg protocol. Please refer to the OS support section of this file 492659607e0Smrg for more information. 493659607e0Smrg 494659607e0Smrg 495659607e0Smrg 496659607e0Smrg [1m5. xorg.conf Options[0m 497659607e0Smrg 498659607e0Smrg 499659607e0Smrg The old Pointer section has been replaced by a more general 500659607e0Smrg InputDevice section. The following is a minimal example of an 501659607e0Smrg InputDevice section for a mouse: 502659607e0Smrg 503659607e0Smrg 504659607e0Smrg ______________________________________________________________________ 505659607e0Smrg Section "InputDevice" 506659607e0Smrg Identifier "Mouse 1" 507659607e0Smrg Driver "mouse" 508659607e0Smrg Option "Device" "/dev/mouse" 509659607e0Smrg Option "Protocol" "Auto" 510659607e0Smrg EndSection 511659607e0Smrg ______________________________________________________________________ 512659607e0Smrg 513659607e0Smrg 514659607e0Smrg 515659607e0Smrg The mouse driver supports the following config file options: 516659607e0Smrg 517659607e0Smrg 518659607e0Smrg [1m5.1. Buttons[0m 519659607e0Smrg 520659607e0Smrg This option tells the X server the number of buttons on the mouse. 521659607e0Smrg Currently there is no reliable way to automatically detect the correct 522659607e0Smrg number. This option is the only means for the X server to obtain it. 523659607e0Smrg The default value is three. 524659607e0Smrg 525659607e0Smrg Note that if you intend to assign Z axis movement to button events 526659607e0Smrg using the ZAxisMapping option below, you need to take account of those 527659607e0Smrg buttons into N too. 528659607e0Smrg 529659607e0Smrg 530659607e0Smrg Option "Buttons" "N" 531659607e0Smrg 532659607e0Smrg 533659607e0Smrg 534659607e0Smrg [1m5.2. ZAxisMapping[0m 535659607e0Smrg 536659607e0Smrg This option maps the Z axis (wheel) motion to buttons or to another 537659607e0Smrg axis. 538659607e0Smrg Option "ZAxisMapping" "X" 539659607e0Smrg Option "ZAxisMapping" "Y" 540659607e0Smrg Option "ZAxisMapping" "N1 N2" 541659607e0Smrg Option "ZAxisMapping" "N1 N2 N3 N4" 542659607e0Smrg 543659607e0Smrg 544659607e0Smrg 545659607e0Smrg The first example will map the Z axis motion to the X axis motion. 546659607e0Smrg Whenever the user moves the wheel/roller, its movement is reported as 547659607e0Smrg the X axis motion. When the wheel/roller stays still, the real X axis 548659607e0Smrg motion is reported as is. The third example will map negative Z axis 549659607e0Smrg motion to the button N1 and positive Z axis motion to the button N2. 550659607e0Smrg If this option is used and the buttons N1 or N2 actually exists in the 551659607e0Smrg mouse, their actions won't be detected by the X server. 552659607e0Smrg 553659607e0Smrg The last example is useful for the mouse with two wheels of which the 554659607e0Smrg second wheel is used to generate horizontal scroll action, and the 555659607e0Smrg mouse which has a knob or a stick which can detect the horizontal 556659607e0Smrg force applied by the user. The motion of the second wheel will be 557659607e0Smrg mapped to the buttons N3, for the negative direction, and N4, for the 558659607e0Smrg positive direction. If the buttons N3 and N4 actually exist in this 559659607e0Smrg mouse, their actions won't be detected by the X server. 560659607e0Smrg 561659607e0Smrg NOTE #1: horizontal movement may not always be detected by the current 562659607e0Smrg version of the X11R6.8 X servers, because there appears to be no 563659607e0Smrg accepted standard as to how the horizontal direction is encoded in 564659607e0Smrg mouse data. 565659607e0Smrg 566659607e0Smrg NOTE #2: Some mice think left is the negative horizontal direction, 567659607e0Smrg others may think otherwise. Moreover, there are some mice whose two 568659607e0Smrg wheels are both mounted vertically, and the direction of the second 569659607e0Smrg vertical wheel does not match the first one's. 570659607e0Smrg 571659607e0Smrg You need to edit the xorg.conf file by hand to change this option if 572659607e0Smrg the default value of "4 5 6 7" does not match the needs of your 573659607e0Smrg configuration. 574659607e0Smrg 575659607e0Smrg 576659607e0Smrg [1m5.3. Resolution[0m 577659607e0Smrg 578659607e0Smrg The following option will set the mouse device resolution to N counts 579659607e0Smrg per inch, if possible: 580659607e0Smrg 581659607e0Smrg 582659607e0Smrg Option "Resolution" "N" 583659607e0Smrg 584659607e0Smrg 585659607e0Smrg 586659607e0Smrg Not all mice and OSs can support this option. 587659607e0Smrg 588659607e0Smrg 589659607e0Smrg [1m5.4. Drag Lock Buttons[0m 590659607e0Smrg 591659607e0Smrg Some people find it difficult or inconvenient to hold a trackball 592659607e0Smrg button down, while at the same time moving the ball. Drag lock buttons 593659607e0Smrg simulate the holding down of another button. When a drag lock button 594659607e0Smrg is first pressed, its target buttons is "locked" down until the 595659607e0Smrg second time the lock button is released, or until the button itself is 596659607e0Smrg pressed and released. This allows the starting of a drag, the movement 597659607e0Smrg of the trackball, and the ending of the drag to be separate 598659607e0Smrg operations. 599659607e0Smrg 600659607e0Smrg 601659607e0Smrg Option "DragLockButtons" "W X Y Z" 602659607e0Smrg 603659607e0Smrg 604659607e0Smrg This option consists of pairs of buttons. Each lock button number is 605659607e0Smrg followed by the number of the button that it locks. In the above, 606659607e0Smrg button number "W" is a drag lock button for button "X" and button 607659607e0Smrg number "Y" is a drag lock button for button "Z". 608659607e0Smrg 609659607e0Smrg It may not be desirable to use multiple buttons as drag locks. 610659607e0Smrg Instead, a "master drag lock button" may be defined. A master drag 611659607e0Smrg lock button acts as a "META" key. After a master lock button is 612659607e0Smrg released, the next button pressed is "locked" and not released until 613659607e0Smrg the second time the real button is released. 614659607e0Smrg 615659607e0Smrg 616659607e0Smrg Option "DragLockButtons" "M" 617659607e0Smrg 618659607e0Smrg 619659607e0Smrg 620659607e0Smrg Since button "M" is unpaired it is a master drag lock button. 621659607e0Smrg 622659607e0Smrg 623659607e0Smrg [1m6. Mouse Gallery[0m 624659607e0Smrg 625659607e0Smrg 626659607e0Smrg In all of the examples below, it is assumed that /dev/mouse is a link 627659607e0Smrg to the appropriate serial port or PS/2 mouse device. 628659607e0Smrg 629659607e0Smrg 630659607e0Smrg [1m6.1. MS IntelliMouse (serial, PS/2)[0m 631659607e0Smrg 632659607e0Smrg This mouse has a wheel which also acts as the button 2 (middle 633659607e0Smrg button). The wheel movement is recognized as the Z axis motion. This 634659607e0Smrg behavior is not compatible with XFree86 versions prior to 3.3.2, but 635659607e0Smrg is more consistent with the support for other mice with wheels or 636659607e0Smrg rollers. If you want to make the wheel behave like before, you can 637659607e0Smrg use the "ZAxisMapping" option as described above. 638659607e0Smrg 639659607e0Smrg IntelliMouse supports the PnP COM device specification. 640659607e0Smrg 641659607e0Smrg To use this mouse as a serial device: 642659607e0Smrg 643659607e0Smrg Option "Protocol" "Auto" 644659607e0Smrg 645659607e0Smrg 646659607e0Smrg or: 647659607e0Smrg 648659607e0Smrg Option "Protocol" "IntelliMouse" 649659607e0Smrg 650659607e0Smrg 651659607e0Smrg 652659607e0Smrg To use this mouse as the PS/2 device and the OS supports PS/2 mouse 653659607e0Smrg initialization: 654659607e0Smrg 655659607e0Smrg Option "Protocol" "IMPS/2" 656659607e0Smrg 657659607e0Smrg 658659607e0Smrg 659659607e0Smrg To use this mouse as the PS/2 device but the OS does not support PS/2 660659607e0Smrg mouse initialization (the wheel won't work in this case): 661659607e0Smrg 662659607e0Smrg Option "Protocol" "PS/2" 663659607e0Smrg 664659607e0Smrg 665659607e0Smrg 666659607e0Smrg To use this mouse as the PS/2 device and the OS supports automatic 667659607e0Smrg PS/2 mouse detection: 668659607e0Smrg 669659607e0Smrg 670659607e0Smrg Option "Protocol" "Auto" 671659607e0Smrg 672659607e0Smrg 673659607e0Smrg 674659607e0Smrg [1m6.2. MS IntelliMouse Explorer (PS/2, USB)[0m 675659607e0Smrg 676659607e0Smrg This mouse has a wheel which also acts as the button 2 (middle 677659607e0Smrg button). There are two side buttons; they are recognized as the 678659607e0Smrg buttons 4 and 5. The wheel movement is recognized as the Z axis 679659607e0Smrg motion. 680659607e0Smrg 681659607e0Smrg To use this mouse as the PS/2 device and the OS supports PS/2 mouse 682659607e0Smrg initialization: 683659607e0Smrg 684659607e0Smrg Option "Protocol" "ExplorerPS/2" 685659607e0Smrg 686659607e0Smrg 687659607e0Smrg 688659607e0Smrg To use this mouse as the PS/2 device but the OS does not support PS/2 689659607e0Smrg mouse initialization (the wheel and the side buttons won't work in 690659607e0Smrg this case): 691659607e0Smrg 692659607e0Smrg Option "Protocol" "PS/2" 693659607e0Smrg 694659607e0Smrg 695659607e0Smrg 696659607e0Smrg To use this mouse as the PS/2 device and the OS supports automatic 697659607e0Smrg PS/2 mouse detection: 698659607e0Smrg 699659607e0Smrg Option "Protocol" "Auto" 700659607e0Smrg 701659607e0Smrg 702659607e0Smrg 703659607e0Smrg To use this mouse as the USB device and the OS supports the generic 704659607e0Smrg HID protocol: 705659607e0Smrg 706659607e0Smrg Option "Protocol" "usb" 707659607e0Smrg 708659607e0Smrg 709659607e0Smrg 710659607e0Smrg To use this mouse as the USB device and the OS supports automatic 711659607e0Smrg mouse detection: 712659607e0Smrg 713659607e0Smrg Option "Protocol" "Auto" 714659607e0Smrg 715659607e0Smrg 716659607e0Smrg 717659607e0Smrg [1m6.3. Kensington Thinking Mouse and Kensington Expert Mouse (serial,[0m 718659607e0Smrg [1mPS/2)[0m 719659607e0Smrg 720659607e0Smrg These mice have four buttons. The Kensington Expert Mouse is really a 721659607e0Smrg trackball. Both Thinking mice support the PnP COM device 722659607e0Smrg specification. 723659607e0Smrg 724659607e0Smrg To use this mouse as a serial device: 725659607e0Smrg 726659607e0Smrg Option "Protocol" "Auto" 727659607e0Smrg 728659607e0Smrg 729659607e0Smrg or: 730659607e0Smrg 731659607e0Smrg Option "Protocol" "ThinkingMouse" 732659607e0Smrg 733659607e0Smrg 734659607e0Smrg To use this mouse as the PS/2 device and the OS supports PS/2 mouse 735659607e0Smrg initialization: 736659607e0Smrg 737659607e0Smrg Option "Protocol" "ThinkingMousePS/2" 738659607e0Smrg 739659607e0Smrg 740659607e0Smrg 741659607e0Smrg To use this mouse as the PS/2 device but the OS does not support PS/2 742659607e0Smrg mouse initialization (the third and the fourth buttons act as though 743659607e0Smrg they were the first and the second buttons): 744659607e0Smrg 745659607e0Smrg Option "Protocol" "PS/2" 746659607e0Smrg 747659607e0Smrg 748659607e0Smrg 749659607e0Smrg To use this mouse as the PS/2 device and the OS supports automatic 750659607e0Smrg PS/2 mouse detection: 751659607e0Smrg 752659607e0Smrg Option "Protocol" "Auto" 753659607e0Smrg 754659607e0Smrg 755659607e0Smrg 756659607e0Smrg [1m6.4. Genius NetScroll (PS/2)[0m 757659607e0Smrg 758659607e0Smrg This mouse has four buttons and a roller. The roller movement is 759659607e0Smrg recognized as the Z axis motion. 760659607e0Smrg 761659607e0Smrg To use this mouse as the PS/2 device and the OS supports PS/2 mouse 762659607e0Smrg initialization: 763659607e0Smrg 764659607e0Smrg Option "Protocol" "NetScrollPS/2" 765659607e0Smrg 766659607e0Smrg 767659607e0Smrg 768659607e0Smrg To use this mouse as the PS/2 device but the OS does not support PS/2 769659607e0Smrg mouse initialization (the roller and the fourth button won't work): 770659607e0Smrg 771659607e0Smrg Option "Protocol" "PS/2" 772659607e0Smrg 773659607e0Smrg 774659607e0Smrg 775659607e0Smrg To use this mouse as the PS/2 device and the OS supports automatic 776659607e0Smrg PS/2 mouse detection: 777659607e0Smrg 778659607e0Smrg Option "Protocol" "Auto" 779659607e0Smrg 780659607e0Smrg 781659607e0Smrg 782659607e0Smrg [1m6.5. Genius NetMouse and NetMouse Pro (serial, PS/2)[0m 783659607e0Smrg 784659607e0Smrg These mice have a "magic button" which is used like a wheel or a 785659607e0Smrg roller. The "magic button" action is recognized as the Z axis motion. 786659607e0Smrg NetMouse Pro is identical to NetMouse except that it has the third 787659607e0Smrg button on the left hand side. 788659607e0Smrg 789659607e0Smrg NetMouse and NetMouse Pro support the PnP COM device specification. 790659607e0Smrg When used as a serial mouse, they are compatible with MS IntelliMouse. 791659607e0Smrg 792659607e0Smrg To use these mice as a serial device: 793659607e0Smrg 794659607e0Smrg Option "Protocol" "Auto" 795659607e0Smrg 796659607e0Smrg 797659607e0Smrg 798659607e0Smrg or: 799659607e0Smrg 800659607e0Smrg Option "Protocol" "IntelliMouse" 801659607e0Smrg 802659607e0Smrg 803659607e0Smrg 804659607e0Smrg To use this mouse as the PS/2 device and the OS supports PS/2 mouse 805659607e0Smrg initialization: 806659607e0Smrg 807659607e0Smrg Option "Protocol" "NetMousePS/2" 808659607e0Smrg 809659607e0Smrg 810659607e0Smrg 811659607e0Smrg To use this mouse as the PS/2 device but the OS does not support PS/2 812659607e0Smrg mouse initialization (the "magic button" and the third button won't 813659607e0Smrg work): 814659607e0Smrg 815659607e0Smrg Option "Protocol" "PS/2" 816659607e0Smrg 817659607e0Smrg 818659607e0Smrg 819659607e0Smrg To use this mouse as the PS/2 device and the OS supports automatic 820659607e0Smrg PS/2 mouse detection: 821659607e0Smrg 822659607e0Smrg Option "Protocol" "Auto" 823659607e0Smrg 824659607e0Smrg 825659607e0Smrg 826659607e0Smrg [1m6.6. Genius NetScroll Optical (PS/2, USB)[0m 827659607e0Smrg 828659607e0Smrg This mouse has a wheel which also acts as the button 2 (middle 829659607e0Smrg button), and two side buttons which are recognized as the buttons 4 830659607e0Smrg and 5. It is compatible with NetMouse and NetMouse Pro. 831659607e0Smrg 832659607e0Smrg To use this mouse as the PS/2 device and the OS supports PS/2 mouse 833659607e0Smrg initialization: 834659607e0Smrg 835659607e0Smrg Option "Protocol" "NetMousePS/2" 836659607e0Smrg 837659607e0Smrg 838659607e0Smrg 839659607e0Smrg To use this mouse as the PS/2 device but the OS does not support PS/2 840659607e0Smrg mouse initialization (the wheel and the side buttons won't work): 841659607e0Smrg 842659607e0Smrg Option "Protocol" "PS/2" 843659607e0Smrg 844659607e0Smrg 845659607e0Smrg 846659607e0Smrg To use this mouse as the PS/2 device and the OS supports automatic 847659607e0Smrg PS/2 mouse detection: 848659607e0Smrg 849659607e0Smrg Option "Protocol" "Auto" 850659607e0Smrg 851659607e0Smrg 852659607e0Smrg 853659607e0Smrg To use this mouse as the USB device and the OS supports the generic 854659607e0Smrg HID protocol: 855659607e0Smrg 856659607e0Smrg Option "Protocol" "usb" 857659607e0Smrg 858659607e0Smrg 859659607e0Smrg 860659607e0Smrg To use this mouse as the USB device and the OS supports automatic 861659607e0Smrg mouse detection: 862659607e0Smrg 863659607e0Smrg Option "Protocol" "Auto" 864659607e0Smrg 865659607e0Smrg 866659607e0Smrg 867659607e0Smrg [1m6.7. ALPS GlidePoint (serial, PS/2)[0m 868659607e0Smrg 869659607e0Smrg The serial version of this pad device has been supported since XFree86 870659607e0Smrg 3.2. `Tapping' action is interpreted as the fourth button press. 871659607e0Smrg (IMHO, the fourth button of GlidePoint should always be mapped to the 872659607e0Smrg first button in order to make this pad behave like the other pad 873659607e0Smrg products.) 874659607e0Smrg 875659607e0Smrg To use this pad as a serial device: 876659607e0Smrg 877659607e0Smrg Option "Protocol" "GlidePoint" 878659607e0Smrg 879659607e0Smrg 880659607e0Smrg 881659607e0Smrg To use this mouse as the PS/2 device and the OS supports PS/2 mouse 882659607e0Smrg initialization: 883659607e0Smrg 884659607e0Smrg Option "Protocol" "GlidePointPS/2" 885659607e0Smrg 886659607e0Smrg 887659607e0Smrg 888659607e0Smrg To use this mouse as the PS/2 device but the OS does not support PS/2 889659607e0Smrg mouse initialization: 890659607e0Smrg 891659607e0Smrg Option "Protocol" "PS/2" 892659607e0Smrg 893659607e0Smrg 894659607e0Smrg 895659607e0Smrg To use this mouse as the PS/2 device and the OS supports automatic 896659607e0Smrg PS/2 mouse detection: 897659607e0Smrg 898659607e0Smrg Option "Protocol" "Auto" 899659607e0Smrg 900659607e0Smrg 901659607e0Smrg 902659607e0Smrg [1m6.8. ASCII MieMouse (serial, PS/2)[0m 903659607e0Smrg 904659607e0Smrg This mouse appears to be OEM from Genius. Although its shape is quite 905659607e0Smrg different, it works like Genius NetMouse Pro. This mouse has a "knob" 906659607e0Smrg which is used like a wheel or a roller. The "knob" action is 907659607e0Smrg recognized as the Z axis motion. 908659607e0Smrg 909659607e0Smrg MieMouse supports the PnP COM device specification. When used as a 910659607e0Smrg serial mouse, it is compatible with MS IntelliMouse. 911659607e0Smrg 912659607e0Smrg To use this mouse as a serial device: 913659607e0Smrg 914659607e0Smrg Option "Protocol" "Auto" 915659607e0Smrg 916659607e0Smrg 917659607e0Smrg or: 918659607e0Smrg 919659607e0Smrg Option "Protocol" "IntelliMouse" 920659607e0Smrg 921659607e0Smrg 922659607e0Smrg 923659607e0Smrg To use this mouse as the PS/2 device and the OS supports PS/2 mouse 924659607e0Smrg initialization: 925659607e0Smrg 926659607e0Smrg 927659607e0Smrg Option "Protocol" "NetMousePS/2" 928659607e0Smrg 929659607e0Smrg 930659607e0Smrg 931659607e0Smrg To use this mouse as the PS/2 device but the OS does not support PS/2 932659607e0Smrg mouse initialization (the knob and the third button won't work): 933659607e0Smrg 934659607e0Smrg Option "Protocol" "PS/2" 935659607e0Smrg 936659607e0Smrg 937659607e0Smrg 938659607e0Smrg To use this mouse as the PS/2 device and the OS supports automatic 939659607e0Smrg PS/2 mouse detection: 940659607e0Smrg 941659607e0Smrg Option "Protocol" "Auto" 942659607e0Smrg 943659607e0Smrg 944659607e0Smrg 945659607e0Smrg [1m6.9. Logitech MouseMan+ and FirstMouse+ (serial, PS/2)[0m 946659607e0Smrg 947659607e0Smrg MouseMan+ has two buttons on top, one side button and a roller. 948659607e0Smrg FirstMouse+ has two buttons and a roller. The roller movement is 949659607e0Smrg recognized as the Z axis motion. The roller also acts as the third 950659607e0Smrg button. The side button is recognized as the fourth button. 951659607e0Smrg 952659607e0Smrg MouseMan+ and FirstMouse+ support the PnP COM device specification. 953659607e0Smrg They have MS IntelliMouse compatible mode when used as a serial mouse. 954659607e0Smrg 955659607e0Smrg To use these mice as a serial device: 956659607e0Smrg 957659607e0Smrg Option "Protocol" "Auto" 958659607e0Smrg 959659607e0Smrg 960659607e0Smrg or: 961659607e0Smrg 962659607e0Smrg Option "Protocol" "IntelliMouse" 963659607e0Smrg 964659607e0Smrg 965659607e0Smrg 966659607e0Smrg To use this mouse as the PS/2 device and the OS supports PS/2 mouse 967659607e0Smrg initialization: 968659607e0Smrg 969659607e0Smrg Option "Protocol" "MouseManPlusPS/2" 970659607e0Smrg 971659607e0Smrg 972659607e0Smrg 973659607e0Smrg To use this mouse as the PS/2 device but the OS does not support PS/2 974659607e0Smrg mouse initialization (the wheel and the fourth button won't work): 975659607e0Smrg 976659607e0Smrg Option "Protocol" "PS/2" 977659607e0Smrg 978659607e0Smrg 979659607e0Smrg 980659607e0Smrg To use this mouse as the PS/2 device and the OS supports automatic 981659607e0Smrg PS/2 mouse detection: 982659607e0Smrg 983659607e0Smrg Option "Protocol" "Auto" 984659607e0Smrg 985659607e0Smrg 986659607e0Smrg 987659607e0Smrg [1m6.10. IBM ScrollPoint (PS/2)[0m 988659607e0Smrg 989659607e0Smrg ScrollPoint has a "stick" in between the two buttons. This "stick" is 990659607e0Smrg the same as the stick-shaped pointing device often found on notebook 991659607e0Smrg computers, on which you move the mouse cursor by pushing the stick. 992659607e0Smrg The stick movement is recognized as the Z axis motion. You can push 993659607e0Smrg the stick to right and left, as well as forward and backward. Give 994659607e0Smrg four numbers to ZAxisMapping option to map movement along all these 995659607e0Smrg four directions to button actions. 996659607e0Smrg 997659607e0Smrg This mouse is compatible with Logitech MouseMan+. To use this mouse 998659607e0Smrg as the PS/2 device and the OS supports PS/2 mouse initialization: 999659607e0Smrg 1000659607e0Smrg Option "Protocol" "MouseManPlusPS/2" 1001659607e0Smrg 1002659607e0Smrg 1003659607e0Smrg 1004659607e0Smrg To use this mouse as the PS/2 device but the OS does not support PS/2 1005659607e0Smrg mouse initialization (the stick won't work): 1006659607e0Smrg 1007659607e0Smrg Option "Protocol" "PS/2" 1008659607e0Smrg 1009659607e0Smrg 1010659607e0Smrg 1011659607e0Smrg To use this mouse as the PS/2 device and the OS supports automatic 1012659607e0Smrg PS/2 mouse detection: 1013659607e0Smrg 1014659607e0Smrg Option "Protocol" "Auto" 1015659607e0Smrg 1016659607e0Smrg 1017659607e0Smrg 1018659607e0Smrg [1m6.11. 8D ScrollMouse (serial, PS/2)[0m 1019659607e0Smrg 1020659607e0Smrg ScrollMouse, also known as GyroMouse, has a "stick" similar to IBM 1021659607e0Smrg ScrollPoint. The stick movement is recognized as the Z axis motion. 1022659607e0Smrg You can push the stick to right and left, as well as forward and 1023659607e0Smrg backward. Give four numbers to ZAxisMapping option to map movement 1024659607e0Smrg along all these four directions to button actions. 1025659607e0Smrg 1026659607e0Smrg ScrollMouse supports the PnP COM device specification. When used as a 1027659607e0Smrg serial mouse, it is compatible with MS IntelliMouse. 1028659607e0Smrg 1029659607e0Smrg To use this mouse as a serial device: 1030659607e0Smrg 1031659607e0Smrg Option "Protocol" "Auto" 1032659607e0Smrg 1033659607e0Smrg 1034659607e0Smrg or: 1035659607e0Smrg 1036659607e0Smrg Option "Protocol" "IntelliMouse" 1037659607e0Smrg 1038659607e0Smrg 1039659607e0Smrg 1040659607e0Smrg To use this mouse as the PS/2 device and the OS supports PS/2 mouse 1041659607e0Smrg initialization: 1042659607e0Smrg 1043659607e0Smrg Option "Protocol" "IMPS/2" 1044659607e0Smrg 1045659607e0Smrg 1046659607e0Smrg 1047659607e0Smrg To use this mouse as the PS/2 device but the OS does not support PS/2 1048659607e0Smrg mouse initialization (the stick won't work): 1049659607e0Smrg 1050659607e0Smrg Option "Protocol" "PS/2" 1051659607e0Smrg 1052659607e0Smrg 1053659607e0Smrg 1054659607e0Smrg To use this mouse as the PS/2 device and the OS supports automatic 1055659607e0Smrg PS/2 mouse detection: 1056659607e0Smrg Option "Protocol" "Auto" 1057659607e0Smrg 1058659607e0Smrg 1059659607e0Smrg 1060659607e0Smrg [1m6.12. A4 Tech 4D mice (serial, PS/2, USB)[0m 1061659607e0Smrg 1062659607e0Smrg A4 Tech produces quit a number of mice with one or two wheels. Their 1063659607e0Smrg mice may have 2, 3, or 4 buttons. The wheels movement is recognized 1064659607e0Smrg as the Z axis motion. Give four numbers to ZAxisMapping option to map 1065659607e0Smrg movement of both wheels to button actions. 1066659607e0Smrg 1067659607e0Smrg 4D mice support the PnP COM device specification. When used as a 1068659607e0Smrg serial mouse, it is compatible with MS IntelliMouse. 1069659607e0Smrg 1070659607e0Smrg To use this mouse as a serial device: 1071659607e0Smrg 1072659607e0Smrg Option "Protocol" "Auto" 1073659607e0Smrg 1074659607e0Smrg 1075659607e0Smrg or: 1076659607e0Smrg 1077659607e0Smrg Option "Protocol" "IntelliMouse" 1078659607e0Smrg 1079659607e0Smrg 1080659607e0Smrg 1081659607e0Smrg To use this mouse as the PS/2 device and the OS supports PS/2 mouse 1082659607e0Smrg initialization: 1083659607e0Smrg 1084659607e0Smrg Option "Protocol" "IMPS/2" 1085659607e0Smrg 1086659607e0Smrg 1087659607e0Smrg 1088659607e0Smrg To use this mouse as the PS/2 device but the OS does not support PS/2 1089659607e0Smrg mouse initialization (the wheels won't work): 1090659607e0Smrg 1091659607e0Smrg Option "Protocol" "PS/2" 1092659607e0Smrg 1093659607e0Smrg 1094659607e0Smrg 1095659607e0Smrg To use this mouse as the PS/2 device and the OS supports automatic 1096659607e0Smrg PS/2 mouse detection: 1097659607e0Smrg 1098659607e0Smrg Option "Protocol" "Auto" 1099659607e0Smrg 1100659607e0Smrg 1101659607e0Smrg 1102659607e0Smrg To use this mouse as the USB device and the OS supports the generic 1103659607e0Smrg HID protocol: 1104659607e0Smrg 1105659607e0Smrg Option "Protocol" "usb" 1106659607e0Smrg 1107659607e0Smrg 1108659607e0Smrg 1109659607e0Smrg To use this mouse as the USB device and the OS supports automatic 1110659607e0Smrg mouse detection: 1111659607e0Smrg 1112659607e0Smrg Option "Protocol" "Auto" 1113659607e0Smrg 1114659607e0Smrg 1115659607e0Smrg 1116659607e0Smrg [1m7. Configuration Examples[0m 1117659607e0Smrg 1118659607e0Smrg 1119659607e0Smrg 1120659607e0Smrg This section shows some example InputDevice section for popular mice. 1121659607e0Smrg All the examples assume that the mouse is connected to the PS/2 mouse 1122659607e0Smrg port, and the OS supports the PS/2 mouse initialization. It is also 1123659607e0Smrg assumed that /dev/mouse is a link to the PS/2 mouse port. 1124659607e0Smrg 1125659607e0Smrg Logitech MouseMan+ has 4 buttons and a wheel. The following example 1126659607e0Smrg makes the wheel movement available as the button 5 and 6. 1127659607e0Smrg 1128659607e0Smrg 1129659607e0Smrg ______________________________________________________________________ 1130659607e0Smrg Section "InputDevice" 1131659607e0Smrg Identifier "MouseMan+" 1132659607e0Smrg Driver "mouse" 1133659607e0Smrg Option "Device" "/dev/mouse" 1134659607e0Smrg Option "Protocol" "MouseManPlusPS/2" 1135659607e0Smrg Option "Buttons" "6" 1136659607e0Smrg Option "ZAxisMapping" "5 6" 1137659607e0Smrg EndSection 1138659607e0Smrg ______________________________________________________________________ 1139659607e0Smrg 1140659607e0Smrg 1141659607e0Smrg 1142659607e0Smrg You can change button number assignment using the xmodmap command 1143659607e0Smrg AFTER you start the X server with the above configuration. You may 1144659607e0Smrg not like to use the wheel as the button 2 and rather want the side 1145659607e0Smrg button (button 4) act like the button 2. You may also want to map the 1146659607e0Smrg wheel movement to the button 4 and 5. This can be done by the 1147659607e0Smrg following command: 1148659607e0Smrg 1149659607e0Smrg 1150659607e0Smrg xmodmap -e "pointer = 1 6 3 2 4 5" 1151659607e0Smrg 1152659607e0Smrg 1153659607e0Smrg 1154659607e0Smrg After this command is run, the correspondence between the buttons and 1155659607e0Smrg button numbers will be as shown in the following table. 1156659607e0Smrg 1157659607e0Smrg 1158659607e0Smrg Physical Buttons Reported as: 1159659607e0Smrg ------------------------------------ 1160659607e0Smrg 1 Left Button Button 1 1161659607e0Smrg 2 Wheel Button Button 6 1162659607e0Smrg 3 Right Button Button 3 1163659607e0Smrg 4 Side Button Button 2 1164659607e0Smrg 5 Wheel Negative Move Button 4 1165659607e0Smrg 6 Wheel Positive Move Button 5 1166659607e0Smrg 1167659607e0Smrg Starting in the Xorg 6.9 release, you can also achieve this in your 1168659607e0Smrg configuration file by adding this to the "InputDevice" section in 1169659607e0Smrg xorg.conf: 1170659607e0Smrg 1171659607e0Smrg Option "ButtonMapping" "1 6 3 2 4 5" 1172659607e0Smrg 1173659607e0Smrg For the MS IntelliMouse Explorer which as a wheel and 5 buttons, you 1174659607e0Smrg may have the following InputDevice section. 1175659607e0Smrg 1176659607e0Smrg 1177659607e0Smrg ______________________________________________________________________ 1178659607e0Smrg Section "InputDevice" 1179659607e0Smrg Identifier "IntelliMouse Explorer" 1180659607e0Smrg Driver "mouse" 1181659607e0Smrg Option "Device" "/dev/mouse" 1182659607e0Smrg Option "Protocol" "ExplorerPS/2" 1183659607e0Smrg Option "Buttons" "7" 1184659607e0Smrg Option "ZAxisMapping" "6 7" 1185659607e0Smrg EndSection 1186659607e0Smrg ______________________________________________________________________ 1187659607e0Smrg 1188659607e0Smrg 1189659607e0Smrg 1190659607e0Smrg The IntelliMouse Explorer has 5 buttons, thus, you should give "7" to 1191659607e0Smrg the Buttons option if you want to map the wheel movement to buttons (6 1192659607e0Smrg and 7). With this configuration, the correspondence between the 1193659607e0Smrg buttons and button numbers will be as follows: 1194659607e0Smrg 1195659607e0Smrg 1196659607e0Smrg Physical Buttons Reported as: 1197659607e0Smrg ------------------------------------ 1198659607e0Smrg 1 Left Button Button 1 1199659607e0Smrg 2 Wheel Button Button 2 1200659607e0Smrg 3 Right Button Button 3 1201659607e0Smrg 4 Side Button 1 Button 4 1202659607e0Smrg 5 Side Button 2 Button 5 1203659607e0Smrg 6 Wheel Negative Move Button 6 1204659607e0Smrg 7 Wheel Positive Move Button 7 1205659607e0Smrg 1206659607e0Smrg 1207659607e0Smrg 1208659607e0Smrg You can change button number assignment using xmodmap AFTER you 1209659607e0Smrg started the X server with the above configuration. 1210659607e0Smrg 1211659607e0Smrg 1212659607e0Smrg xmodmap -e "pointer = 1 2 3 4 7 5 6" 1213659607e0Smrg 1214659607e0Smrg 1215659607e0Smrg 1216659607e0Smrg The above command will moves the side button 2 to the button 7 and 1217659607e0Smrg make the wheel movement reported as the button 5 and 6. See the table 1218659607e0Smrg below. 1219659607e0Smrg 1220659607e0Smrg 1221659607e0Smrg Physical Buttons Reported as: 1222659607e0Smrg ------------------------------------ 1223659607e0Smrg 1 Left Button Button 1 1224659607e0Smrg 2 Wheel Button Button 2 1225659607e0Smrg 3 Right Button Button 3 1226659607e0Smrg 4 Side Button 1 Button 4 1227659607e0Smrg 5 Side Button 2 Button 7 1228659607e0Smrg 6 Wheel Negative Move Button 5 1229659607e0Smrg 7 Wheel Positive Move Button 6 1230659607e0Smrg 1231659607e0Smrg 1232659607e0Smrg 1233659607e0Smrg For the A4 Tech WinEasy mouse which has two wheels and 3 buttons, you 1234659607e0Smrg may have the following InputDevice section. 1235659607e0Smrg 1236659607e0Smrg 1237659607e0Smrg ______________________________________________________________________ 1238659607e0Smrg Section "InputDevice" 1239659607e0Smrg Identifier "WinEasy" 1240659607e0Smrg Driver "mouse" 1241659607e0Smrg Option "Device" "/dev/mouse" 1242659607e0Smrg Option "Protocol" "IMPS/2" 1243659607e0Smrg Option "Buttons" "7" 1244659607e0Smrg Option "ZAxisMapping" "4 5 6 7" 1245659607e0Smrg EndSection 1246659607e0Smrg ______________________________________________________________________ 1247659607e0Smrg 1248659607e0Smrg 1249659607e0Smrg 1250659607e0Smrg The movement of the first wheel is mapped to the button 4 and 5. The 1251659607e0Smrg second wheel's movement will be reported as the buttons 6 and 7. 1252659607e0Smrg 1253659607e0Smrg The Kensington Expert mouse is really a trackball. It has 4 buttons 1254659607e0Smrg arranged in a rectangle around the ball. 1255659607e0Smrg 1256659607e0Smrg ______________________________________________________________________ 1257659607e0Smrg Section "InputDevice" 1258659607e0Smrg Identifier "DLB" 1259659607e0Smrg Driver "mouse" 1260659607e0Smrg Option "Protocol" "ThinkingMousePS/2" 1261659607e0Smrg Option "Buttons" "3" 1262659607e0Smrg Option "Emulate3Buttons" 1263659607e0Smrg Option "Device" "/dev/mouse" 1264659607e0Smrg Option "DragLockButtons" "2 1 4 3" 1265659607e0Smrg EndSection 1266659607e0Smrg ______________________________________________________________________ 1267659607e0Smrg 1268659607e0Smrg 1269659607e0Smrg In this example, button 2 is a drag lock button for button number 1, 1270659607e0Smrg and button 4 is a drag lock button for button 3. Since button 2 is 1271659607e0Smrg above button 1 and button 4 is above button 3 in the layout of this 1272659607e0Smrg trackball, this is reasonable. 1273659607e0Smrg 1274659607e0Smrg Because button 2 is being used as a drag lock, it can not be used as 1275659607e0Smrg an ordinary button. However, it can be activated by using the 1276659607e0Smrg "Emulate3Buttons" feature. However, some people my be unable to press 1277659607e0Smrg two buttons at the same time. They may prefer the following 1278659607e0Smrg InputDevice section which defines button 4 as a master drag lock 1279659607e0Smrg button, and leaves button 2 free for ordinary use. 1280659607e0Smrg 1281659607e0Smrg ______________________________________________________________________ 1282659607e0Smrg Section "InputDevice" 1283659607e0Smrg Identifier "MasterDLB" 1284659607e0Smrg Driver "mouse" 1285659607e0Smrg Option "Protocol" "ThinkingMousePS/2" 1286659607e0Smrg Option "Buttons" "3" 1287659607e0Smrg Option "Device" "/dev/mouse" 1288659607e0Smrg Option "DragLockButtons" "4" 1289659607e0Smrg EndSection 1290659607e0Smrg ______________________________________________________________________ 1291659607e0Smrg 1292659607e0Smrg 1293659607e0Smrg 1294