Program xbindkeys służy do przechwytywania skrótów klawiaturowych i wykonywania skojarzonych z nimi poleceń. W skrótach tych można użyć wszystkich klawiszy. Artykuł stanowi uzupełnienie opublikowanego już poradnika Klawiatura Multimedialna

Instalacja xbindkeys

Jeśli używamy dystrybucji zarządzającej pakietami za pomocą yuma, wpisujemy:

yum install xbindkeys

Jeśli używamy dystrybucji zarządzającej pakietami za pomocą apt, wpisujemy:

apt-get install xbindkeys

Download i opis instalacji ze źródeł znajduje się pod adresem nongnu.org

Przygotowanie do uruchomienia xbindkeys

Tworzymy domyślny plik konfiguracyjny :

xbindkeys --defaults > ~/.xbindkeysrc

Rozpoznawanie kodów klawiszy xbindkeys

W terminalu wpisujemy:

xbindkeys -k

Po wykonaniu polecenia wciskamy klawisz bądź kombinację klawiszy, w efekcie pojawia się wynik działania programu. Kody znajdują się pod tekstem „(Scheme function)”. Zazwyczaj są to dwie linie: w pierwszej znajduje się numeryczny kod wpisanych klawiszy, w drugiej skrótowy kod klawiszy (informacja „NoSymbol”, oznacza to, że system nie rozpoznał klawisza, zatem możliwe jest tylko użycie kodu numerycznego).

Przykład:

Po uruchomieniu programu przechwytującego i wciśnięciu kombinacji ctrl+alt+u otrzymujemy wynik:

Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
    m:0x1c + c:30
    Control+Alt+Mod2 + u

kod numeryczny kombinacji: m:0x1c + c:30
kod skrótowy kombinacji: Control+Alt+Mod2 + u

Edycja skrótów xbindkeys

Otwieramy plik /.xbindkeysrc dowolnym edytorem tekstu i umieszczamy w nim definicje własnych skrótów. Każda definicja składa się z dwóch linii. W pierwszej linii jest wpisane polecenie, w drugiej zaś – kombinacja klawiszy, którą chcemy je uruchamiać. Jeśli na przykład kombinacja klawiszy ctrl+alt+u miałaby uruchamiać gnome-terminal, definicja wyglądałaby tak:

gnome-terminal&
Control+Alt+Mod2 + u

lub tak:

gnome-terminal&
m:0x1c + c:30

Znak „&” na końcu linii z poleceniem mówi, że polecenie należy wykonać w tle, dzięki czemu program xbindkeys nie zablokuje się. Przy okazji warto usunąć (lub zahashować) zdefiniowane w pliku definicje domyślne.

Uruchomienie programu xbindkeys

Program uruchamiamy wpisując w konsoli xbindkeys. Jeśli chcemy, aby program uruchamiał się automatycznie, należy dodać go do autostartu używanego środowiska graficznego. Na przykład w GNOME robimy to w okienku, które pojawi się po wykonaniu polecenia:

gnome-session-properties
Poprzedni artykułVirtualBox 4.2
Następny artykułQt 4.8.3

