Я недавно переключился из SUSE, который использует KDE в качестве настольной среды по умолчанию. В KDE это возможно к archieve такая установка с опциями GUI, но не в XFCE.
Я попробовал, настраивает ~/.Xmodmap
зарегистрируйте следующий путь:
clear Lock
clear Control
clear Mod2
clear Mod5
keycode 77 = Caps_Lock Num_Lock Caps_Lock Num_Lock
keycode 66 = ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift
keycode 37 = Control_L NoSymbol Control_L NoSymbol Multi_key Multi_key
add Control = Control_L Control_R
add Lock = Caps_Lock
add Mod2 = Num_Lock
add Mod5 = ISO_Level3_Shift
Что происходит:
Что я ожидал происходить, но это не сделало:
ISO_Level3_Shift
(это, согласно xev
, но это имеет функциональность обычного Сдвига somewhy),Что я делаю неправильно? Xubuntu 18.04, новая установка
Сопоставьте сдвиг третьего уровня с <CAPS>
(caps lock) и используйте третий уровень левого регулятора в качестве клавиши композиции (Multi_key
):
setxkbmap -option compose:lctrl-altgr \
-option lv3:caps_switch \
-layout "us(intl)"
Для клавиши numlock вы можете сделать файл символов в качестве оболочки для любого макета, который вы используете (я собираюсь использовать us(intl)
). Создайте файл символов с именем custom
:
xkb_symbols "basic" {
// The layout that you want to use.
include "us(intl)"
key <NMLK> { [
Caps_Lock, Num_Lock, Caps_Lock, Num_Lock
] };
};
Сохраните файл custom
в дереве каталогов, которое отражает структуру /usr/share/X11/xkb
. Поэтому, если ваш каталог хранится в /home/<user>/my-xkb/
, файл custom
должен быть в /home/<user>/my-xkb/symbols/custom
.
(См. здесь для получения общих инструкций о том, как создавать и использовать пользовательские файлы Xkb.)
Вместо того, чтобы просто использовать setxkbmap
, вам придется использовать -print
] опция для передачи вывода на xkbcomp
. У xkbcomp
есть опция -I
, которую вы будете использовать, чтобы указать путь к вашему пользовательскому дереву каталогов Xkb.
setxkbmap -option compose:lctrl-altgr \
-option lv3:caps_switch \
-layout "custom" \
-print |
xkbcomp -I"/home/<user>/my-xkb" \
- "$DISPLAY"