Estoy usando Vim, así que lo reasigné capslocka esc. Pero a veces todavía quiero capslock. Entonces me pregunto si reasignar shifta shift+ capslock:
- Cuando shiftse usa de la forma normal: presione prolongadamente y suelte, aún debería funcionar como shifttecla cambiando la escritura a mayúsculas.
- Cuando shiftse toca (presione y suelte brevemente), debería alternar capslock.
¿Es posible algo como esto? ¿Alguien conoce algún script de AutoHotkey o algún consejo sobre cómo hacer esto que pueda compartir?
Respuesta1
Utilice este script AutoHotkey ligeramente modificado deLa respuesta 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
Si la Shifttecla se presiona durante menos de 100 milisegundos y se suelta, la alternará CapsLk. Más de 100 ms y actuará como una tecla modificadora normal.
Si 100 ms es demasiado largo, elija un valor apropiado en la if
condición.