
Verwenden Sie setxkbmap, um die linke Umschalttaste und die linke Strg-Taste zu vertauschen.beschreibt, wie einige Modifikatortasten mit xkbcomp ausgetauscht werden. Ich möchte jedoch einfach eine benutzerdefinierte setxkbmap-Option hinzufügen, anstatt xkbcomp mit einer vollständigen Layoutdefinition zu verwenden. Ähnlich wie möchte setxkbmap -option local:swap_lwin_lctrl
ich die rechte Win- und die rechte Control-Taste austauschen, ohne vorhandene Dateien in /usr/share/X11/xkb zu ändern (die beim Paket-Upgrade überschrieben würden).
Antwort1
Ich habe das gleiche Problem. Aus dem Dokument könnte man schließen, dass die korrekte Syntax etwa so lautet:
$ setxkbmap -I$HOME/.config/xkb -option mine:accent
Hinweis: ~
funktioniert nicht mit der -I
Option
mit
~/.config/xkb/symbols/azerty_altgr
partial default
xkb_symbols "accent" {
include "level3(ralt_switch)"
key <AE02> { [ NoSymbol, NoSymbol, eacute, NoSymbol ] };
key <AE07> { [ NoSymbol, NoSymbol, egrave, NoSymbol ] };
key <AE09> { [ NoSymbol, NoSymbol, asciicircum, NoSymbol ] };
key <AE10> { [ NoSymbol, NoSymbol, agrave, NoSymbol ] };
};
oder welche Symbole-Datei Sie auch immer haben und
~/.config/xkb/rules/evdev
! option = symbols
mine:accent = +azerty_altgr(accent)
Leider funktioniert es nicht.
Die einzige Lösung, die ich gefunden habe, ist die folgende: Verwenden Sie dieselben Dateien wie oben beschrieben. Setzen Sie alle nativen Optionen mit setxkbmap -option caps:swapescape,whatever
. Dann:
$ setxkbmap -print > tempfile.txt
und bearbeiten Sie tempfile.txt
, um Ihre benutzerdefinierte Option in der xkb_symbols
Zeile hinzuzufügen:
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+fr:2+inet(evdev)+capslock(swapescape)+azerty_altgr(accent)" };
xkb_geometry { include "pc(pc104)" };
};
und schließlich:
xkbcomp -I$HOME/.config/xkb tempfile.txt $DISPLAY
Es kann für eine beliebige Anzahl von Optionen verallgemeinert werden. Diese Lösung ist veraltet gemäßArchlinux-Wiki.