Переключение CapsLock и Escape при раздельном использовании

Я искал и экспериментировал, но пока не нашел решения этой проблемы: я использовал xmodmap для переключения клавиш Esc и CapsLock для простоты использования с Vim. В моем файле xinitrc есть:

if [ -s ~/.Xmodmap ]; then
    xmodmap ~/.Xmodmap
fi

В моем ~ / .Xmodmap

...
keycode 9 = Caps_Lock NoSymbol Caps_Lock
...
keycode 66 = Escape Nosymbol Escape
...

Теперь, если я нажму CapsLock, мне придется нажать его дважды, потому что, хотя он действует как кнопка Esc, он также действует как CapsLock . Итак, второй раз, когда я нажимаю его, это отключает CapsLock, но это имеет тот же эффект, что и двойное нажатие Esc ... Это смешно. Esc работает только как CapsLock. Не уверен, что делаю неправильно, и Google, похоже, тоже в тупике.


person Trib    schedule 14.09.2015    source источник
comment
простой поиск в Google, вероятно, может повернуть вас в правильное русло, есть несколько способов получить то, что вы хотите, см. например: vim.wikia.com/wiki/Map_caps_lock_to_escape_in_XWindows или более простой вариант здесь bbs.archlinux.org/viewtopic.php?id=141933   -  person xception    schedule 14.09.2015
comment
Я немного погуглил эту проблему, и упомянутый вами сайт vim привел меня туда, где я нахожусь. Я не видел последнего упомянутого вами сайта. Когда я не на работе, я попробую, спасибо. Мне кажется, что эти два сайта просто перезагружаются и повторяются, вместо того, чтобы понимать и исправлять ошибку. Я хотел бы знать, что я сделал не так и почему.   -  person Trib    schedule 14.09.2015


Ответы (1)


Вы можете удалить ключ CapsLock вручную с помощью xmodmap:

xmodmap -e 'remove Lock = Caps_Lock'

У меня есть несколько таких строк (в основном keycodes), которые я сохраняю в сценарии как ~/bin/modmap, чтобы я мог запускать его в любое время для экспериментов. Он также вызывается из ~/.xinitrc.

person Micah Elliott    schedule 14.09.2015
comment
Я поместил этот сценарий прямо в свой .xinitrc. Отлично работает, спасибо. - person Trib; 14.09.2015