De 3-knops seriële muis mini-HOWTO

Geoff Short, geoff@kipper.york.ac.uk,
Vertaald door: Ellen Bokhorst bokkie@nl.linux.org

v1.33, 31 mei 1998


Hoe een 3-knops seriële muis onder Linux juist werkend te krijgen.

1. Disclaimer

Het volgende document wordt in goed vertrouwen aangeboden aangezien het alleen veilige programmering en procedures bevat. Door de auteur wordt geen aansprakelijkheid aanvaard voor enig verlies of schade veroorzaakt op enige wijze aan enige persoon of uitrusting, als een direct of indirect gevolg door het opvolgen van deze instructies.

2. Introductie

De meest recente versie van dit document is altijd te vinden op http://kipper.york.ac.uk/mouse.html

Er is een Japanse vertaling te vinden op http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/3-Button-Mouse.euc; en een Franse vertaling op http://www.freenix.fr/linux/HOWTO/mini/3-Button-Mouse.html. Wellicht zijn er nog andere vertalingen beschikbaar. Kijk dit na bij je lokale LDP-mirrors.

De meeste X-applicaties zijn geschreven in de veronderstelling dat de gebruiker met een 3-knops muis zal werken. Seriële muizen zijn algemeen in het gebruik op computers en ze zijn goedkoop aan te schaffen. Veel van deze muizen hebben 3 knoppen en hiervan wordt beweerd dat ze gebruik maken van het Microsoft protocol, wat in theorie betekent dat ze ideaal zijn voor de X Window setup. (Het record voor de goedkoopste werkende 3-knops muis staat thans op $1.14!)

De meeste tweevoudige protocol muizen zullen in twee modi werken:

Dit document leidt je door de verschillende stappen die nodig zijn om je muis in deze twee verschillende modi te configureren, vooral die stappen die nodig zijn om gebruik te maken van de nuttiger 3-knops modus.

Aangezien distributies steeds eenvoudiger in te stellen zijn, zouden een aantal problemen eigenlijk verdwenen moeten zijn. RedHat heeft bijvoorbeeld een mouseconfig programma om het geheel in te stellen. Een aantal versies van RH5.0 bevatte echter een bug in mouseconfig, dus zorg dat je controleert op patches.

3. Seriële Poorten

Waar je als eerste voor moet zorgen is dat de software de muis kan vinden. Zoek uit met welke seriële poort je muis is verbonden - meestal is dit /dev/ttyS0 (COM1 onder DOS) of /dev/ttyS1 (COM2). (ttyS0 is gewoonlijk de 9 pin socket, ttyS1 de 25 pin socket, maar uiteraard is hier geen regel voor waar niet van afgeweken wordt.) Er zijn ook een equivalent aantal /dev/cua devices, die vrijwel hetzelfde zijn als de ttyS devices, maar het gebruik ervan wordt ontmoedigd. Maak voor het gemak een nieuwe link /dev/mouse die naar deze poort verwijst. Voor bijvoorbeeld ttyS0:

ln -s /dev/ttyS0 /dev/mouse

4. Geschakelde muizen

