A4Tech WOP-35 USB: Instalacja i konfiguracja pod Ubuntu
Od jakiegoś czasu jest sobie Techblog i do tej pory nie ma tam żadnego mojego wpisu. Pora to w końcu naprawić. Na pierwszy ogień niech idzie napisany przeze mnie jakiś czas temu poradnik opublikowany na polskim forum Ubuntu. Poradnik dotyczy instalacji i konfiguracji myszy A4Tech WOP-35 USB pod Ubuntu.
Trochę się dzisiaj namęczyłem przy skonfigurowaniu swojej myszy. Z pomocą tego forum [forum.ubuntu.pl]i googli udało mi się wykonać to co chciałem i postanowiłem podzielić się z Wami rozwiązaniem :).
Po standardowej instalacji mysz A4Tech WOP-35 działa w sposób powiedzmy "niekompletny":
- Kółko znajdujące się wyżej (i bliżej środka) na myszce nie działa
- Środkowy przycisk (ten w niższym kółku myszy) ma, przynajmniej u mnie, taką cechę, że strasznie ciężko się go przyciska. Zdecydowanie bardziej wolę używanie zamiast niego przycisku znajdującego się pod kciukiem.
- Przewijanie stron odbywa się za pomocą kółka znajdującego się niżej (i dalej) co niezbyt pasuje mi do ręki. Znacznie wygodniejsze jest przewijanie wyższym kółkiem.
Aby poprawić działanie myszy należy wykonać następujące kroki (pierwsza część tego how-to pochodzi z UbuntuForums.org):
-
Instalujemy evdev, który pozwala na obsługę urządzeń USB:
sudo apt-get install xserver-xorg-input-evdev
-
Upewniamy się, że mamy podłączoną mysz :)
-
Odczytujemy informacje o naszej myszy:
cat /proc/bus/input/devices
W moim przypadku otrzymałem coś takiego
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41 N: Name="AT Translated Set 2 keyboard" P: Phys=isa0060/serio0/input0 S: Sysfs=/class/input/input0 H: Handlers=kbd event0 B: EV=120013 B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe B: MSC=10 B: LED=7 I: Bus=0010 Vendor=001f Product=0001 Version=0100 N: Name="PC Speaker" P: Phys=isa0061/input0 S: Sysfs=/class/input/input1 H: Handlers=kbd event1 B: EV=40001 B: SND=6 I: Bus=0003 Vendor=09da Product=0006 Version=0001 N: Name="A4Tech USB Optical Mouse" P: Phys=usb-0000:00:1f.2-2/input0 S: Sysfs=/class/input/input2 H: Handlers=mouse0 event2 ts0 B: EV=7 B: KEY=7f0000 0 0 0 0 0 0 0 0 B: REL=143
Wytłuszczonym drukiem zaznaczyłem nazwę naszej myszy i handler jaki ją obsługuje. Jednak z tego co jest napisane na ww. stronie numer zdarzenia (eventX) czasami się zmienia wobec czego potrzebne jest ominięcie tego problemu.
-
Tworzymy nowy plik
sudo gedit /etc/udev/rules.d/19-local.rules
i umieszczamy w nim następujący wpis:
KERNEL=="event[0-9]*", SYSFS{../name}=="A4Tech USB Optical Mouse", NAME="input/event9"-
Pogrubiona nazwa musi być taka sama jak odczytana w 3 punkcie.
-
Liczba w pogrubionym event9 musi wskazywać na zdarzenie, które jeszcze nie jest wykorzystywane. Aby znaleźć takie zdarzenie wykonujemy polecenie:
ls /dev/input/
i otrzymujemy:
by-id by-path event0 event1 mice mouse0 ts0
Jak widać event9 jest wolne, więc można spokojnie go użyć.
-
-
Wykonujemy zapasową kopię pliku xorg.conf:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
-
Edytujemy zawartość pliku xorg.conf:
sudo gedit /etc/X11/xorg.conf
-
Znajdujemy w tym pliku sekcję dotyczącą naszej myszy. Prawdopodobnie będzie coś w stylu:
Section "InputDevice" Identifier "Configured Mouse" EndSectioni zastępujemy następującym wpisem:
Section "InputDevice" Identifier "A4 Tech WOP-35" Driver "evdev" Option "CorePointer" Option "Device" "/dev/input/event9" Option "ZAxisMapping" "6 7" Option "Buttons" "11" EndSectionNumerek w eventX powinien być taki, jaki wybraliśmy w kroku 4.
-
Upewniamy się, że pogrubiona nazwa powyżej zgadza się z pogrubioną nazwą w sekcji ServerLayout (poniżej):
Section "ServerLayout" Identifier "Default Layout" Screen 0 "ATI 3D" 0 0 InputDevice "Labtec Multimedia Keyboard" InputDevice "A4 Tech WOP-35" EndSection -
Restartujemy cały komputer (nie tylko X'y, gdyż przy restarcie tylko X'ów nie zadziała nam to co zrobiliśmy w punkcie 4). Jeśli zrobiliśmy jakiś błąd i X'y nam nie wstaną to należy podmienić plik xorg.conf kopią zapasową wykonaną w punkcie 5:
sudo cp /etc/X11/xorg.conf.bak /etc/X11/xorg.conf
-
Jeśli wszystko poszło tak jak trzeba, to po restarcie komputera niedziałająca rolka powinna zadziałać. Jej działanie można sprawdzić np. przy pomocy programiku xev uruchamianego w konsoli. Jeśli przy kręceniu pokrętłami dostajemy komunikaty w stylu:
ButtonPress event, serial 28, synthetic NO, window 0x2a00001, root 0x76, subw 0x0, time 3505706855, (177,2), root:(600,307), state 0x10, button 4, same_screen YES ButtonRelease event, serial 28, synthetic NO, window 0x2a00001, root 0x76, subw 0x0, time 3505706855, (177,2), root:(600,307), state 0x810, button 4, same_screen YES ButtonPress event, serial 28, synthetic NO, window 0x2a00001, root 0x76, subw 0x0, time 3505707680, (177,2), root:(600,307), state 0x10, button 5, same_screen YES ButtonRelease event, serial 28, synthetic NO, window 0x2a00001, root 0x76, subw 0x0, time 3505707680, (177,2), root:(600,307), state 0x1010, button 5, same_screen YES ButtonPress event, serial 28, synthetic NO, window 0x2a00001, root 0x76, subw 0x0, time 3505709942, (177,2), root:(600,307), state 0x10, button 6, same_screen YES ButtonRelease event, serial 28, synthetic NO, window 0x2a00001, root 0x76, subw 0x0, time 3505709942, (177,2), root:(600,307), state 0x10, button 6, same_screen YES ButtonPress event, serial 28, synthetic NO, window 0x2a00001, root 0x76, subw 0x0, time 3505710670, (177,2), root:(600,307), state 0x10, button 7, same_screen YES ButtonRelease event, serial 28, synthetic NO, window 0x2a00001, root 0x76, subw 0x0, time 3505710670, (177,2), root:(600,307), state 0x10, button 7, same_screen YESto znaczy, że jest wszystko oki :).
-
Jeśli komuś wystarczy samo działanie pokręteł to może już w tym miejscu zakończyć :). Tak jak i kończy się przetłumaczony z grubsza poradnik, do którego linka podałem wcześniej :).
-
Jeśli chcemy zamienić sobie miejscami swoje kółka, tak aby przewijanie strony odbywało się za pomocą wyższej (bliższej środka) rolki, to może teraz pokombinować z ustawieniami za pomocą xmodmap. Aby dokonać takiej zamiany należy wykonać polecenie:
xmodmap -e "pointer = 1 2 3 6 7 5 4 8 9 10 11"
-
Jeśli komuś przeszkadza środkowy przycisk w niższym (zewnętrznym) kółku i chciałby mieć go pod kciukiem, to może wykonać następujące polecenie:
xmodmap -e "pointer = 1 8 3 4 5 6 7 2 9 10 11"
-
Jeśli ktoś chce połączyć pkt. 12 z 13 (tak jak ja), to może wykonać polecenie:
xmodmap -e "pointer = 1 8 3 6 7 5 4 2 9 10 11"
-
Jeśli ktoś chce mieć jeszcze inną kombinację, to zapraszam do lektury man xmodmap :).
-
No dobrze, polecenie z xmodmap działa ładnie, ale nie będziemy go wklepywać za każdym razem w konsoli po uruchomieniu X'ów :). W związku z tym, trzeba dodać je do autostartu. W przypadku XFCE4, którego ja używam robi się to poprzez stworzenie odpowiedniego pliku:
gedit ~/.config/autostart/XModMap.desktop
i wstawienie do niego następującej zawartości:
[Desktop Entry] Encoding=UTF-8 Version=0.9.4 Type=Application Name=XModMap Comment=Zmienia kolejnosc przyciskow myszy Exec=xmodmap -e "pointer = 1 8 3 6 7 5 4 2 9 10 11" StartupNotify=false Terminal=false Hidden=false
-
Zapisujemy plik, restart X'ów (ctrl+alt+backspace) i powinno wszystko działać :).
Jeśli ktoś ma jakieś uwagi co do tego poradnika lub coś mu nie zadziałało, to niech pisze w komentarzach :).
Kategorie: Hardware i software, Linux/Ubuntu, Techblog


