[HOW-TO] Myszka A4Tech WOP-35 USB

Czy zadziałał Ci ten sposób?

Nie
6
46%
Nie
7
54%
 
Liczba głosów: 13
Draakhan

[HOW-TO] Myszka A4Tech WOP-35 USB

Post autor: Draakhan » 17 lut 2007, 19:47

Witam,

Trochę się dzisiaj namęczyłem przy skonfigurowaniu swojej myszy. Z pomocą tego forum i googli udało mi się wykonać to co chciałem i postanowiłem podzielić się z Wami rozwiazaniem :).

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):

1. Instalujemy evdev, który pozwala na obsługę urządzeń USB:

Kod: Zaznacz cały

sudo apt-get install xserver-xorg-input-evdev
2. Upewniamy się, że mamy podłączoną mysz :)

3. Odczytujemy informacje o naszej myszy:

Kod: Zaznacz cały

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.

4. Tworzymy nowy plik

Kod: Zaznacz cały

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:

Kod: Zaznacz cały

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ć.

5. Wykonujemy zapasową kopię pliku xorg.conf:

Kod: Zaznacz cały

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
6. Edytujemy zawartość pliku xorg.conf:

Kod: Zaznacz cały

sudo gedit /etc/X11/xorg.conf
7. Znajdujemy w tym pliku sekcję dotyczącą naszej myszy. Prawdopodobnie będzie coś w stylu:
Section "InputDevice"
Identifier "Configured Mouse"
...
EndSection
i 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"
EndSection
Numerek w eventX powinien być taki, jaki wybraliśmy w kroku 4.

8. 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
9. 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:

Kod: Zaznacz cały

sudo cp /etc/X11/xorg.conf.bak /etc/X11/xorg.conf
10. 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 YES
to znaczy, że jest wszystko oki :).

11. 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 :).

12. 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:

Kod: Zaznacz cały

xmodmap -e "pointer = 1 2 3 6 7 5 4 8 9 10 11"
13. 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:

Kod: Zaznacz cały

xmodmap -e "pointer = 1 8 3 4 5 6 7 2 9 10 11"
14. Jeśli ktoś chce połączyć pkt. 12 z 13 (tak jak ja), to może wykonać polecenie:

Kod: Zaznacz cały

xmodmap -e "pointer = 1 8 3 6 7 5 4 2 9 10 11"
15. Jeśli ktoś chce mieć jeszcze inną kombinację, to zapraszam do lektury man xmodmap :).

16. 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:

Kod: Zaznacz cały

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
17. Zapisujemy plik, restart X'ów (ctrl+alt+backspace) i powinno wszystko działać :).
ODPOWIEDZ

Wróć do „Hardware-Inne”