adicione isso ao topo do seu script.
SetCapsLockState, AlwaysOff
!^CapsLock::CapsLock
Ele deve interromper todos os eventos do Capslock que você não criou.
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
indesejavelmente ativa
Upadet: Descobri que o CapsLock liga quando é pressionado com qualquer tecla, exceto as teclas acima. ( hkll;pae
)
adicione isso ao topo do seu script.
SetCapsLockState, AlwaysOff
!^CapsLock::CapsLock
Ele deve interromper todos os eventos do Capslock que você não criou.
Parei de brincar com o CapsLock como um modificador por causa do raciocínio de consistência ( você ficará tão perdido sem ele no pc de outra pessoa ). Portanto, em vez de CapsLock
, uso modificadores ALT+SHIFT (!+)
porque não é comum, mas ainda é confortável o suficiente para facilitar o alcance. Eu consegui replicar as teclas arrow up/down/left/right (kjhl)
w / AutoHotkey como o Vim faz isso, mas não consegui navegar nessas teclas ao usar o Windows ALT + TAB (veja abaixo como eu acidentalmente encontrei uma solução).
Então, acidentalmente me deparei com uma solução para usar as teclas de navegação Vim enquanto no Windows ALT + TAB sem que ele desaparecesse. Eu não sou capaz de explicá-lo, mas ele simplesmente funciona e eu vou postar minha configuração atual e mostrar a diferença com o meu achado acidental.
If these keys don't fit you comfortably, pls. change it to your liking. I just prefer to have
shortnavigation-keys (up/down/left/right)
matching vim and had put customization only for thelongnavigation-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
!+9::SendInput, !^{Tab}
Tags vim autohotkey