home   artikelen   forum   colofon  
Gepubliceerd op 12.10.2001
Auteur: Ronny Ziegler
Vertaald door: Guus Snijders
Languages: en de
Help Ons!
 

Wielmuis

Mouse Wielmuizen worden steeds populairder omdat ze het werken met de PC comfortabeler maken, maar bij deze producten worden alleen MsWin drivers meegeleverd -- wat moeten we doen?

Drivers? Waar voor?

Logitech Wiel-Muise Een wieltje bovenop de muis biedt meer graden vrijheid bij het gebruik van de PC.
Een korte draai aan het wiel en je bent onderin een document. In een webbrowser kun je hetzelfde doen, maar alleen als de muis door Linux ondersteund wordt.
Maar alle muizen komen alleen met MsWin drivers, nietwaar?
En waar kun je de drivers voor Linux vinden?

Het zal je misschien verrassen, maar Linux ondersteund al deze muizen zonder verdere drivers, zolang ze maar voldoen aan de PS/2 standaard.

Het draaien van het wiel geeft hetzelfde signaal als een vierde of vijfde muisknop.
Muizen met zoveel knoppen zijn nog niet zo lang in gebruik, uitgebreide documentatie hierover lijkt dan ook te ontbreken.
We gaan er niet vanuit dat je een Linux distro zult vinden die standaard zoveel knoppen ondersteund. (Mandrake 7.2 en 8.0 doen dit wel - deze wisten zelfs onze Ms Optical Wheelmouse te detecteren en in te stellen - mogelijk kan Red Hat dit ook - red.]

