¿Cómo puedo imitar el comportamiento de macro de dos pasos "Ctrl-K, C" de Visual Studio usando Autoit / Autohotkey?
-
03-07-2019 - |
Pregunta
Estoy intentando configurar AutoHotkey macros para algunas tareas comunes, y quiero que las teclas de acceso rápido imitar el método abreviado de dos pasos de Visual Studio comportamiento, es decir, al presionar Ctrl - K se habilitará el modo macro "quot; dentro del modo macro, al presionar ciertas teclas se ejecutará una macro y luego se deshabilitará el "modo macro", y cualquier otra tecla simplemente deshabilitará el modo macro.
Ejemplo: al escribir un nombre de archivo, quiero poder insertar la fecha de hoy tocando Ctrl - K y luego presionando D .
¿Alguien tiene un buen ejemplo de un script de AutoHotkey con estado que se comporte así?
Solución
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
Otros consejos
Una ligera variación en la respuesta aceptada: esto es lo que terminé usando. Estoy capturando Ctrl + LWin (tecla izquierda de Windows) para que no entre en conflicto con los atajos de teclado Ctrl-K 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