Een aantal muizen, meestal niet de goedkoopste, heeft aan de onderkant een schakelaar met de markering `2/3'. Soms is dit `PC/MS'. In dit geval staat de instelling `2' voor de 2-knops Microsoft modus, en de `3' voor de 3-knops MouseSystems modus. De `PC/MS' schakelaar is iets gecompliceerder. Je zult waarschijnlijk bemerken dat de `MS' instelling voor Microsoft is en de `PC' voor MouseSystems. Wellicht wordt de `PC' instelling als ps/2 modus omschreven, maar het zou tevens als MouseSystems modus moeten werken. Als je een dergelijke muis hebt, kun je de schakelaar instellen op `3' of `PC', de MouseSystems instellingen in je XConfigs (zie hieronder) plaatsen en de muis zou perfect in 3-knops modus moeten werken.

5. Gewone muizen

Als je geen schakelaars en geen instructies hebt, zul je wat moeten experimenteren. Het eerste wat je kunt proberen is ervan uit te gaan dat de fabrikant van de muis de waarheid spreekt, en de muis volledig Microsoft compatibel is. Stel Xconfigs zo in dat het uitgaat van een Microsoft muis (zie de sectie Xconfig) en probeer het uit.

Als de muis in het geheel niet werkt, dan heb je óf geen Microsoft muis, óf er doet zich een ander probleem voor. Probeer de andere protocollen in de configs, de man page voor het config bestand is de beste plaats om te zoeken. Kijk ook verderop in de sectie Diverse problemen.

Wat je waarschijnlijk zal bemerken wanneer je onder X draait, is dat de muis prima werkt, maar slechts de twee buitenste knoppen iets doen. Je kunt dit uiteraard accepteren en de derde knop emuleren, (druk beide knoppen tegelijkertijd in als vervanging voor de middelste knop) zoals je dat met een twee-knops muis doet. Hiervoor wijzig je het Xconfig bestand zoals aangegeven in de sectie Xconfig voorbeeld. Dit kan betekenen dat je voor niks een 3-knops muis hebt gekocht, en er beslist niets mee bent opgeschoten. Dus nu zul je naar je hardware moeten kijken.

6. Schakelen van een muis in de 3-knops modus

Zelfs goedkope muizen kunnen onder het Mouse Systems protocol werken, met alle drie de knoppen werkend. De truuk, iets wat je zelden in de instructies terug zult vinden, bestaat hieruit de muis te laten denken dat het een Mouse Systems muis is.

Wanneer de muis voor het eerst van stroom wordt voorzien, en als de linkerknop ingedrukt wordt gehouden, schakelt het over naar de Mouse Systems modus. Een simpel feit, maar niet altijd gepubliceerd. Merk op dat een soft reboot van je computer wellicht de muis niet van stroom ontdoet en het daarom misschien niet werkt. Er zijn nog een aantal andere manieren om naar een andere modus te schakelen, die mogelijk wel of niet met je specifieke muis werken. Er zijn een aantal methodes die minder drastisch zijn dan het rebooten van je computer, twee ervan zijn zelfs drastischer!

Dit is het dan, de keuze is aan jou. Houd je bij de standaard Microsoft twee-knops muis, of werk uit hoe de modus om te zetten en stel X zo in dat je hier profijt van hebt.

7. Wheel muizen

In de laatste paar jaar zijn muizen met een wiel op de markt verschenen, te beginnen met de Microsoft Intellimouse en zich verspreidend over andere fabrikanten. Met het wiel kan als op een knop worden geklikt, of heen en terug worden gebladerd. Verreweg de beste referentie voor informatie is http://www.inria.fr/koala/colas/mouse-wheel-scroll/ waar wordt beschreven hoe je heel veel X-applicaties zover kan krijgen dat ze de actie scrollen herkennen.

In het algemeen heb je een tamelijk nieuwe Xserver nodig om gebruik te kunnen maken van de scroll-actie, maar een aantal oudere servers zal in ieder geval de klik-acties herkennen. De Intellimouse wordt bijvoorbeeld door XFree 3.3.1 en latere versies herkend.

8. Met gpm muismodi omzetten

gpm is het programma waarmee je de muis in console modus kunt gebruiken. het wordt gewoonlijk in linux-distributies opgenomen, en kan vanaf de opdrachtregel of in het opstartscript /etc/rc.d/rc.local worden opgestart. Merk op dat distributies niet altijd de meest recente versie (1.13 tijdens dit schrijven) hebben opgenomen. De laatste versie is te vinden op mirrors van sunsite.unc.edu.

De belangrijkste modi voor seriële muizen onder gpm zijn:

gpm -t ms
gpm -t msc
gpm -t help

voor Microsoft of MouseSystems modi, of om de muis uit te proberen en je aan te geven wat het vond. Wellicht heb je de -3 vlag nodig om gpm te kunnen uitvoeren en mogelijk nog de optie DTR, met behulp van de vlag -o dtr:

gpm -3 -o dtr -t msc

Het lukt met gpm vaak alle drie de knoppen, zelfs in Microsoft modus, te herkennen. En nieuwere versies (versie 1.0 en later (?)) kunnen deze informatie aan andere programma's beschikbaar stellen. Hiervoor moet je gpm opstarten met de -R vlag, zoals in:

gpm -R -t ms

Dit zorgt dat gpm de muisdata naar een nieuw device, genaamd /dev/gpmdata, exporteert, wat voor ieder ander programma op een muis lijkt. Dit device maakt altijd gebruik van het MouseSystems protocol. Je kunt Xconfig dan instellen dat het hier gebruik van maakt in plaats van /dev/mouse zoals hieronder wordt getoond, maar natuurlijk moet je er wel voor zorgen dat gpm altijd draait wanneer je X gebruikt. Een aantal mensen liet weten dat een aantal acties met de middelste knop niet correct door X wordt geïnterpreteerd wanneer van deze techniek gebruik wordt gemaakt. Dit zou verholpen kunnen worden door een individuele setup van de muis.

Wijzigen van de knoppenindeling voor gpm en X ( gustafso@math.utah.edu)

Wellicht merk je dat gpm een andere standaard knoppenindeling gebruikt dan X, dus gebruik van beide systemen op dezelfde computer kan verwarrend zijn. Om te zorgen dat X dezelfde knoppen voor de selecteer- en plakbewerkingen gebruikt als gpm, gebruik je de X-opdracht:

xmodmap -e "pointer = 1 3 2"
wat zorgt dat er met de linkerknop kan worden geselecteerd en met de rechtermuisknop kan worden geplakt, voor zowel 2-knops als 3-knops muizen. Om gpm te dwingen gebruik te maken van de X standaard knoppenindeling, start je het met de opdracht -B, bv:
gpm -t msc -B 132

9. Twee muizen gebruiken

In een aantal gevallen, zoals bijvoorbeeld bij een laptop met een ingebouwd aanwijsapparaat, kan het zijn dat je als tweede apparaat gebruik wenst te maken van een seriële muis. In de meeste situaties maakt het ingebouwde apparaat gebruik van het PS/2 protocol, en kan worden genegeerd als je het niet wenst te gebruiken. Configureer gpm of X eenvoudigweg zo dat het net als anders /dev/ttyS0 (of wat dan ook) gebruikt.

Om beiden tegelijkertijd te gebruiken, kun je gpm -M toepassen om de devices opnieuw te exporteren. Meer details staan in de man page van gpm. Ook ondersteunen XFree 3.3.1 en latere versies meerdere invoerapparaten, door gebruik te maken van het XInput mechanisme. In automatisch gegenereerde XF86Config bestanden zouden alle benodigde opmerkingen moeten staan.

10. Voorbeelden van de bestanden XF86Config en Xconfig

De lokatie van het configuratiebestand voor X is afhankelijk van de specifieke uitgave en distributie van je systeem. Waarschijnlijk is dit /etc/Xconfig, /etc/XF86Config of /usr/X11/lib/X11/XF86Config. Je zou moeten zien welke het is als je X opstart - het zal naar het scherm worden gekaatst voordat alle opties worden weergegeven. De syntax tussen XF86Config en Xconfig bestanden verschilt iets, dus worden beiden gegeven.

Microsoft Seriële muis

Microsoft Seriële muis met drie-knops emulatie

MouseSystems drie-knops seriële muis

Microsoft Seriële muis met gpm -R

11. Kabels, uitbreidingen en adapters

De enige bedrading die in een muiskabel nodig is: TxD en RxD voor gegevensoverdracht, RTS en/of DTR voor stroombronnen, en aarde. Vertaald naar pinnummers:

            9-pin poort     25-pin poort
        TxD     3                2
        RxD     2                3
        RTS     7                4
        DTR     4               20
        Gnd     5                7

Deze tabel kan van pas komen als je adapters tussen 9- en 25-pin pluggen of uitbreidingskabels wilt maken.

12. Diverse problemen en setups

13. Geteste modellen

Er zijn heel wat verschillende muizen, en ik kan eerlijkheidshalve niet aangeven dat je bij aanschaf de ene boven de andere zou moeten verkiezen. Wat ik wel kan doen, is je een lijst geven met wat ik denk dat deze muizen doen, gebaseerd op ervaring en van horen zeggen. Zelfs met deze informatie zou je een beetje voorzichtig moeten zijn - we hadden op kantoor twee computers met op beide computers een identieke muis, wat met de ene muis werkte, werkte niet met de andere muis! Alle aanvullingen op deze lijst zijn van harte welkom.

Mouse Systems optische muis, seriële versie
Werkt goed (zoals je mag verwachten gezien de naam!) zonder ClearDTR of ClearRTS in config.
WiN mouse, als verkocht door Office World voor acht quid.
Standaard tweevoudige-modus Microsoft/MouseSystems.
Agiler Mouse 2900
Standaard tweevoudige-modus Microsoft/MouseSystems. SYSGRATION SYS2005 chip is soldeerbaar.
Sicos muis,
Werkt ok, benodigd ClearDTR & Clear RTS in config.
Index verkoopt een muis voor 10 quid,
Werkt in 3-knops modus, maar zonder prettige instructies geleverd:-)
Artec muis
Gebruikelijke tweevoudige-protocol muis, benodigd `ClearDTR' ingesteld in config, GEEN `ClearRTS'
DynaPoint 3-knops seriële muis.
Gebruikelijke tweevoudige-protocol muis, benodigd `ClearDTR' EN `ClearRTS' in Xconfig.
Genius Easymouse 3-knops muis
Werkt prima met Mouseman protocol zonder de ChordMiddle parameter ingesteld. Van Roderick Johnstone ( rmj@ast.cam.ac.uk)
Truemouse, gefabriceerd in Taiwan
Werkt OK, benodigd `ClearDTR' in config. (Van Tim MacEachern)
Champ merk muis
Moet zijn geschakeld in PC modus, wat tevens het MouseSystems protocol activeert. (Van tnugent@gucis.cit.gu.edu.au)
MicroSpeed muis
Gebruikelijke tweevoudige-protocol muis.
Venus brand ($7)
Heeft binnenin een jumper om te schakelen tussen 2- en 3-knops modus. (Van mhoward@mth.com )
Saturn
Te schakelen muis, werkt OK als MouseSystems in 3-knops positie. (Van grant@oj.rsmas.miami.edu .)
Manhattan muis.
Schakelaar voor `MS AM' / `PC AT' modi, MS modus werkt prima met de methode gpm -R. (Van komanec@umel.fee.vutbr.cz).
Inland mouse.
Schakelaar voor `PC/MS' modi, werkt prima. (Van http://ptsg.eecs.berkeley.edu/~venkates).
qMouse (3-knops), FCC ID E6qmouse X31.
Wordt in de USA verkocht voor ongeveer $10. Werkt met `gpm -t msc -r 20'. Geen jumpers of schakelaars voor MouseSystems 3-knops modus. Onbetrouwbaar onder X. Reageert niet op echo "*n" > /dev/mouse.
Mitsumi Mouse (2-knops), FCC ID EW4ECM-S3101.
Wordt in de USA verkocht voor ongeveer $12. Betrouwbaar onder X en onder gpm, soepele twee-knops muis. (Deze twee komen van gustafso@math.utah.edu)
PC Accessories muis die ik kreeg van CompUSA voor minder dan $10.
. Heeft aan de onderkant een PC/MS schakelaar. Werkt OK. (Van steveb@communique.net)
First Mouse - behoorlijk goedkoop voor 7.79 pounds bij Tempo.
Dual Microsoft/MouseSystems, modus in te stellen door het indrukken van de knop tijdens de systeemstart. Geen schakelingen, geen koppelingen. Vier stroomdraadsverbinding, echo '*n' werkt niet. `gpm -R' werkt als een speer. (Van peterk@henhouse.demon.co.uk)
Trust 3-knops muis.
Tweevoudige modus met schakelaar, werkt OK als MouseSystems in `PC' modus. gpm vindt de Microsoft modus maar niks.
Chic 410
Werkt perfect in ms modus en het gebruikt wordt met de opdracht gpm -R. Van Stephen M. Weiss ( steve@esc.ie.lehigh.edu)
KeyMouse 3-knops muis.
Werkt OK met ClearDTR en ClearRTS in Xconfig; `-o dtr' nodig voor gpm. (Van EZ4PHIL@aol.com)
Qtronix keyboard `Scorpio 60'
Alle drie de knoppen werken in MouseSystems protocol. (Van hwe@uebemc.siemens.de)
Tecra 720 laptop
De glidepoint is op /dev/cua0; de stick op /dev/psaux. (Van apollo@anl.gov)
Anubis muis
Werkt prima, linkerknop ingedrukt houden wanneer wordt overgeschakeld naar de X virtuele console. (Van Joel Crisp)
Yakumo No.1900 muis
Werkt met gpm -R -t ms exporterend naar X. (Van Oliver Schwank)
Genius `Easy Trak' Trackball
Is niet Microsoft compatibel, gebruik Mouseman in Xconfig en het zal prima werken. (Van VTanger@aol.com.)
Highscreen Mouse Pro
`Werkt prima' zegt alfonso@univaq.it.
Logitech CA series
Werkt in X met het MMseries protocol, op 2400 Baud, 150 SampleRate. (Zou ook moeten gelden voor de Logitech CC, CE, C7 & C9 muizen). (Van vkochend@nyx.net.)
A4-Tech muis
Werkt OK, DTR regel nodig voor zowel X als gpm. (Van deane@gooroos.com)
Vertech muis
Normaal Microsoft/Mousesystems functioneren, kan worden gesoldeerd voor een blijvende correctie. (Van duncan@fs3.ph.man.ac.uk.)
Boeder M-7 ``Bit Star'' (en andere M series buiten M13)
Schakelt over naar het Mousesystems protocol door één van de knoppen ingedrukt te houden bij het aanzetten van de computer. (Van mailto:sjt@tappin.force9.co.uk.)
Mouse Systems ``Scroll'' Muis (vier knoppen en een wheel/knop)
Heeft een 2/3 schakelaar - functioneert in modus 3 als een drie-knops MouseSystems muis, negeert extra knop & wheel. ClearRTS/DTR niet nodig. (Van parker1@airmail.net.)
Radio Shack 3-knops Seriële muis
Model 26-8432, beschikbaar in Tandy voor ongeveer 20 quid. Werkt als Mousesystems met ClearDTR. (Van Sherilyn@sidaway.demon.co.uk.)
Dexxa seriële muis
Werkt prima met het Microsoft protocol in Xconfig, geen ChordMiddle of iets anders nodig. (Van mailto:slevy@ncsa.uiuc.edu.)
Belkin 3-knops muis
Als aangeschaft bij Sears (\$10), benodigd -o rts onder gpm (een vermoedelijk ClearRTS onder X) in PC modus. (Van mailto:mmicek@csz.com.)

14. Verdere informatie

15. Muisstaartje

Veel van de informatie voor dit document is bijeen vergaard uit de diverse linux nieuwsgroepen. Het spijt me dat ik niet heb bijgehouden wie hier indirect aan hebben bijgedragen, heel veel dank allemaal.

Dus samengevat:

mirror server hosted at Truenetwork, Russian Federation.