Atualmente estou usando o seguinte código para alterar o layout do teclado:
// vim.ahk
CapsLock::Send, {CTRLDOWN}{SHIFTDOWN}{SHIFTUP}{CTRLUP}{CTRLUP}
return
!^CapsLock::CapsLock
CapsLock & j :: Send {Down}
CapsLock & k :: Send {Up}
CapsLock & h :: Send {Left}
CapsLock & l :: Send {right}
CapsLock & p :: Send {PGUP}
CapsLock & `; :: Send {PGDN}
CapsLock & ^ :: Send {home}
CapsLock & $ :: Send {end}
Este código é estável o suficiente? O problema é que às vezes CapsLock
liga indesejavelmente
Atualizar:Descobri que CapsLock
liga quando é pressionado com qualquer tecla, exceto as teclas acima. ( hkll;pae
)
Responder1
adicione isso ao topo do seu script.
SetCapsLockState, AlwaysOff
!^CapsLock::CapsLock
Deve interromper todos os eventos Capslock que você não cria.
http://www.autohotkey.com/docs/commands/SetNumScrollCapsLockState.htm
Responder2
Parei de brincar com oCapsLock como modificadorpor causa do raciocínio de consistência (você vai ficar tão perdido sem ele no pc de outra pessoa). Então, em vez de CapsLock
usar ALT+SHIFT (!+)
modificadores, porque não é comum, mas ainda é confortável o suficiente para ser facilmente alcançado.Consegui replicar teclas de seta up/down/left/right (kjhl)
com AutoHotkey como o Vim faz, mas não consegui navegar por essas teclas ao usar o Windows ALT + TAB (veja abaixo como encontrei acidentalmente uma solução).
Então, acidentalmente me deparei com uma solução para usar as teclas de navegação do Vim no Windows ALT + TAB sem que elas desaparecessem. Não sou capaz de explicar, mas simplesmente funciona e vou postar minha configuração atual e mostrar a diferença com minha descoberta acidental.
TECLA DE ATALHO DE NAVEGAÇÃO AHK VIM
Se essas chaves não cabem em você confortavelmente, por favor. altere ao seu gosto. Eu apenas prefiro ter
shortnavigation-keys (up/down/left/right)
o vim correspondente e colocar customização apenas para olongnavigation-keys (home/end/pgup/pgdn)
!+[::SendInput, {Escape} !+k::SendInput, {Up} !+j::SendInput, {Down} !+h::SendInput, {Left} !+l::SendInput, {Right} !+p::SendInput, {Home} !+u::SendInput, {End} !+o::SendInput, {PgUp} !+i::SendInput, {PgDn} !+0::SendInput, ^{Tab} ; tabmove-forward !+9::SendInput, !^{Tab} ; idk why, but doesn't tabmove-backward
WIN ALT + TAB com VIM-NAVIGATIONKEYS (menu estático, devido a outro pressionamento anterior de tecla de atalho)
- ativar
!+9::SendInput, !^{Tab}
- Uma vez após pressionar ALT+SHIFT+9, continue segurando ALT+SHIFT e navegue usando kjhl :D
WIN ALT + TAB com VIM-NAVIGATIONKEYS (não posso, porque o menu fecha)
ALT+TAB
- Agora continue segurando Alt e então segure Shift também e agora comece a usar as teclas de navegação imitadas do vimque é kjhl, observe que a janela desaparece :(
- As teclas comuns são teclas típicas usadas para funções básicas, como recortar/copiar/colar e alternar entre guias, todas as quais usam apenas uma combinação de um modificador e um único pressionamento de tecla, a menos que seja para navegação na Área de Trabalho Virtual do Windows
- por exemplo, a comutação da área de trabalho virtual do Windows usa CTRL+WIN+ESQUERDA/DIREITA
- é uma boa ideia ainda usar teclas de atalho normais e não personalizá-las muito, a menos que você possa provar por que seu método é melhor
- Qual é a diferença entre teclas de navegação curtas e longas?
- teclas de navegação curtas: cima/baixo/esquerda/direita
- chaves de navegação longa: home/end/pgup/pgdn