
Используйте setxkbmap, чтобы поменять местами левый Shift и левый Control.описывает, как поменять местами некоторые клавиши-модификаторы с помощью xkbcomp. Однако я хотел бы просто добавить пользовательский параметр setxkbmap вместо использования xkbcomp с полным определением раскладки. Подобно setxkbmap -option local:swap_lwin_lctrl
, я хотел бы поменять местами правую win и правый control, не изменяя существующие файлы в /usr/share/X11/xkb (которые будут перезаписаны при обновлении пакета).
решение1
У меня та же проблема. Из документа можно предположить, что правильный синтаксис будет примерно таким:
$ setxkbmap -I$HOME/.config/xkb -option mine:accent
Примечание: ~
не работает с -I
опцией
с
~/.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 ] };
};
или любой другой файл символов, который у вас есть и
~/.config/xkb/rules/evdev
! option = symbols
mine:accent = +azerty_altgr(accent)
К сожалению, это не работает.
Единственное решение, которое я нашел, это следующее: используйте те же файлы, что описаны выше. Установите все собственные параметры с помощью setxkbmap -option caps:swapescape,whatever
. Затем:
$ setxkbmap -print > tempfile.txt
и отредактируйте tempfile.txt
, чтобы добавить свою пользовательскую опцию в xkb_symbols
строку:
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)" };
};
и наконец:
xkbcomp -I$HOME/.config/xkb tempfile.txt $DISPLAY
Его можно обобщить для любого количества вариантов. Это решение устарело согласноArchlinux вики.