Estou usando o Vim, então remapeei capslockpara esc. Mas eu ainda quero capslockàs vezes. Então, estou pensando em remapear shiftpara shift+ capslock:
- Quando shiftusado da maneira normal: pressione e solte longamente, ainda deve funcionar como shifttecla mudando a digitação para maiúsculas.
- Quando shifté tocado (pressione e solte brevemente), ele deve alternar capslock.
Algo assim é possível? Alguém conhece algum script AutoHotkey ou dicas sobre como fazer isso que possa compartilhar?
Responder1
Use este script AutoHotkey ligeiramente modificado deResposta de Elliot DeNolf:
~Shift::
duration := 0
If (GetKeyState("Shift","p"))
{
start := A_TickCount
While (GetKeyState("Shift"))
Sleep, 1
duration := A_TickCount - start
}
if (duration < 100) ;Change this value as needed
if GetKeyState("CapsLock", "T") = 1
{
SetCapsLockState, off
}
else if GetKeyState("CapsLock", "T") = 0
{
SetCapsLockState, on
}
Return
Se a Shifttecla for pressionada por menos de 100 milissegundos e liberada, ela será alternada CapsLk. Qualquer valor superior a 100 mseg funcionará como uma tecla modificadora normal.
Se 100 ms for muito longo, escolha um valor apropriado na if
condição.