keys - ¿Cómo puedo imitar el comportamiento macro de dos pasos "Ctrl-K, C" de Visual Studio usando Autoit/Autohotkey?
autohotkey unicode (2)
Este script de Autohotkey, cuando presiona ctrl + k, esperará a que presione una tecla y si presiona d, ingresará la fecha actual.
^k::
Input Key, L1
FormatTime, Time, , yyyy-MM-dd
if Key = d
Send %Time%
return
Estoy tratando de configurar las macros de AutoHotkey para algunas tareas comunes, y quiero que las teclas de acceso rápido imiten el comportamiento de "acceso directo de dos pasos" de Visual Studio, es decir, presionar Ctrl - K habilitará el "modo macro"; dentro del modo macro, al presionar ciertas teclas se ejecutará una macro y luego se desactivará el ''modo macro'', y cualquier otra tecla simplemente deshabilitará el modo macro.
Ejemplo: al escribir un nombre de archivo, deseo poder insertar la fecha de hoy tocando Ctrl - K y presionando D.
¿Alguien tiene un buen ejemplo de un script de AutoHotkey con estado que se comporte así?
Una ligera variación en la respuesta aceptada: esto es lo que terminé usando. Estoy capturando Ctrl + LWin (tecla de Windows izquierda) para que no entre en conflicto con los accesos directos de Ctrl-K VS incorporados.
; Capture Ctrl+Left Windows Key
^LWin::
; Show traytip including shortcut keys
TrayTip, Ctrl-Win pressed - waiting for second key..., t: current time`nd: current date, 1, 1
; Capture next string input (i.e. next key)
Input, Key, L1
; Call TrayTip with no arguments to remove currently-visible traytip
TrayTip
if Key = d
{
FormatTime, Date, , yyyyMMdd
SendInput %Date%
}
else if Key = t
{
FormatTime, Time, , hhmmss
SendInput %Time%
}
return