Ich möchte mit XKB ein paar Schlüssel herummischen. (Warum? Auf einem Laptop, wo einige Tasten unpraktisch angeordnet sind.) Ich verwende derzeit xmodmap:
keycode 110 = Prior
keycode 115 = Delete
keycode 112 = Next
keycode 117 = Insert
keycode 119 = End
keycode 118 = Home
Stattdessen möchte ich XKB verwenden und bestimmten physischen Tasten unterschiedliche symbolische Namen zuweisen, anstatt bestimmten Tastencodes unterschiedliche Keysyms zuzuweisen. (Deshalb.) Ich möchte, dass Schlüsselcode 110 PGUP
sendet statt HOME
, Schlüsselcode 115 zum Senden von DELE
statt END
, usw. Der Rest der Konfiguration darf nicht beeinflusst werden (also PGUP
ist, weiterhin den keysym Prior
zu senden , usw., und alle anderen Schlüssel bleiben wie sie sind).
Wie kann ich die Zuordnung dieser spezifischen Keycodes ändern? Ich lade eine Datei mit xkbcomp somefile.xkb $DISPLAY
, was muss ich in somefile.xkb
einfügen ?
Akzeptierte Antwort:
Erstellen Sie eine Datei mit Ihren Keycode-Änderungen und speichern Sie sie (zum Beispiel) unter ~/.xkb/keycodes/local
. (Die keycodes
Verzeichnis ist fest codiert; das Basisverzeichnis kann etwas anderes sein, und der Dateiname auch.) Dies wird in Ihrem Fall enthalten
xkb_keycodes {
<PGUP> = 110;
<PGDN> = 112;
<DELE> = 115;
<INS> = 117;
<HOME> = 118;
<END> = 119;
};
Um dies zu laden, führen Sie
aussetxkbmap -print | sed -e '/xkb_keycodes/s/"[[:space:]]/+local&/' | xkbcomp -I${HOME}/.xkb - $DISPLAY
Dies gibt Ihre aktuellen Einstellungen aus und fügt +local
hinzu zu den xkb_keycodes
include
-Anweisung und lädt sie in den XKB-Compiler, wobei ~/.xkb
hinzugefügt wird zum Include-Pfad. (Wenn Sie Ihre Datei anders benannt haben als ~/.xkb/keycodes/local
, müssen Sie natürlich +local
ändern und -I${HOME}/.xkb}
.) So bleiben alle anderen Einstellungen erhalten.