Klawiatura multimedialna w Linuksie
xbindkeys to program, który umożliwia korzystanie z klawiatury multimedialnej w Linuksie nawet, gdy… się takiej klawiatury nie ma. Przechwytuje on bowiem wskazane kombinacje klawiszy i uruchamia odpowiednie polecenie. Tym samym do znienawidzonych klawiszy zasilania (Wyłącz, Przejdź w stan uśpienia, Hibernuj, czy jak się to tam nazywa), możemy przypisać o wiele pożyteczniejsze funkcje, np. Pauza w naszym ulubionym odtwarzaczu.
Po zainstalowaniu musimy przygotować wstępnie plik konfiguracyjny, np. za pomocą polecenia
$ xbindkeys --defaults > ~/.xbindkeysrc
Jednak jeżeli nie interesują nas komentarze autorów i kilka domyślnych skrótów klawiaturowych, wystarczy
$ touch ~/.xbindkeysrc
Teraz czas na odczytanie kodów skrótów klawiaturowych, którymi będziemy się posługiwać. Polecenie xbindkeys -k przechwytuje pojedynczy skrót, zaś xbindkeys -mk umożliwia odczytanie kilku za jednym podejściem (okienko programu zamykamy klawiszem q).
Do pliku .xbindkeysrc dopisujemy odczytany kod w pierwszej i/lub drugiej postaci, zaś "NoCommand" zastępujemy wybranym poleceniem. U mnie wygląda to obecnie tak
"xterm"
Mod4 + x
"firefox"
Mod4 + f
"audacious --play-pause"
Mod4 + a
"gentoo"
Mod4 + g
"sudo /sbin/shutdown -h now"
m:0x4 + c:222
Control + NoSymbol
"sudo /sbin/shutdown -r now"
m:0x1 + c:222
Shift + NoSymbol
Należy zauważyć, że Mod4 to klawisz Win (wreszcie się do czegoś przyda!), zaś c:222 to przycisk zasilania w moim laptopie. Jak widać, możemy swobodnie operować na standardowych i dodatkowych klawiszach. Ponadto xbindkeys umożliwia przypisanie akcji myszce, w ten sam sposób, jednak nigdy z tego nie korzystałem.
Teraz pozostaje nam tylko uruchomić xbindkeys za pomocą polecenia
$ xbindkeysrc
i od razu dodać do autostartu w naszym menedżerze pulpitu lub do pliku .xinitrc.
Gdybyśmy potrzebowali restartować aplikację podczas konfigurowania i testowania .xbindkeysrc, możemy to uczynić takim prymitywnym sposobem:
$ killall xbindkeys && xbindkeys
Dodano: 27.09.2007
Jeżeli xbindkeys nie zauważy natychmiast zmian w pliku konfiguracyjnym, należy zmusić go do tego za pomocą poniższej komendy (po której należy ewentualnie poruszyć jeszcze myszą):
$ killall -HUP xbindkeys
Na koniec dodam, że, niestety, nie potrafiłem programu zmusić do wykrywania klawisza Fn z laptopowej klawiatury (może jest on przechwytywany sprzętowo?). Zaś na moim komputerze stacjonarnym niektóre z klawiszy multimedialnych uzyskiwały inne kody, gdy klawiatura była podłączona do USB, a inne, gdy do PS/2 (przez przejściówkę). Tak dzieje się np. z klawiszem WWW, zrobiłem więc dla Firefoksa dwa wpisy w .xbindkeysrc.
