Я пытаюсь реализовать переключатель раскладки клавиатуры для xmonad согласно Как изменить раскладку клавиатуры при использовании xmonad? .
Я хочу использовать Alt+LShift
, поскольку это то, что я использовал годами:
main = do
xmonad $ defaultConfig
{
terminal = "gnome-terminal"
} `additionalKeys`
[ (( mod1Mask , xK_Shift_L), spawn "/home/gauthier/bin/layout_switch.sh")
]
Моя проблема в том, что приложения больше не отвечают на ярлыки, содержащие Alt+LShift
. Например, в emacs я обычно набираю M-<
так: LAlt+LShift+.
.
При установке переключателя макета выше, xmonad берет аккорд ключа, а emacs ничего не получает.
Как сохранить ярлык для переключения клавиатуры, и в то же время другие приложения могут использовать такие сочетания клавиш? Я согласен с переключателем клавиатуры, фактически меняющим раскладку при выпуске Alt+LShift
.
Решение состояло в том, чтобы пропустить сценарий и установить ярлык переключателя клавиатуры с setxkbmap
.
я теперь выполняю это в своем сценарии входа в систему:
# Keyboard layout switcher
setxkbmap -layout us,se -variant ,kinesis -option 'grp:alt_shift_toggle'
Это делает точно, что я хотел.