Portál AbcLinuxu, 3. května 2025 11:21

Microsoft Natural Wireless Laser Mouse 6000

Podpora: kompletní
Ovladač: v jádře

Technické parametry

Bezdrátová laserová myš s ergonomickým designem, 5 tlačítky a 4 směrový kolečkem (tilt wheel).

Identifikace pod Linuxem

/proc/bus/input/devices:

I: Bus=0003 Vendor=045e Product=00e1 Version=0111
N: Name="Microsoft Microsoft Wireless Optical Mouse� 1.00"
P: Phys=usb-0000:00:1d.7-5.5/input0
S: Sysfs=/class/input/input6
U: Uniq=
H: Handlers=mouse1 event6
B: EV=7
B: KEY=1f0000 0 0 0 0 0 0 0 0
B: REL=1c3

Postup zprovoznění pod Linuxem

do /etc/X11/xorg.conf
Section "InputDevice"
        Identifier "Mouse0"
        Driver "evdev"
        Option "CorePointer"
        Option "Device" "/dev/input/event6"
        Option "Buttons" "9"
        Option "ZAxisMapping" "4 5"
        Option "DialRelativeAxisButtons" "7 6"
EndSection
a do sekce"ServerLayout"
    InputDevice    "Mouse0" "CorePointer"
případně
    InputDevice    "Mouse0" "SendCoreEvents"
pokud je jako druhá myš u notebooku (nesmí tam být 2 "CorePointer")

Poznámka

Option "DialRelativeAxisButtons" "7 6" je prohozený, protože boční scrooll byl obráceně.
Option "Device" "/dev/input/event6"
Event musí být nastavený podle "cat /proc/bus/input/devices", ale je problém při připojení myši do jiného usb. Mělo by to jít vyřešit pomocí "udev", to se mi ale nepovedlo. Naštěstí OpenSuse vytváří odkaz na příslušný event v /dev/input/by-id/usb-jméno-zařízen. V mém příadě konkrétně /dev/input/by-id/usb-Microsoft_Microsoft_Wireless_Optical_Mouse_1.00-event-mouse ukazuje na /dev/input/event6

Problém je, že němůžu zapsat ten odkaz do xorg.conf, nebere ho to. Udělal sem tedy odkaz na /dev/input/by-id/usb-Microsoft_Microsoft_Wireless_Optical_Mouse_1.00-event-mouse v /dev/input/event30 - musí se to jmenovat "event"+"číslo" ale event99 to nebralo.

Tohle je potřeba udělat při každém startu, takže do init skriprů (u mě konkrétně na konec "/etc/init.d/boot" před "rc_restart") přidáme
if [ -L /dev/input/by-id/usb-Microsoft_Microsoft_Wireless_Optical_Mouse_1.00-event-mouse ] 
then 
  ln -s /dev/input/by-id/usb-Microsoft_Microsoft_Wireless_Optical_Mouse_1.00-event-mouse /dev/input/event30
fi
Je to hodně kostrbatý, ale funkční. Jestli se někomu povede najít jednodušší a čistější řešení, budu rád. Konečný zápis v xorg.conf tedy u mě vypadá takto:
Section "InputDevice"
        Identifier "Mouse0"
        Driver "evdev"
        Option "CorePointer"
        Option "Device" "/dev/input/event30"
        Option "Buttons" "9"
        Option "ZAxisMapping" "4 5"
        Option "DialRelativeAxisButtons" "7 6"
EndSection
Boční dvě tlačítka se hlásí jako Button8 a 9, s tím aplikace neumějí pracovat, ale nesnažil sem se je ani přmapovat, protže jsou stejně dost blbě dostupný.

Vertikální scrollování funguje, ale zároveň se to hlásí jako stisk Button6 a 7. V Opeře (pravděpodobně i FF) je Button6 a 7 defaultně nastavenej pro pohyb zpět a vpřed historií, takže nefunguje scrollování, místo toho to chodí historií. V nastavení Opery to jde změnit, ale mě to takhle celkem vyhovuje.

Ještě mi připadal pohyb kurzoru moc rychlý, zpomalit se to dá příkazem
xset m 2/3 1
Funguje jen když je nastaveno jako "CorePointer". První číslo udává zrychlení/zpomalení - pro čísla menší než jedna se musí zadávat jako zlomek, druhé je práh - hodnota 1 zajišťuje použití vždy. Mě vyhovuje zpomalení 2/3. Je nutné zajistit spuštění tohoto příkazu při startu X. Více viz xset manual page. Na druhou stranu mi to zrychlilo scrollování, což není moc příjemné.

Dokument vytvořil: Beda0, 4.9.2007 10:13 | Poslední úprava: Beda0, 27.2.2011 15:09 | Historie změn | Zobrazeno: 1326×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.