19 KOMENTARZE

  1. Już od dawna używam xbindkeys.
    Na początku interesowało mnie tylko to, aby back/forward działały w Dolphinie < 2.1. Teraz już dodali ten ficzer i nie trzeba się bawić.
    Narzędzie świetne jeśli ktoś często korzysta z klawiatury zamiast myszki ;)

  2. Xbindkeys polecam w miejsce wszelkich jego zastępców Gnome/KDE/Xfce itp.
    Program niezależny od środowiska graficznego i bardzo konfigurowalny.

  3. Obecnie wszystkie klawisze działają out-of-the-box, o ile tylko klawiatura obsługuje standardy (co dotyczy nawet tanich chińskich klawiatur). Generowane są kody z ustandaryzowanej listy klawiszy XF86* (np. XF86HomePage, XF86AudioPlay, XF86Back, itp.).

    Więc jeśli twoje klawisze multimedialne nie generują w xev-ie takich kodów, to wyrzuć tę badziewną klawiaturę na śmietnik, a najlepiej spoliczkuj nią z całej siły producenta takich bubli i chłamu (często drogiego).

    A jeśli generują, a nadal masz problem z ich podpięciem, to wywal swoje bublowate środowisko graficzne, które nie powinno się takim nazywać. Następnie zainstaluj KDE, gdzie każdy z takich klawiszy może być standardowo podpięty pod praktycznie każdy skrót zarówno środowiska, poszczególnych programów, jak również do własnej akcji (komenda, DBUS, …) – wszystko wyklikiwalne w ustawieniach.

    Autorze, nie siej więc mitów, że w Linuksie są jakieś problemy z klawiszami multimedialnymi. Są albo problemy z gównianymi klawiaturami, albo z gównianymi środowiskami jak Gnome czy Unity.
    Na klawiaturach przestrzegających standardów i w środowisku KDE to wszystko działa out-of-the-box od wielu lat.

    • Czyli Twoim zdaniem rozwiązaniem wszystkich problemów jest zmiana środowiska na KDE i wymiana klawiatury, którą się posiada na inną (jak sam zauważyłeś, niektóre nie są obsługiwane)? W mojej wersji KDE nie ma tego co opisujesz. Mam zmieniać system (obecny nie obsłuży nowszego KDE) i tydzień kompilować dodatki, które mam już ustawione tylko po to, żeby klawisze mi zaczęły działać? Gratuluję podejścia.
      Nie pomyślałeś również, że ktoś może chcieć zdefiniować skrót Alt + XF86AudioPlay albo choćby Ctrl + Alt + Shift + j.
      A tu jest proste i użyteczne narzędzie, które na to pozwala bez żadnych gimnastyk.
      Czy jeśli ktoś ma dziesięcioletni komputer, który muli na nowszych dystrybucjach, to Twoim rozwiązaniem jest kupienie nowego komputera, bo inaczej kilka klawiszy nie będzie działało?
      Idź troluj gdzieś indziej.

  4. Może komuś się przyda:
    wpis w xbindkeysrc w formie jak poniżej , pozwala używać klawisza jak przełącznika włącz/wyłącz aplikację (w tym wypadku "sakura")

    "pgrep > /dev/null sakura && killall sakura || sakura &"
    Super_L

  5. Jak już krytykujesz cudza prace – pokaz wlasny artykul, chetnie ocenie.
    Nie napisales? To daruj sobie wymadrzanie sie i krytykowanie tego, ze ktos zrobil cos dla innych.
    Uzywam gnome (obecnie 2.24) od 4 lat, artykul jest dla mnie przydatny, a Twoja propozycja zmiany srodowiska na KDE jest po prostu glupia. Program nie podoba sie – nie uzywaj i tyle.

    • Nie krytykuję artykułu, tylko durnowaty komentarz arka.

      Moim wcześniejszym wpisem jedynie komentuję artykuł pisząc, że takie rzeczy na nowoczesnych środowiskach od dawna nie są potrzebne.

    • I nie interesuje mnie, czy ktfoś przyzwyczaił się do niewygodnego i marnego technicznie środowiska i go używa.

      Gorzej, że takie gnome i inne compizy olewają standardy freedesktop.org powodując masę problemów w linuksowym ekosystemie.
      Za to gnoma nienawidzę, podobnie jak za chamstwo autorów tego środowiska z jakim odnoszą się do innych projektów.

      Na szczęście Canonical olał gnome, inne dystrybucje patrzą w kierunku KDE4, stare gnome zdechło, nowe nie nadaje się do użytku – wróże rychłe zdechnięcie temu bublowi – i bardzo dobrze.

    • I znasz jego system lepiej niż on, tak samo jak jego klawiaturę i resztę sprzętu, dzięki czemu możesz jasno zdefiniować, że jest durniem. Podaj jaki ma system i jak w jego systemie to skonfigurować.
      Dla mnie Ty jesteś mocno ograniczony. U Ciebie działa, u innych może nie działać. Proste i logiczne. Nie znasz jego konfiguracji sprzętowej ani systemowej, a jednak uważasz, że masz rację?
      Ja też mam starą dystrybucję. Dla mnie system ma działać, a nie ma być ciągle od nowa stawiany. To inna grupa systemów jest z tego znana. Ustawianie + kompilacja i łatanie zainstalowanej dystrybucji to jakieś 40 godzin. I nie chodzi o ustawienia konta użytkownika. Mam to robić co pół roku, bo tak Ci się podoba? Widać nie mam tyle czasu co Ty.
      Czy jak idziesz do lekarza z bolącym sercem, to też akceptujesz odpowiedź „nie mów pan bzdur, u mnie działa bez zarzutu”? I jeszcze z pokorną głową wysłuchujesz, że Twoje obiekcje są durne?
      A KDE jest cukierkowe i mulące. Są lepsze środowiska. Linus też je odrzucił. On też jest dla Ciebie durny? Nie trzyma się standardów? Nie wierzysz – poszukaj jego reakcji na wydanie KDE4 (nawet na tym portalu jest o tym wzmianka).
      Daruj sobie flejma jakie to KDE jest super. Nie jest. Do tego po to każdy ma wybór, żeby wybrał co mu się podoba, a nie co Tobie się podoba.
      I to artykuł skrytykowałeś, na co odpowiedział Ci arek. A program jest potrzebny. Może nie dla Ciebie, ale inni chętnie skorzystają (przeczytaj inne opinie).
      Z tego co widzę, to w każdym artykule masz jakieś nieprzyjemne komentarze.
      Ogarnij się.

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj