Na twitterze pisałem o walce ze sterownikami, grafiką, akceleracją i innymi rzeczami, które powinny były działać „out of the box”, a nie działają. Próbuję dalej i do zwycięstwa jest coraz bliżej. Ostatnio niestety ze smutkiem zauważyłem, że nie da się naraz używać słuchawek bluetooth i wifi. Dziś jednak o tym, co w systemie ustawić mi się udało – funkcje dodatkowych przycisków myszy.
Ci co mnie znają wiedzą, że jeśli chodzi o myszy to jestem bardzo wybredny. Mysz jest dla mnie podstawowym narzędziem pracy i wymagam od niej dużo. Pod kątem pracy w windowsach optymalna była dla mnie Logitech Performance Mouse MX. Przesiadka na linuxy okupiona była wyrzeczeniami – straciłem możliwość oprogramowania dodatkowych przycisków – aż do dzisiaj.
Według tego, co znalazłem w internecie, sposób ten działa przynajmniej od kernela w wersji 2.6, czyli od dawna. Jeśli chcesz się upewnić, czy również Twój system to obsłuży, wpisz w konsoli ([key]Ctrl[/key] + [key]Alt[/key] + [key]T[/key]) [code]uname -a[/code]. Jeżeli wersja jądra jest wyższa niż [cci]2.6[/cci], to możesz być spokojny. Co więc robimy dalej?
Instalacja oprogramowania
Pod Windowsami sprawa jest prosta – oprogramowanie do myszy daje producent. Pod ubuntu trzeba użyć ogólnodostępnych pakietów do mapowania skrótów klawiszowych. Instalujemy je poleceniem: [code]sudo apt-get install xautomation xbindkeys[/code]
Następnie uruchamiamy w konsoli [code]xev[/code]. Program wyświetla wszystkie sygnały otrzymywane przez system z klawiatury i myszy. Klikając w obszarze testowym po kolei wszystkimi przyciskami myszy, spisujemy ich numery. Dla leniwych (a posiadających taki sam model myszy jak ja), ściągawka
lewy przycisk myszy | b1 |
środkowy przycisk myszy | b2 |
prawy przycisk myszy | b3 |
scroll w górę | b4 |
scroll w dół | b5 |
scroll w lewo | b6 |
scroll w prawo | b7 |
wstecz | b8 |
dalej | b9 |
przełącznik okien (pod kciukiem na dole) | b10 |
zoom | b13 |
Posiadacze innych myszy szukają w konsoli napisów typu[code]ButtonPress event, serial 41, synthetic NO, window 0x5c00001,
root 0xc5, subw 0x5c00002, time 44157664, (30,36), root:(857,88),
state 0x10, button 1, same_screen YES[/code] gdzie znajduje się numer przycisku
Co dalej?
Uruchamiamy demon [cci]xbindkeys[/cci] odpowiedzialny za obsługę przypisywania klawiszy i tworzymy domyślny plik konfiguracyjny, który od razu otwieramy do edycji:
[code]xbindkeys –defaults > ~/.xbindkeysrc
gedit ~/.xbindkeysrc[/code]
Format tego pliku jest prosty. Najpierw następuje polecenie do wykonania, a za nim przycisk (lub ich kombinacja), który to polecenie wywoła. Tak więc kombinacja klawiszy [key]Ctrl[/key] + [key]C[/key] uzyskiwana za pomocą scrolla w lewo (button 6) wygląda w tym pliku następująco:[code]”xte 'keydown Control_L’ 'key c’ 'keyup Control_L'”
b:6[/code] Krótkie objaśnienie: program [cci]xte[/cci] służy do symulowania wciśnięć klawiszy. Po nazwie programu podajemy kolejne polecenia do wykonania wewnątrz apostrofów. Polecenie [cci]key[/cci] oznacza wciśnięcie klawisza, [cci]keydown[/cci] – przytrzymanie, a [cci]keyup[/cci] puszczenie. Lista specjalnych klawiszy (uwaga – ważna jest wielkość liter):
- Home
- Left
- Up
- Right
- Down
- Page_Up
- Page_Down
- End
- Return
- BackSpace
- Tab
- Escape
- Delete
- Shift_L
- Shift_R
- Control_L
- Control_R
- Meta_L
- Meta_R
- Alt_L
- Alt_R
W razie problemów: RTFM (Read The FRIENDLY Manual): man xte
Przy okazji polecam zakomentowanie przykładowych poleceń w pliku [cci]~/.xbindkeysrc[/cci], żebyście później nie narzekali na dziwne działanie systemu.
Jeżeli stworzyłeś ciekawy plik konfiguracyjny lub masz jakieś pytania – pisz komentarze, na pewno postaram się pomóc.
Leave a Reply