Genius NetScroll Optical - jak na to

Michal Kubecek mike na mk-sys.cz
Čtvrtek Leden 2 11:27:42 CET 2003


K vánocům jsem dostal myš Genius NetScroll Optical, jejíž úplné zprovoznění
(včetně bočních tlačítek) mi dalo trochu práce a protože po prohledání
různých archivů jsem zjistil, že nejsem zdaleka sám, chtěl bych se podělit
o své zkušenosti. Snad to někomu pomůže.

Myš má dvě klasická tlačítka, kolečko (které se dá stisknout) a dvě tlačítka
na boku (na palec levé ruky). Pokud ji necháte XFree86 detekovat automaticky
(protokol Auto), funguje všechno kromě bočních tlačítek. Při nastavení
protokolu "NetScrollPS/2" reaguje myš naprosto nesmyslně, při nastavení
"PS/2" fungují pouze tři tlačítka.

První problém je v tom, že ačkoli se myš jmenuje NetScroll, použitý
protokol je ve skutečnosti "NetMousePS/2". Druhý problém je v tom, že
ani při nastavení "NetMousePS/2" myš nefunguje. Vypadá to, že XFree86
pravděpodobně myš špatně inicializuje - špatné kódy se objevují už na
vstupu z /dev/psaux. Oproti tomu GPM myš inicializuje správně, a to se
dá použít k plnému využití myši.

Nejprve musíme spustit GPM, protokol je "netmouse" a protože potřebujeme
události předat XFree86, je ho potřeba spustit jako repeater:

  gpm -m /dev/psaux -t netmouse -Rraw

Pozor: mezi '-R' a 'raw' nesmí být mezera, jinak GPM označení protokolu
ignoruje. Následně nakonfigurujeme X server:

  Section "InputDevice"
    Driver       "mouse"
    Identifier   "Mouse[1]"
    Option       "Device" "/dev/gpmdata"
    Option       "InputFashion" "Mouse"
    Option       "Name" "Genius:NewScroll (PS/2 VERSION)"
    Option       "Protocol" "NetMousePS/2"
    Option       "Buttons" "7"
    Option       "ZAxisMapping" "6 7"
  EndSection

Nastavení "Device" je nutné k tomu, aby X server nebral vstup přímo
z /dev/psaux, kde by se popral s GPM. Aby fungovala všechna tlačítka,
je potřeba nastavit "Buttons" na "7". Kolečko je potřeba namapovat
na 6 a 7, jinak nebude možné používat boční tlačítka (4 a 5). Protokol
je "NetMousePS/2".

A nakonec je (po spuštění X serveru) potřeba přemapovat tlačítka tak,
aby bylo kolečko mapováno na tlačítka 4 a 5, jak to očekávají aplikace
(např. Mozilla). To se dá provést příkazem

  xmodmap -e 'pointer = 1 2 3 6 7 4 5'

Boční tlačítka pak budou mít čísla 6 a 7. Pokud pro "paste" neradi mačkáte
kolečko (musí se pořád dávat pozor, abyste s ním zároveň neotočili), lze
použít mapování

  xmodmap -e 'pointer = 1 6 3 2 7 4 5'

čímž se horní tlačítko na boku myši stane "prostředním" (číslo 2) a stisk
kolečka dostane číslo 6.

Doufám, že tento návod někomu pomůže. Ještě se pokusím zjistit, kde je ten
problém s inicializací a reportovat to vývojářům XFree86.

                                                            Michal Kubeček


Další informace o konferenci Linux