Autohotkey utiliza la tecla CapsLock como tecla modificadora

6

¿Cómo puedo usar la tecla CapsLock como una tecla de tipo modificador en autohotkey?

Por ejemplo, actualmente estoy haciendo lo siguiente:

t=0
CapsLock::t:=!t
#If t 
  y::6
  u::7

Idealmente, me gustaría poder mantener presionada la tecla Bloq Mayús para activar las teclas.

Básicamente, ¿hay una forma similar de escribir el código anterior excepto por lo siguiente?

CapsLock & y::6
William
fuente
Creo que estas preguntas deberían estar en stackoverflow.com
crazypotato
@crazypotato No, están bien aquí.
slhck
¿Por qué no puedes usar CapsLock & y?
crazypotato

Respuestas:

5

Si mantiene presionado BLOQ MAYÚS

u::
if (GetKeyState("CapsLock")=1){
    u::6
}
else
{
    send u
}

SI LAS BOTAS DE BLOQUEO SE BLOQUEAN

u::
if (GetKeyState("CapsLock","t")=1){
    u::6
}
else
{
    send u
}

Obtener la distribución actual del teclado

Actualizar:

#If GetKeyState("CapsLock")=1
  y::6
  u::7
crazypotato
fuente
Me gustaría no tener que escribir la declaración else porque es silenciosa, repetitiva y no limpia
William
Tuve que cambiarlo #If GetKeyState("CapsLock", "P") = 1a trabajar.
mtman
4

Aquí hay una solución mucho más simple:

#SingleInstance, Force

SetCapsLockState, AlwaysOff

;CapsLock & S to open Slack
CapsLock & s::
    Run, Slack.exe
    Return

Nota: esto deshabilitará el comportamiento predeterminado de la tecla CapsLock

Damien
fuente