3

Как мне переназначить ключ Capslock на ESC в оболочке Windows Cygwin?

В идеале я бы переназначал значение в оболочках Cygwin, а не везде, сохраняя поведение в других приложениях (хотя по общему признанию даже в Windows, я думаю, что я, вероятно, нажимал клавишу Capslock чаще случайно, чем нарочно).

Еще лучше было бы добавить что-то в мой bashrc, чтобы сделать его легко переносимым.

Справочная информация: я провожу большую часть своего времени в Linux, где я использовал xmodmap (например, http://vim.wikia.com/wiki/Map_caps_lock_to_escape_in_XWindows), чтобы переназначить Capslock на Esc для скорости и комфорта с помощью vi. Это прекрасно работает везде в этих системах, то есть в vim, а также в командной строке bash. В оставшееся время, когда я нахожусь в Cygwin на коробке с окнами, моя мышечная память заставляет меня нажимать на кнопку с заглушкой до плохого эффекта!

2 ответа2

8

Я делаю переназначение всей системы через изменение реестра, описанное по адресу http://vim.wikia.com/wiki/Map_caps_lock_to_escape_in_Windows.

На той же странице есть и решение AutoHotkey .

Вы можете ограничить область переопределений AutoHotkey, как это, что должно (не проверено!) ограничение для окон консоли Windows:

#IfWinActive ahk_class ConsoleWindowClass
CapsLock::
...

Если вы используете новый терминал Cygwin на базе Mintty, это будет применяться исключительно к Cygwin. (Но я все же рекомендую вам сначала попробовать переназначение в масштабе всей системы; в качестве запасного варианта я поставил Caps Lock на Scroll Lock , но я редко, если когда-либо, использую его.)

3

Я не знаю, как переназначить Capslock только в Cygwin. Но в Windows 7 глобально переназначить

CapsLock to Esc просто добавьте регистрационный ключ:

[HKEY_CURRENT_USER\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,3a,00,00,00,00,00

CapsLock для Ctrl:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00

Используйте Current_User или Local_Machine, что соответствует вашим потребностям лучше.

Другие отображения

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .