Chcę przetasować kilka klawiszy za pomocą XKB. (Dlaczego? Na laptopie, na którym niektóre klucze są niewygodnie zlokalizowane.) Obecnie używam xmodmap:
keycode 110 = Prior
keycode 115 = Delete
keycode 112 = Next
keycode 117 = Insert
keycode 119 = End
keycode 118 = Home
Zamiast tego chcę użyć XKB i przypisać różne nazwy symboliczne dla niektórych kluczy fizycznych, zamiast przypisywać różne klucze do niektórych kodów. ( Właśnie dlatego.) Chcę, aby kod klucza 110 był wysyłany PGUP
zamiast HOME
, kod klucza 115, aby wysyłać DELE
zamiast END
, itp. Nie można wpływać na resztę konfiguracji (tak PGUP
aby nadal wysyłać Prior
klucze itp., A pozostałe klucze pozostaną tak jak oni).
Jak mogę zmienić przypisanie tych konkretnych kodów? Załaduję plik xkbcomp somefile.xkb $DISPLAY
, co muszę włożyć somefile.xkb
?
źródło
-I
przełącznika! Dzięki, nie byłem w stanie zrozumieć tego na stronie podręcznika.Możesz zacząć od
setxkbmap -print > somefile.xkb
uzyskania mapy klawiszy, której używasz jako podstawy, a następnie ponownie zdefiniuj nazwy klawiszy, które chcesz w tejxkb_keycodes
sekcji:To generuje ostrzeżenia, że niektóre nazwy kluczy są przypisywane wiele razy, ale działa, ponieważ liczy się tylko ostatnia (dlatego ważne jest, aby umieścić niestandardowe ustawienia po dołączeniu). Plik ma tę zaletę, że jest czytelny.
Innym sposobem jest zrzucenie użytej mapy klawiszy do pliku:
xkbcomp $DISPLAY somefile.xkb
i zmodyfikowanie tych samych linii (jest to ta sama mapa klawiszy z ocenianą zawartością). W ten sposób nie ma ostrzeżeń dla wielu definicji, ale jest mniej czytelny.źródło
evdev+aliases(azerty)
itp.)? Wyraźnie chcę dokonać zmiany względnej, a nie pełnej rekonfiguracji. Nie można wpływać na klucze inne niż 6 wymienione w pytaniach, muszą pozostać w stanie, w jakim były, kiedy wydałem polecenie.setxkbmap -print
, są plikami/usr/share/X11/xkb/
. Myślę, że musisz podać całą mapę klawiszy,xkbcomp
ale mogę się mylić ...