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