Я искал способ решить вышеупомянутую проблему.
Я попробовал
xmodmap -e "keycode 66 = Alt_L"
но по-видимому результат состоит в том, что клавиша Caps Lock отображается на СДВИГЕ ВЛЕВО, который не является намеченным поведением.
От моих поисков я понял это xmodmap
является устаревшим, и я должен использовать setxkbmap
вместо этого. Однако мне было трудно очень повторно отобразить ключ, который не является частью опций по умолчанию xkb
(например, Я мог отобразить CapsLock на лево-CTRL, но не на лево-ALT).
Как я могу использовать setxkbmap
достигнуть этой цели?
Я начал рассматривать решения отсюда и здесь, но я не мог заставить их работать.
Я нашел решение здесь:
https://unix.stackexchange.com/questions/9635/how-to-assign-another-modifier-to-alt-key-for-x11
Это достигает того, что я искал, хотя довольно ужасным способом (я очень предпочту создавать новую xkb опцию с этой перекартой, но я не мог сделать ту работу),
Обновление
Решение выше не позволяет мне сохранять два различных ключа для LALT. Вместо этого я следовал этой инструкции со следующим определением символа:
// This changes the <CAPS> key to become an Alt modifier,
// but it will still produce the Caps_Lock keysym.
hidden partial modifier_keys
xkb_symbols "alt" {
replace key <CAPS> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Caps_Lock ],
actions[Group1] = [ SetMods(modifiers=Mod1) ]
};
modifier_map Mod1 { <CAPS> };
};