Pasos, Script y AutoHotkey
Lo que hace una acción se puede escribir de tres formas. Escrita como, en la tarjeta Qué hace de la página Acciones, elige cuál se ejecuta.
| Modo | Qué es | Elíjalo cuando |
|---|---|---|
| Pasos | Una lista de pasos que elige y completa, una fila cada uno. Sin código que escribir. | Quiere construir la acción sin escribir código. La mayoría de las acciones encajan: enviar teclas, escribir texto, mover o cerrar ventanas, esperar, hacer una pregunta. |
| Script | El propio lenguaje de scripts de Input.Observer, escrito en un editor de código. | Necesita aritmética, armar texto a partir de partes, bucles que cuentan con una variable, o cualquier cosa que Pasos no pueda expresar. |
| AutoHotkey | Un script de AutoHotkey v2, ejecutado por el propio AutoHotkey. | Ya tiene código de AutoHotkey, o necesita algo que solo hace AutoHotkey. |
Pasos y Script se ejecutan dentro de Input.Observer y llaman a las mismas funciones integradas: Pasos es una forma visual de escribir lo que escribiría un script. Consulte Pasos y la Referencia del lenguaje de scripts.
Cada modo conserva su propio contenido
Una acción contiene un contenido de Pasos, un contenido de Script y un contenido de AutoHotkey uno al lado del otro. Cambiar Escrita como ① cambia cuál se ejecuta. Nunca elimina los demás, así que puede volver atrás.
Si el modo que selecciona está vacío mientras otro modo tiene contenido, un aviso debajo del selector indica que ejecutar la acción no hace nada, y ofrece un botón para usar el modo que tiene contenido.
Cambiar de Pasos a Script
Cuando cambia de Pasos a Script mientras la acción tiene pasos y su contenido de Script está vacío, Input.Observer ofrece traducir los pasos: ¿Convertir los pasos en un script? Elija Convertir para poner la traducción en el editor de Script.
- Los pasos quedan como están. Volver a Pasos los muestra sin cambios.
- Nada convierte en sentido contrario. Un script no se puede convertir en pasos.
- No se ofrece traducir los pasos que usan Repetir mientras…, Repetir hasta que…, Salir del bucle o Detener los pasos, porque Script no tiene instrucciones equivalentes. Puede cambiar de todos modos; el contenido de Script simplemente empieza vacío.
- AutoHotkey nunca se convierte a otro modo ni desde otro modo.
- Cuando los pasos son una grabación de la página Grabadora, el cuadro de diálogo también indica que el script ignora Velocidad de reproducción y Detalle de la trayectoria del mouse al reproducir: sus esperas se ejecutan a la velocidad grabada y se reproduce cada movimiento del mouse grabado (Opciones de la grabadora).
De Pasos a Script muestra en qué se convierte cada tipo de paso.
AutoHotkey
AutoHotkey es un programa aparte que Input.Observer inicia cuando se ejecuta una acción de AutoHotkey. No está incluido; usted instala AutoHotkey v2 y le indica a Input.Observer dónde está.
- Instale AutoHotkey v2.
- En la página General, active Habilitar AutoHotkey y establezca en Ejecutable de
AutoHotkey su archivo de programa, como
AutoHotkey64.exe. - AutoHotkey aparece ahora en Escrita como. Aplique los cambios para que el motor use la nueva opción.
Las reglas:
- AutoHotkey se ofrece en Escrita como solo mientras Habilitar AutoHotkey está activada, o cuando la acción ya se ejecuta como AutoHotkey. Una acción de AutoHotkey con AutoHotkey desactivado no hace nada, y la página lo indica.
- Use una compilación normal de AutoHotkey. Las compilaciones con
_UIAen su nombre, comoAutoHotkey64_UIA.exe, no pueden ejecutar scripts desde Input.Observer. - Cuando AutoHotkey está activado pero su programa no se encuentra al iniciar o al recargar la configuración, Input.Observer le pide Buscar el ejecutable de AutoHotkey o Dejar como está.
- Cada ejecución inicia un proceso nuevo de AutoHotkey con su script. No puede llamar a las funciones integradas de Input.Observer, y se ejecuta hasta que termina por sí solo; la tecla de acceso rápido para detener todas las acciones lo termina.
- Antes de su script, Input.Observer establece variables que describen el disparador, como
IO_ActionName,IO_TriggerKindy la ventana del gesto o de la tecla de acceso rápido (Variables de AutoHotkey). La lista Variables disponibles aquí del editor muestra las que proporcionan los disparadores de la acción; haga clic en una para insertarla. - Lo que el script escribe en su salida estándar aparece en la consola de diagnóstico, empezando con
AHK:(La consola de diagnóstico).
Una acción de Pasos o de Script también puede ejecutar un fragmento de código de AutoHotkey con la
función integrada AutoHotkeyExecuteScript. Se aplican la misma opción y el mismo ejecutable.
Variables de AutoHotkey
Cada ejecución de AutoHotkey empieza con unas líneas que Input.Observer agrega delante de su script,
que establecen variables IO_ a partir de lo que disparó la acción. Esto se aplica a una acción
escrita como AutoHotkey y al código que se ejecuta con AutoHotkeyExecuteScript, que recibe las
variables de la acción que lo llamó.
Cada ejecución establece estas tres:
| Variable | Contiene |
|---|---|
IO_ActionName | El nombre de la acción. Para un evento global, Global_Event_ seguido del nombre del evento en el archivo de configuración, como Global_Event_release o Global_Event_foreground_changed. Vacía cuando nada disparó la ejecución, como un script ejecutado desde la consola. |
IO_AppGroupName | El nombre del grupo de aplicaciones en el que se encontró la acción, como Global. Vacía para un evento global. |
IO_TriggerKind | Qué disparó la ejecución: Gesture, Hotkey, TextExpansion, MouseButton (un evento global de botón del mouse o de Botón de dibujo soltado), Wheel (un evento global de la rueda) o None. |
Las demás dependen del disparador, y solo se establecen las de ese disparador:
| Disparador | Variable | Contiene |
|---|---|---|
| Gesto | IO_GestureWindow | La ventana sobre la que empezó el gesto |
IO_GestureButton | El botón de dibujo: left, right, middle, x1 o x2 | |
IO_GestureStartX, IO_GestureStartY | Dónde empezó el trazo | |
IO_GestureEndX, IO_GestureEndY | Dónde terminó | |
IO_GestureBoundsLeft, IO_GestureBoundsTop, IO_GestureBoundsRight, IO_GestureBoundsBottom | El rectángulo que rodea todo el trazo | |
IO_GesturePoints | Cada punto del trazo en el orden en que se dibujó, como una matriz de matrices [x, y] | |
| Tecla de acceso rápido | IO_HotkeyWindow | La ventana que estaba al frente cuando se presionó la tecla de acceso rápido |
IO_HotkeyVkCode | El código de tecla virtual de Windows de la tecla final, como 75 para K | |
IO_HotkeyModifiers | Las teclas modificadoras de la combinación, sumadas: Ctrl 1, Shift 2, Alt 4, Win 8 (Ctrl+Alt es 5) | |
| Expansión de texto | IO_TextExpansionWindow | La ventana en la que escribió |
IO_TextExpansionPattern | La abreviatura que escribió | |
| Evento de botón del mouse | IO_MouseWindow | La ventana bajo el puntero |
IO_MouseButton | El botón: left, right, middle, x1 o x2 | |
IO_MouseX, IO_MouseY | Dónde estaba el puntero | |
| Evento de la rueda | IO_WheelWindow | La ventana bajo el puntero |
IO_WheelDelta | Cuánto giró la rueda, tal como lo informa Windows: 120 por cada muesca de una rueda normal (las ruedas de desplazamiento suave y los paneles táctiles envían pasos más pequeños), positivo al alejarse de usted (o hacia la derecha), negativo al acercarse (o hacia la izquierda) | |
IO_WheelHorizontal | true para un giro lateral de la rueda, false para uno normal | |
IO_WheelX, IO_WheelY | Dónde estaba el puntero |
- Las ventanas son identificadores de ventana, números que AutoHotkey lee como un id de ventana:
"ahk_id " IO_GestureWindownombra la ventana enWinActivate,WinGetTitley las demás funciones de ventana. - Las posiciones son coordenadas de pantalla en píxeles físicos, desde la esquina superior
izquierda del monitor principal. Establezca
CoordMode "Mouse", "Screen"antes de usarlas con las funciones del mouse de AutoHotkey, que de lo contrario trabajan en relación con la ventana activa. - El texto llega exactamente como era; las comillas, los acentos graves y los saltos de línea del nombre de una acción o de un grupo se escapan por usted.
- Una variable que el disparador no proporciona no se establece en absoluto, y AutoHotkey detiene
el script cuando lee una variable sin establecer. Una acción con varios tipos de disparador, o un
snippet llamado desde distintas acciones, debe revisar primero
IO_TriggerKind, o usarIsSet(IO_GestureWindow).
Por ejemplo, una acción que se ejecuta desde un gesto o una tecla de acceso rápido, trae al frente la ventana sobre la que se usó y muestra su título:
CoordMode "Mouse", "Screen"
win := IO_TriggerKind = "Gesture" ? IO_GestureWindow : IO_HotkeyWindow
WinActivate "ahk_id " win
MsgBox WinGetTitle("ahk_id " win), IO_ActionName
Motores de script de complementos
Un complemento puede agregar un motor de script propio. Aparece entonces en Escrita como con el nombre del complemento, y el texto que escribe ahí va al complemento exactamente como lo escribió; Input.Observer no lo revisa. Si ningún complemento en ejecución proporciona ese motor, la página advierte que la acción se omite al ejecutarse. Consulte Complementos.
En el modo Simple
El modo Simple muestra Escrita como solo para una acción que ya tiene un script o un contenido de AutoHotkey. Para cualquier otra acción, la tarjeta muestra directamente los pasos. Para escribir una acción nueva como script, cambie la ventana al modo Avanzado (La ventana de configuración).