README revision 1.1 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 (a] 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