Het enige dat je hoeft te doen is het configureren van de X programmas en instellen dat de vierde of vijfde knop (afhankelijk van de richting waarin het wiel wordt gedraaid) overeenkomt met een draai van het wiel.
Even instellen en je bent klaar. Maar wat een verassing, Linux denkt verder en de mogelijkheden zijn uitgebreider dan met de meegeleverde drivers voor MsWin.
Linux drivers (als je ze zo wilt noemen) bestaan wel. Ze kunnen veel flexibeler worden gebruikt dan alleen scrollen door tekst.
Wat dacht je van een setup waarbij het wiel het volume veranderd als de cursor zich op xmms bevindt en de desktop veranderd als de cursor zich boven gkrellm bevindt?
Geen probleem!
Je bent volledig vrij in hoe je de functie van het wiel gebruikt, op deze manier kun je on-ontdekte mogelijkheden mogelijk maken die alleen zijn beperkt door fantasie van de gebruiker. Zo zou een TV kaart bijvoorbeeld het wiel kunnen gebruiken om door de kanalen te bladeren. In combinatie met een draadloze muis heb je dan de ideale afstandsbediening (voor zo'n 100 DM). En het plezier van het scrollen langs zenders is zo groot dat ik verbaas waarom niet alle afstandsbedieningen standaard een wiel hebben.

Instellingen

Voordat we nog verder gaan, gaan we terug naar de basis en saaie installatie.
Eerst moet je de X-server zo instellen dat het draaien van het wiel wordt gezien als het indrukken van de vierde of vijfde muisknop. Dit is standaard niet geactiveerd, zoals we hierboven zeiden.
Daarvoor pas je XF86Config aan, die is (meestal) te vinden in /etc/X11/. Daar pas je instelling aan in de sectie Pointer:

File /etc/X11/XF86Config
  Section "Pointer"
      Protocol    "IMPS/2"
      Device      "/dev/mouse"
      ZAxisMapping    4 5
  EndSection
  


In het geval van XFree86-Versie 4.0, ziet de configuratie uit als:

File /etc/X11/XF86Config
    Section "InputDevice"
        Identifier "Mouse"
        Driver     "mouse"
        Option "Protocol"        "imps/2"
        Option "Device"          "/dev/psaux"
        Option "ZAxisMapping"    "4 5"
        Option "Buttons"         "3"
    EndSection
  


Na een herstart van de X server kun je het wiel gebruiken als de vierde en vijfde knop al is ingesteld in de X applicaties.
Deze voorinstelling is echter slechts in enkele programma's aanwezig, zoals xmms of StarOffice. Voor enkele andere programma's kun je ondersteuning toevoegen door enige inspanning te steken in het met de hand aanpassen aanpassen van ~/.Xdefaults.

imwheel

Maar het kan ook veel gemakkelijker.
De reeds genoemde vrije knop definitie van het wiel kan worden ingesteld met het programma imwheel, deze kun je vinden op http://jcatki.dhs.org/ (schrik niet van de afbeelding die je daar ziet, het is de juiste pagina). Gebruik de versie imwhell.nogpm.
Na het uitpakken van het programma, gebruik je (als root):

  >> make
  >> make install
  
Als gpm draait, moet je deze stoppen voordat je het programma start, omdat er anders conflicten kunnen optreden:
  >> gpm -q
  
(Het kan zijn dat dit als root moet als je niet de juiste permissies hebt)
Vervolgens start je imwheel:
  >> imwheel
  
en zie je de volgende uitvoer:

Output imwheel
  imwheel is not checking/writing a pid file, BE CAREFUL!
  An imwheel may be running already, two or more imwheel processes
  on the same X display, or using gpm -W, will not operate as expected!
  imwheel started (pid=1031)
  


Een blik op de lijst van alle draaiende processen (met ps, zou moeten onthullen of imwheel reeds actief was.

Configuratie

Al imwheel draait kun je beginnen met de configuratie van het programma. Een systeem-brede configuratie kun je opzetten met het bestand /etc/imwheelrc. Deze configuratie kan door iedere gebruiker overruled worden door een bestand ~/.imwheelrc te maken.

Afhankelijk van de instellingen die je wilt gebruiken, bewerk je het juiste bestand.

Als voorbeeld:

~/.imwheelrc
   "gkrellm"
   None,		Down,	Control_L|Meta_L|Right
   None,		Up,	Control_L|Meta_L|Left
   # gkrellm kan omnipotent op iedere virtuele desktop worden geplaatst, 
   # het kan ook gebruikt worden omde desktop te veranderen (de 
   # toetsencombinatie verschilt per windowmanager).
  
   "Gimp"
   Alt_L,		Up,	KP_Add
   Alt_L,		Down,	minus
   # Als je wilt, kun je inzoomen op de afbeelding met de ALT-toets en een
   # draai aan het wiel
  
   "Terminal"
   None,		Up,	Shift_R|Page_Up
   None,		Down,	Shift_R|Page_Down
   # Het wiel wordt gebruikt om op en neer te bewegen in een terminal
  
   "xmms"
   None,           Up,     Up,	5
   None,           Down,   Down,	5
   # Verander het volume en scroll door de playlist
  
   "kwintv"
   None,		Up,	Up
   None,		Down,	Down
   # Verander kanaal -- geweldig!
  
   "xedit"
   None,		Up,	Up,	20
   None,		Down,	Down,	20
   # Scroll 20 regels
  
   "XCmail *"
   None,		Up,	Up
   None,		Down,	Down
  
   "Netscape"
   None,		Up,	Up,	25
   None,		Down,	Down,	25
   # Scroll 25 regels -- handig bij het lezen
  
   "AleVT"
   None,		Up,	Right
   None,		Down,	Left
   # Blader door de teletekst pagina's
  
   "emacs"
   None, 		Up, Page_Up
   None, 		Down, Page_Down
   # naar de volgende pagina
  


De syntax van het configuratie bestand is

  "PROGRAMMA"
  INGEDRUKTE_KNOP,      WIEL_DRAAI	TOETSEN_COMBINATIE_OM_UIT_TE_VOEREN, HOEVAAK 
  "PROGRAMMA"
  INGEDRUKTE_KNOP,      WIEL_DRAAI	TOETSEN_COMBINATIE_OM_UIT_TE_VOEREN, HOEVAAK 
  
In het veld met de naam van het programma zijn joker tekens toegestaan en als het HOEVAAK veld leeg is, wordt 1x aangehouden.

Maar hoe vind je de naam van een programma of een venster? Deze naam hoeft niet gelijk te zijn aan de aanroep bij het starten.
Dit "probleem" is makkelijk op te lossen. Als je het wiel op- en neerdraait op de achtergrond van de desktop, krijg je een klein venster:

Imwheel venster

In dit venster zie je een screenshot van de actuele desktop. Klik op dit scherm en dan op het programma venster waarvan je de titel wilt weten. Het screenshot van het programma verschijnt in het imwheel venster en rechts-bovenin staat de titel zoals je die kunt gebruiken in je .imwheelrc configuratie-bestand.

Programma screenshot

De Reload knop links-onderin herleest het configuratie bestand, je kunt dus een nieuwe configuratie activeren terwijl het programma draait.

Nu weet je genoeg om de wielmuis naar wens in te stellen.


Links:
http://jcatki.dhs.org/ De homepage van het imwheel programma
http://www.pro-linux.de/t_hardware/logi.html Een artikel over de configuratie van imwheel
http://www.64-bit.de/dokumentationen/hardware/005/wheelmouse.html Een artikel van Linux Magazine over de configuratie van imwheel, maar ze doen teveel moeite om een wielmuis met basis XFree86 te gebruiken (zonder imwheel).
http://www.inria.fr/koala/colas/mouse-wheel-scroll/ Colas Nahaboo X mouse wheel scroll page. Hier kun je algemene informatie vinden over het gebruik van een wielmuis met Linux. Ook zijn er veel voorbeelden voor .Xdefaults te vinden.