keyboard shortcuts - portable - SECUENCIA de la clave AutoHotKey, no solo tecla de acceso directo de una sola tecla
hotkeys windows 7 (4)
Bien; La respuesta parece ser:
^q::
Input Key, L1
if Key=f
...some code here...
return
No soy estúpido ... realmente. ¿Cómo mapea una clave SEQUENCE (es decir: Ctrl + Q , F ) en AutoHotKey?
Tengo Ctrl + Q abajo:
^q::
Incluso tengo F :
f::
Los ejemplos en los archivos de ayuda incluso muestran cómo hacer dos pulsaciones de tecla en una fila:
Numpad0 & Numpad1::
Pero simplemente no funcionará con:
^q & f ::
O cualquiera de estos:
LCtrl & q & f::
^q & ^f::
^q^f::
^qf::
¿Cómo puedo lograr que una SECUENCIA de teclas active algo cuando una de esas teclas es la tecla Ctrl ? Busqué usar un HOTSTRING en su lugar, ¡pero no pude averiguar cómo incluir el carácter Ctrl , en ese contexto!
En caso de que alguien esté buscando algo similar, pero en realidad quiera Ctrl Q + Ctrl F y solo si se mantiene Ctrl (así que, para algunos, esto podría parecer Ctrl Q + F ), a continuación le indicamos cómo hacerlo:
$Ctrl::Send {Ctrl Down}
$Ctrl UP::
ChordIsBroken := True
Send {Ctrl Up}
Return
^q::
ChordIsBroken := False
Input, OutputVar, L1 M
If (!ChordIsBroken && Asc(OutputVar) = 6)
{
MsgBox "Hello, World!"
}
Else
{
SendInput %OutputVar%
}
Return
Vea https://superuser.com/a/725303/145431 para mi explicación.
Esto atrapa CTRL + F. Si Q se mantiene presionada en ese momento, su código se dispara.
^f::
If GetKeyState("q", "p") {
MsgBox test
} Else {
Send ^f
}
return
O puedes hacerlo así:
q & f::
if GetKeyState("Control") {
; Do something
return
}
return
Creo que esto es un poco más legible que usar Input Key, L1 como en el ejemplo anterior.