Ist es möglich, die linke Shift zu tauschen und die linke CTRL Schlüssel mit setxkbmap
statt xmodmap
?
BEARBEITEN
Ich bin auf Fcitx umgestiegen, was mit meinem Tastaturlayout und meiner angepassten Tastenbelegung viel besser funktioniert als IBus in jeder Hinsicht. Ich kann es nur empfehlen.
Akzeptierte Antwort:
xmodmap
ist obsolet; also sollte es tatsächlich mit dem xkb
gemacht werden Werkzeuge.
Der gewünschte Swap scheint standardmäßig nicht in X11-Dateien enthalten zu sein; Sie müssen es also selbst schreiben.
Die Seite https://web.archive.org/web/20170825051821/http://madduck.net/docs/extending-xkb/ hat mir geholfen, es zu verstehen und einen Weg zu finden, es zu tun.
Erstellen Sie eine Datei ~/.xkb/keymap/mykbd
wo Sie die Ausgabe von setxkbmap
ablegen , es wird Ihre Basis-Tastaturdefinition sein; zB:
setxkbmap -print > ~/.xkb/keymap/mykbd
Erstellen Sie dann eine Symboldatei, um Ihren Schlüsselaustausch zu definieren, legen Sie sie zum Beispiel in ~/.xkb/symbols/myswap
Fügen Sie dort die folgenden Zeilen ein:
partial modifier_keys
xkb_symbols "swap_l_shift_ctrl" {
replace key <LCTL> { [ Shift_L ] };
replace key <LFSH> { [ Control_L ] };
};
Bearbeiten Sie dann ~/.xkb/keymap/mykbd
Datei und ändern Sie die xkb_symbols
hinzuzufügende Zeile
+myswap(swap_l_shift_ctrl)
schließlich können Sie es mit xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY
laden (Sie können „~“ nicht für das -I
verwenden Parameter).
Es wird wahrscheinlich eine Menge Warnungen über undefinierte Symbole für einige seltene Schlüssel ausspucken, aber Sie können sie ignorieren (zB Fehler umleiten zu dave:2> /dev/null
).
Wenn Sie in der Lage sein möchten, einfach zwischen einer normalen und Ihrer invertierten Strg / Umschalt-Taste zu wechseln; einfach unter ~/.xkb/keymap/
erstellen eine andere Datei, ohne die zusätzliche „myswap“-Option, und lade sie mit xkbcomp
. Sie können zwei kleine Skripte erstellen, um sie zu laden.