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