GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ein paar Keycodes mit Xkb außer Kraft setzen?

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

aus
setxkbmap -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.


Linux
  1. Kernel-Tracing mit trace-cmd

  2. 3 Möglichkeiten zum Löschen aller Dateien in einem Verzeichnis außer einer oder wenigen Dateien mit Erweiterungen

  3. Nohup-Befehl mit Beispielen

  4. Verwenden Sie Notify-Send mit Cron?

  5. Ergänzung mit „sed“?

15 Linux-PS-Befehl mit Beispielen

Nmap-Befehle mit Beispielen

Terminplanung mit cron &At

Verlaufsbefehl mit Beispielen

Microservices mit Python3

Zertifizierungsstelle mit OpenSSL