Ich möchte ein paar Schlüssel mit XKB mischen. (Warum? Auf einem Laptop, auf dem sich einige Schlüssel ungünstig befinden.) 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 Schlüsseln unterschiedliche symbolische Namen zuweisen, anstatt bestimmten Schlüsselcodes unterschiedliche Schlüsselsymbole zuzuweisen. ( Dies ist der Grund.) Ich möchte, dass der Schlüsselcode 110 PGUP
anstelle von HOME
, der Schlüsselcode 115 DELE
anstelle von END
usw. gesendet wird. Der Rest der Konfiguration darf nicht beeinflusst werden (also PGUP
das Senden des Prior
Schlüsselsymbols usw., und alle anderen Schlüssel bleiben erhalten so wie sie sind).
Wie kann ich die Zuordnung dieser spezifischen Schlüsselcodes ändern? Ich lade eine Datei mit xkbcomp somefile.xkb $DISPLAY
, was muss ich einfügen somefile.xkb
?
quelle
-I
Schalter! Danke, ich konnte das nicht auf der Manpage herausfinden.Sie können zunächst
setxkbmap -print > somefile.xkb
die Keymap abrufen, die Sie als Basis verwenden, und dann die gewünschten Schlüsselnamen in dem folgendenxkb_keycodes
Abschnitt neu definieren :Dies generiert Warnungen, dass einige Schlüsselnamen mehrfach zugewiesen werden, funktioniert jedoch, da nur der letzte zählt (daher ist es wichtig, die benutzerdefinierten Einstellungen nach dem Einschließen zu setzen). Und die Datei hat den Vorteil, lesbar zu sein.
Eine andere Möglichkeit besteht darin, die von Ihnen verwendete Keymap in eine Datei zu kopieren
xkbcomp $DISPLAY somefile.xkb
und dieselben Zeilen zu ändern (es handelt sich um dieselbe Keymap mit den ausgewerteten Includes). Auf diese Weise gibt es keine Warnungen für mehrere Definitionen, aber es ist weniger lesbar.quelle
evdev+aliases(azerty)
usw.)? Ich möchte ausdrücklich eine relative Änderung durchführen, keine vollständige Neukonfiguration. Andere als die in den Fragen aufgeführten 6 Schlüssel dürfen nicht betroffen sein. Sie müssen in dem Zustand bleiben, in dem sie sich befanden, als ich den Befehl erteilte.setxkbmap -print
, sie sind Dateien aus/usr/share/X11/xkb/
. Ich denke, Sie müssen eine ganze Keymap geben,xkbcomp
aber ich könnte mich irren ...