Como posso remapear a chave CAPSLOCK para o ESC no Cygwin?

3

Como posso remapear a tecla Capslock para ESC em um shell do Windows Cygwin?

Idealmente, eu apenas remapeava o valor em shells do Cygwin em vez de em todos os lugares, preservando o comportamento em outros aplicativos (embora, mesmo admitindo que eu provavelmente acerte a tecla Capslock com mais freqüência por acidente do que propositalmente).

Ainda melhor seria algo que eu pudesse adicionar ao meu bashrc, tornando-o facilmente portátil.

Antecedentes: passo a maior parte do tempo no Linux, onde usei o xmodmap (como este, link ) para remapear Capslock para Esc para velocidade e conforto com vi. Isso funciona muito bem em todos os lugares nesses sistemas, ou seja, no vim e também em uma linha de comando bash. Pelo tempo restante, quando estou em Cygwin em uma caixa de janelas, minha memória muscular me faz bater a tecla capslock para causar um efeito negativo!

    
por Sk606 27.11.2012 / 17:57

2 respostas

8

Eu faço o remapeamento em todo o sistema através da modificação do registro descrita no link .

Na mesma página, há também uma solução AutoHotkey .

Você pode limitar o escopo dos remapeadores do AutoHotkey como este, o que deve (não testado!) limitar-se às janelas do console do Windows:

#IfWinActive ahk_class ConsoleWindowClass
CapsLock::
...

Se você usar o novo Cygwin Terminal baseado em Mintty , isso se aplicaria exclusivamente ao Cygwin. (Mas eu ainda recomendo que você tente primeiro o remapeamento em todo o sistema; eu coloquei Caps Lock em Scroll Lock como um fallback, mas eu raramente, ou nunca, o uso .)

    
por 27.11.2012 / 18:25
3

Eu não sei como remapear o Capslock apenas no Cygwin. Mas no Windows 7 globalmente remapear

CapsLock to Esc apenas adiciona uma chave de registro:

[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 para 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

Use Current_User ou Local_Machine, de acordo com suas necessidades.

Outros mapeamentos

    
por 27.11.2012 / 18:30

Tags