184 lines
9.9 KiB
Plaintext
184 lines
9.9 KiB
Plaintext
Second Mouse in X mini-HOWTO
|
|
|
|
Greg Wierzchowski
|
|
|
|
greg.wierzchowski@usa.net
|
|
|
|
2001-07-18
|
|
Revision History
|
|
Revision 1.2 2001-11-17 Revised by: GW
|
|
Corrected for the Wheel Mouse in XFree 3.x.
|
|
Revision 1.1 2001-07-21 Revised by: GW
|
|
Added "Alternatives" section.
|
|
Revision 1.0 2001-07-18 Revised by: GW
|
|
Initial Release.
|
|
|
|
|
|
Quick instructions to enable a second mouse in X.
|
|
|
|
-----------------------------------------------------------------------------
|
|
Table of Contents
|
|
1. Introduction
|
|
2. Copyright and License
|
|
3. Mouse Protocols
|
|
4. XFree 3.x
|
|
5. XFree 4.x
|
|
6. Alternatives
|
|
7. Credits
|
|
|
|
1. Introduction
|
|
|
|
This mini-HOWTO was created by gathering the information already available on
|
|
the internet, in newsgroups and other HOWTOs. I needed to hook up an USB
|
|
mouse in addition to the built-in trackpoint on my Thinkpad laptop.
|
|
|
|
Examples in this mini-HOWTO pertain to my particular hardware configuration,
|
|
which is PS/2 mouse as a primary pointer and USB wheel mouse as an additional
|
|
one. It should be pretty straightforward to implement another combination,
|
|
say, a PS/2 and a serial mice. Two things that would have to be changed are
|
|
the mouse protocol and the mouse device. Wherever possible, I try to provide
|
|
appropriate examle.
|
|
|
|
The instructions for X are divided into two sections, one fro XFree version 3
|
|
and one for XFree 4. The format of the XF86Config file has significantly
|
|
changed between versions and requires slightly different approach. In XFree
|
|
3.x, the second mouse has to appear in an Xinput section, which has slightly
|
|
different syntax than the regular Pointer section. In XFree 4.x, it's just
|
|
another pointer.
|
|
-----------------------------------------------------------------------------
|
|
|
|
2. Copyright and License
|
|
|
|
This document is copyright 2001 by Greg Wierzchowski and is released under
|
|
the terms of the GNU Free Documentation License, which is hereby incorporated
|
|
by reference. Send feedback to greg.wierzchowski@usa.net.
|
|
-----------------------------------------------------------------------------
|
|
|
|
3. Mouse Protocols
|
|
|
|
Two most important parameters in the XF86Config file, ones that are crucial
|
|
to the mouse working properly are the Protocol and Device.
|
|
|
|
As far as Protocol is concerned, it seems that gpm uses compatible protocol
|
|
names, so please look there for the detailed information. Here is the excerpt
|
|
taken from the gpm info page (just the few most commont types):
|
|
|
|
|
|
Table 1. Most Common Mouse Protocols in X
|
|
+------------------------------------+-------------------------------------+
|
|
|Protocol Name |Description |
|
|
+------------------------------------+-------------------------------------+
|
|
|Microsoft |Standard Microsoft mice. |
|
|
+------------------------------------+-------------------------------------+
|
|
|MouseSystems |This is the standard protocol for |
|
|
| |three-button serial devices. |
|
|
+------------------------------------+-------------------------------------+
|
|
|MMSeries |Title says it all. This mouse decoder|
|
|
| |accepts standard serial options, |
|
|
| |although they should not be needed. |
|
|
+------------------------------------+-------------------------------------+
|
|
|Logitech |This is the protocol used by old |
|
|
| |serial Logitech mice. |
|
|
+------------------------------------+-------------------------------------+
|
|
|BusMouse |Some bus devices use this protocol, |
|
|
| |including those produced by Logitech.|
|
|
+------------------------------------+-------------------------------------+
|
|
|PS/2 |The protocol used by most busmice. |
|
|
+------------------------------------+-------------------------------------+
|
|
|IMPS/2 |"IntelliMouse" on the ps/2 port. Also|
|
|
| |works with USB mice |
|
|
+------------------------------------+-------------------------------------+
|
|
-----------------------------------------------------------------------------
|
|
|
|
4. XFree 3.x
|
|
|
|
In XFree 3.x, additional pointing devices, like mice or tablets, are defined
|
|
through the use of an Xinput section. The primary mouse is defined as usual:
|
|
Section "Pointer"
|
|
Protocol "PS/2"
|
|
Device "/dev/mouse"
|
|
EndSection
|
|
In the case above, it's a regular three-button PS/2 mouse, which works for
|
|
the trackpoint as well. Now, for the USB mouse:
|
|
Section "Xinput"
|
|
SubSection "Mouse"
|
|
DeviceName "USB Mice"
|
|
Protocol "IMPS/2"
|
|
ZAxisMapping 4 5
|
|
Port "/dev/input/mice"
|
|
Alwayscore
|
|
EndSubSection
|
|
EndSection
|
|
My mouse is a wheel mouse, thus the protocol is IMPS/2. ZAxisMapping line is
|
|
also needed for the wheel to work. I also want the mouse to always work
|
|
alongside the other one, and this is achieved through the AlwaysCore option.
|
|
If. for example, this was a serial mouse, the Port would read "/dev/ttyS0"
|
|
for COM1.
|
|
-----------------------------------------------------------------------------
|
|
|
|
5. XFree 4.x
|
|
|
|
With XFree 4.x the task is even easier. First, the primary mouse, usually
|
|
present in the config file already:
|
|
Section "InputDevice"
|
|
Identifier "Mouse0"
|
|
Driver "mouse"
|
|
Option "Device" "/dev/mouse"
|
|
Option "Protocol" "PS/2"
|
|
Option "Emulate3Buttons" "off"
|
|
Option "ZAxisMapping" "4 5"
|
|
EndSection
|
|
To add another mouse just copy the above section and modify it, so that it
|
|
reads:
|
|
Section "InputDevice"
|
|
Identifier "Mouse1"
|
|
Driver "mouse"
|
|
Option "Device" "/dev/input/mice"
|
|
Option "Protocol" "IMPS/2"
|
|
Option "Emulate3Buttons" "off"
|
|
Option "ZAxisMapping" "4 5"
|
|
EndSection
|
|
Well, this way you can define as many additional pointers as you wish, and
|
|
the same applies to joysticks and tablets.
|
|
|
|
To make both mice work together, there's one more change to be made to the
|
|
XF86Config file. There is a section called ServerLayout where all the
|
|
components are specified. Here's how it looks before adding a second mouse:
|
|
Section "ServerLayout"
|
|
Identifier "XFree86 Configured"
|
|
Screen 0 "Screen0" 0 0
|
|
InputDevice "Mouse0" "CorePointer"
|
|
InputDevice "Keyboard0" "CoreKeyboard"
|
|
EndSection
|
|
And after adding the second mouse:
|
|
Section "ServerLayout"
|
|
Identifier "XFree86 Configured"
|
|
Screen 0 "Screen0" 0 0
|
|
InputDevice "Mouse0" "CorePointer"
|
|
InputDevice "Mouse1" "AlwaysCore"
|
|
InputDevice "Keyboard0" "CoreKeyboard"
|
|
EndSection
|
|
-----------------------------------------------------------------------------
|
|
|
|
6. Alternatives
|
|
|
|
Another way to use two (or more) mice at the same time time is to use a
|
|
program such as MultiMouse by Takashi Manabe. It's a daemon multiplexing
|
|
several mice and making them available through the special device /dev/mumse
|
|
as a MouseSystems compatible mouse.
|
|
|
|
According to the author: "This program allows you to use multiple mice at the
|
|
same time. This program is developed for a subnote user who want to use both
|
|
a pre-mounted pointing device and a external serial mouse."
|
|
|
|
I'm not sure if the program supports second mouse other than serial, but the
|
|
advantage is that the second mouse works in console mode too. MultiMouse can
|
|
be found at Sunsite (sunsite.unc.edu /pub/Linux/system/Misc) and Tucows
|
|
(www.tucows.com Linux Console -> Utilities).
|
|
-----------------------------------------------------------------------------
|
|
|
|
7. Credits
|
|
|
|
Special thanks to all the people who contribute to the Linux community and
|
|
who made this HOWTO possible.
|