Klawisze Multimedialne Acer Aspire 5610 i Ubuntu

Dzisiaj postanowiłem uruchomić wreszcie klawisze multimedialne będące częścią mojego laptopa. W internecie szukałem tego już kilka razy, ale zawsze kończyło się niepowodzeniem.Zawsze poradniki dotyczyły raczej ustawienia działających już klawiszy tak aby kontrolowały one odtwarzacze muzyki czy cokolwiek innego.

U mnie jednak problem był inny – system w ogóle nie rozpoznawał tych klawiszy. Nawet polecenie xev nie reagowało. Dzisiaj podszedłem do sprawy nieco inaczej. Zdałem sobię sprawę, że do obsługi dodatkowych klawiszy potrzebuję dodatkowego sterownika. Okazało się, że to był dobry trop. Potrzebowałem sterownika acerhk. Dla mojego laptopa wystarczy skompilować ściągnięte źródła i zainstalować je poleceniami:

make
sudo make install

U mnie początkowo kompilacja nie chciała przejść i make wywalał jakiś błąd z modyfikacją CFLAGS. W internecie znalazłem złotą poradę jak to ominąć… Wystarczyło zakomentować liniję (chyba 18.) w której ustawiane były flagi (CFLAGS+=…). I to pomogło 🙂

Następną częścią było załadowanie sterownika acerhk do modprobe‚a. Aby to zrobić wystarczy wydać polecenie:

modprobe acerhk force_series=2020 poll=0

Po tej operacji xev rejestruje już klawisze specjalne i nie ma problemów z ustawieniem skrótów klawiszowych za pomocą programu gnome-keybinding-properties.

Na tym można byłoby zakończyć, ale przecież klawiatury mają więcej przycisków niż tylko multimedialne, a nie wszystko da się ustawić za pomocą wyżej wspomnianego programu. Przykładowo jeśli chcielibyśmy uruchomić jakiś dowolny program. Z takimi ustawieniami niestety nie da się tego zrobić. Pokombinowałem więc trochę więcej 🙂

Jak za każdym razem postanowiłem zasięgnąć wiedzy za pomocą Google. Okazało się, że można uruchamiać dowolne programy, ale najpierw trzeba dodać odpowiednie klawisze do konfiguracji programu xmodmap. U mnie niestety nie było pliku xmodmap.config nigdzie w katalogu /etc ale za to doczytałem się gdzieś, że wystarczy stworzyć w katalogu użytkownika plik .Xmodmap i tam zapisać konfigurację dodatkowych klawiszy.

Najpierw za pomocą polecenia:

xmodmap -pke > .Xmodmap

wygenerowałem sobie plik ze wszystkimi kodami klawiszy. Teraz wystarczyło już tylko zajrzeć do pliku /usr/share/X11/XKeysymDB w celu obejrzenia jakie symbole klawiszy mamy do dyspozycji. Przy definiowaniu klawiszy specjalnych warto zwrócić uwagę na symbole postaci XF86*. Ja potrzebowałem tylko symboli: XF86Mail, XF86Launch0, XF86WWW. Przy czym XF86Launch0 użyłem do klawisza specjalnego na którym jest literka P i nie mam zielonego pojęcia co ma przedstawiać 🙂

Teraz pozostało już tylko wpisać to co trzeba do .Xmodmap wygenerowanego wcześniej. Aby uzyskać kody klawiszy, o które chodzi wystarczy uruchomić program xev w terminalu i powciskać te klawisze. Wtedy w terminalu pokażą się informacje dotyczące wciśniętego klawisza. Mnie interesował keycode. Przykładowe wciśnięcie klawisza ‚a’ wygeneruje takie coś:

KeyPress event, serial 32, synthetic NO, window 0x1a00001,
    root 0x1a6, subw 0x0, time 9636362, (542,315), root:(550,364),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XmbLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

Kiedy już znałem kody klawiszy wystarczyło odnaleźć odpowiadające im linijki w .Xmodmap i dopisać do nich odpowiednie symbole. W moim przypadku były to linijki:

keycode 130 = XF86WWW
[...]
keycode 151 = XF86Launch0
[...]
keycode 236 = XF86Mail

Aby uwzględnić te zmiany wystarczy wydać polecenie:

xmodmap .Xmodmap

Po kolejnym uruchomieniu komputera załadują się one automatycznie.

Teraz wystarczyło już tylko ustawić skróty wystarczy uruchomić program gconf-editor i odnaleźć w nim klucz: apps/metacity/keybinding_commands/command_1 i wprowadzić tam komendę jaką chcemy uruchomić za pomocą klawisza. Potem w kluczu apps/metacity/global_keybindings/run_command_1 ustawić odpowiednie symbole klawiszy. Ja chciałem aby odpowiedni przycisk uruchamiał mi firefoxa na stronie gmail.com dlatego w run_command_1 wpisałem XF86Mail. W ten sposób przypisałem klawisz o kodzie 236 (XF86Mail) do komendy 1.

Na koniec zostało jeszcze tylko ładowanie sterownika acerhk podczas startu systemu. Niestety dodanie go w opcjach sessji GNOME niewiele daje ponieważ musi on być uruchomiony z prawami root’a. Dopisanie go do /etc/rc.local też mi niewiele dało dlatego stworzyłem sobie własny skrypt startowy:

sudo touch /etc/init.d/myinit
sudo chmod 755 /etc/init.d/myinit

Teraz trzeba wyedytować plik za pomocą jakiegoś edytora tekstu i dodać tam dwie linijki:

#! /bin/sh
modprobe acerhk force_series=2020 poll=0

Ostatnia rzeczą jaką trzeba zrobić jest poinformowanie demona init o tym, że powinien załadować ten skrypt przy starcie. Robi się to następującym poleceniem:

sudo update-rc.d /etc/init.d/myinit defaults

System cośtam pomieli, powyświetla i po wszystkim skrypt myinit będzie uruchamiany przez demona init.d a co za tym idzie załadowane zostaną sterowniki do klawiatury acera.

Tyle chyba wystarczy na jednego posta 🙂

Reklamy

9 myśli nt. „Klawisze Multimedialne Acer Aspire 5610 i Ubuntu

  1. @Xion: meehav dobrze mówi 🙂 To bezcenne 🙂 Poza tym konfigurowanie linuxa to moje kolejne Hobby 😀 To na serio ciekawe ^^

    A jak już się system skonfiguruje to później wszystko działa jak należy.

  2. @Xion: na przykładzie tych samych klawiszy mogę powiedzieć, że w Windows też nei działały 😉 Potrzebowałem osobny program do tego, a po jego zainstalowaniu klawisze co prawda działały, ale nie miałem dowolności co do tego co miały robić. W Linuxie trzeba włożyć w to więcej pracy ale jest i większa swoboda ^^

  3. dlatego zrezygnowalem z linuxa, jak cos chcesz zeby dzialal to musisz sie napracowac, nowych urzadzen nie obsluguje, a jak chcesz je obsluzyc to szukasz w necie godzinami, kompilujesz, swirujesz jak autor powyzej, i to ma dac satysfakcje? pewnie daje, ale po co odkrywac ameryke gdy ktos juz ją odkrył, w windows wszystko dziala 3 kliknieciami, nie skreslam linuxa ale czekam juz 5 rok i co jakis czas sprawdzam czy dogonil windowsa, niestety nadal nie

  4. Pingback: Komentarz i odpowiedź « Moriturius’s Devlog

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s