xmodmap: `Shift+CapsLock` -> `Delete` возвращает сообщение об ошибке

Так как CapsLock имеет раскладку клавиатуры 66 на моей раскладке клавиатуры English_US, команда

xmodmap -e "clear Lock" -e "keycode 66 shift = Delete BackSpace"

витки CapsLock в Delete ключ и Shift+CapsLock в BackSpace,

Если я хочу поменять отображения CapsLock а также Shift+CapsLock от

xmodmap -e "clear Lock" -e "keycode 66 shift = BackSpace Delete"

затем Shift+CapsLock не удаляет символ под курсором, но выдает сообщение об ошибке. хотя xev показывает что правильный кейсимбол Delete передается в X. Почему?

1 ответ

Если

 key <CAPS> { [ NoSymbol, Delete ] };

находится в ~/.Xkbmap, тогда <Shift-CAPS> посылает <SHIFT-DELE>,

Вместо этого, если

 key <CAPS> { actions = [ NoAction(), Redirect(key=<DELE>,clearmods=all) ] };

затем <Shift-CAPS> посылает <DELE>,

Необходимость Redirect(...) действие в этом случае остается для меня загадкой.

Другие вопросы по тегам