Klawisze skrótów niezależne od układu klawiatury

25

Czy istnieje sposób zdefiniowania powiązania określonego klawisza fizycznego klawiatury z jakąś akcją, niezależnie od litery, z którą ten klawisz jest powiązany w dowolnym układzie?

Przykład : w większości domyślnych skojarzeń klawiszy skrótu Gnome, naciśnięcie Alt+ Ctrl+ Totwiera terminal. Ale tylko w układzie klawiatury łacińskiej. Wykonanie tej samej czynności fizycznej w układzie greckim nie działa, ponieważ wówczas literą jest „grecki T , a nie „łaciński T .

Dlatego najpierw należy przełączyć się na układ łaciński, a następnie nacisnąć klawisz skrótu, co może być frustrujące, ponieważ nigdy nie jest pewne, czy klawisz nie został poprawnie naciśnięty w pierwszej kolejności, więc prawdopodobnie próbuje się kilka razy, aż zda sobie sprawę, że problem był w układzie.

Rozwiązaniem mogłoby być zdefiniowanie tego samego powiązania dla tego samego klucza we wszystkich używanych układach - ale wtedy trzeba by to zrobić dla wszystkich skrótów, więc to rozwiązanie nie skaluje się dobrze.

serxio
źródło

Odpowiedzi:

20

Często przełączam się między układami angielskim i greckim, a to przez pewien czas było niewielką irytacją. Twoje pytanie zmusiło mnie do rozwiązania, więc dziękuję!

Znalazłem program, który może to zrobić: xbindkeys. Postępowanie, które podążyłem (dostosowałem stąd ) to:

  1. Zainstaluj xbindkeys. Na moim Debianie jest to zrobione

    sudo apt-get install xbindkeys
    

    Należy również być w stanie zainstalować dość łatwo z równowartości yum installlub pacman -Slub jakiegokolwiek polecenia.

  2. Utwórz plik ustawień domyślnych:

    xbindkeys --defaults > `~/.xbindkeysrc`
    
  3. Uzyskaj odpowiednie kody dostępu do swoich kluczy. Uruchom xbindkeys -ki naciśnij żądany skrót. Przynajmniej z moją klawiaturą (choć powinno to być standardowe), xbindkeys -kto CtrlTznaczy raporty

    m:0x14 + c:28
    Control+Mod2 + t
    
  4. Utwórz odpowiedni skrót, dodaj te linie do ~/.xbindkeysrc:

    "xterm"
     m:0x14 + c:28
    
  5. Uruchom xbindkeys. Skrót działa teraz nawet w układzie greckim. Aby to zrobić na stałe, dodaj to do ~/.Xsession:

    xbindkeys
    
terdon
źródło
1
xbindkeys robi to, czego potrzebuję. I tak, Alt + Ctr + T jest ustawieniem domyślnym, a nie Ctrl + T. Poprawiłem pytanie. Zastanawiam się jednak, dlaczego wybrał Gnome korespondencji z literami zamiast z kluczowych kodów
serxio
1
@serxio może zmienić kody na różnych klawiaturach? Czy możesz odwzorować rzeczy, aby Gnome wywoływał klucz po nazwie, aby nie pomylić go, jeśli zamapowałeś Ctrl na Alt lub coś w tym rodzaju? Trexa gyreye.
terdon