Étapes, Script et AutoHotkey
Ce que fait une action peut s'écrire de trois façons. Rédigée sous forme de, sur la carte Ce qu'elle fait de la page Actions, choisit celle qui s'exécute.
| Mode | Ce que c'est | À choisir quand |
|---|---|---|
| Étapes | Une liste d'étapes que vous choisissez et renseignez, une par ligne. Aucun code à taper. | Vous voulez construire l'action sans écrire de code. La plupart des actions s'y prêtent : envoyer des touches, taper du texte, déplacer ou fermer des fenêtres, attendre, poser une question. |
| Script | Le langage de script propre à Input.Observer, tapé dans un éditeur de code. | Vous avez besoin de calculs, de construire du texte à partir de morceaux, de boucles qui comptent avec une variable, ou de tout ce que les étapes ne peuvent pas exprimer. |
| AutoHotkey | Un script AutoHotkey v2, exécuté par AutoHotkey lui-même. | Vous avez déjà du code AutoHotkey, ou avez besoin de quelque chose que seul AutoHotkey sait faire. |
Étapes et Script s'exécutent dans Input.Observer et appellent les mêmes fonctions intégrées : les étapes sont une façon visuelle d'écrire ce que ferait un script. Voir Étapes et la Référence du langage de script.
Chaque mode conserve son propre contenu
Une action contient côte à côte un contenu Étapes, un contenu Script et un contenu AutoHotkey. Changer Rédigée sous forme de ① change celui qui s'exécute. Cela ne supprime jamais les autres : vous pouvez donc revenir en arrière.
Si le mode sélectionné est vide alors qu'un autre mode a du contenu, une notice sous le sélecteur indique que l'exécution de l'action ne fait rien, et propose un bouton pour utiliser le mode qui a du contenu.
Passer des étapes au script
Quand vous passez d'Étapes à Script alors que l'action a des étapes et que son contenu Script est vide, Input.Observer propose de traduire les étapes : Convertir les étapes en script ? Choisissez Convertir pour placer la traduction dans l'éditeur de script.
- Les étapes restent telles quelles. Revenir à Étapes les affiche inchangées.
- Rien n'est reconverti. Un script ne peut pas être transformé en étapes.
- Les étapes qui utilisent Répéter tant que…, Répéter jusqu'à ce que…, Sortir de la boucle ou Arrêter les étapes ne sont pas proposées à la traduction, car Script n'a pas d'instructions équivalentes. Vous pouvez quand même changer de mode ; le contenu Script commence simplement vide.
- AutoHotkey n'est jamais converti, ni dans un sens ni dans l'autre.
- Quand les étapes sont un enregistrement de la page Enregistreur, la boîte de dialogue indique aussi que le script ignore Vitesse de relecture et Précision du trajet de la souris en relecture : ses attentes s'exécutent à la vitesse enregistrée et chaque mouvement de souris enregistré est rejoué (Paramètres de l'enregistreur).
Des étapes au script montre ce que devient chaque type d'étape.
AutoHotkey
AutoHotkey est un programme distinct qu'Input.Observer démarre quand une action AutoHotkey s'exécute. Il n'est pas inclus ; vous installez vous-même AutoHotkey v2 et indiquez à Input.Observer où il se trouve.
- Installez AutoHotkey v2.
- Sur la page Général, activez Activer AutoHotkey et définissez Exécutable AutoHotkey sur
son fichier programme, comme
AutoHotkey64.exe. - AutoHotkey apparaît maintenant sous Rédigée sous forme de. Appliquez vos modifications pour que le moteur utilise le nouveau paramètre.
Les règles :
- AutoHotkey n'est proposé sous Rédigée sous forme de que tant qu'Activer AutoHotkey est activé, ou quand l'action s'exécute déjà comme AutoHotkey. Une action AutoHotkey avec AutoHotkey désactivé ne fait rien, et la page l'indique.
- Utilisez une version normale d'AutoHotkey. Les versions dont le nom contient
_UIA, commeAutoHotkey64_UIA.exe, ne peuvent pas exécuter de scripts depuis Input.Observer. - Quand AutoHotkey est activé mais que son programme est introuvable au démarrage ou au rechargement de la configuration, Input.Observer vous propose Rechercher l'exécutable AutoHotkey ou Laisser tel quel.
- Chaque exécution démarre un nouveau processus AutoHotkey avec votre script. Il ne peut pas appeler les fonctions intégrées d'Input.Observer, et il s'exécute jusqu'à ce qu'il se termine de lui-même ; le raccourci d'arrêt de toutes les actions y met fin.
- Avant votre script, Input.Observer définit des variables qui décrivent le déclencheur, comme
IO_ActionName,IO_TriggerKindet la fenêtre du geste ou du raccourci (Variables AutoHotkey). La liste Variables disponibles ici de l'éditeur affiche celles que fournissent les déclencheurs de l'action ; cliquez sur l'une d'elles pour l'insérer. - Ce que le script écrit sur sa sortie standard apparaît dans la console de diagnostic, précédé de
AHK:(La console de diagnostic).
Une action Étapes ou Script peut aussi exécuter un morceau de code AutoHotkey avec la fonction intégrée
AutoHotkeyExecuteScript. Le même paramètre et le même exécutable s'appliquent.
Variables AutoHotkey
Chaque exécution d'AutoHotkey commence par quelques lignes qu'Input.Observer ajoute avant votre script,
et qui définissent des variables IO_ à partir de ce qui a déclenché l'action. Cela s'applique à une
action écrite en AutoHotkey et au code exécuté avec AutoHotkeyExecuteScript, qui reçoit les variables
de l'action qui l'a appelé.
Chaque exécution définit ces trois-là :
| Variable | Contient |
|---|---|
IO_ActionName | Le nom de l'action. Pour un événement global, Global_Event_ suivi du nom de l'événement dans le fichier de configuration, comme Global_Event_release ou Global_Event_foreground_changed. Vide quand rien n'a déclenché l'exécution, par exemple pour un script exécuté depuis la console. |
IO_AppGroupName | Le nom du groupe d'applications où l'action a été trouvée, comme Global. Vide pour un événement global. |
IO_TriggerKind | Ce qui a déclenché l'exécution : Gesture, Hotkey, TextExpansion, MouseButton (un événement global de bouton de souris ou Bouton de tracé relâché), Wheel (un événement global de molette) ou None. |
Les autres dépendent du déclencheur, et seules celles de ce déclencheur sont définies :
| Déclencheur | Variable | Contient |
|---|---|---|
| Geste | IO_GestureWindow | La fenêtre sur laquelle le geste a commencé |
IO_GestureButton | Le bouton de tracé : left, right, middle, x1 ou x2 | |
IO_GestureStartX, IO_GestureStartY | Où le tracé a commencé | |
IO_GestureEndX, IO_GestureEndY | Où il s'est terminé | |
IO_GestureBoundsLeft, IO_GestureBoundsTop, IO_GestureBoundsRight, IO_GestureBoundsBottom | Le rectangle englobant tout le tracé | |
IO_GesturePoints | Chaque point du tracé dans l'ordre du tracé, sous forme de tableau de tableaux [x, y] | |
| Raccourci | IO_HotkeyWindow | La fenêtre au premier plan quand le raccourci a été enfoncé |
IO_HotkeyVkCode | Le code de touche virtuelle Windows de la dernière touche, comme 75 pour K | |
IO_HotkeyModifiers | Les touches de modification de la combinaison, additionnées : Ctrl 1, Maj 2, Alt 4, Windows 8 (Ctrl+Alt vaut 5) | |
| Expansion de texte | IO_TextExpansionWindow | La fenêtre dans laquelle vous avez tapé |
IO_TextExpansionPattern | L'abréviation que vous avez tapée | |
| Événement de bouton de souris | IO_MouseWindow | La fenêtre sous le pointeur |
IO_MouseButton | Le bouton : left, right, middle, x1 ou x2 | |
IO_MouseX, IO_MouseY | Où se trouvait le pointeur | |
| Événement de molette | IO_WheelWindow | La fenêtre sous le pointeur |
IO_WheelDelta | De combien la molette a tourné, tel que Windows l'indique : 120 pour un cran d'une molette ordinaire (les molettes à défilement fluide et les pavés tactiles envoient des pas plus petits), positif en s'éloignant de vous (ou vers la droite), négatif vers vous (ou vers la gauche) | |
IO_WheelHorizontal | true pour une rotation latérale de la molette, false pour une rotation ordinaire | |
IO_WheelX, IO_WheelY | Où se trouvait le pointeur |
- Les fenêtres sont des handles de fenêtre, des nombres qu'AutoHotkey lit comme identifiant de
fenêtre :
"ahk_id " IO_GestureWindowdésigne la fenêtre dansWinActivate,WinGetTitleet les autres fonctions de fenêtre. - Les positions sont des coordonnées d'écran en pixels physiques, depuis le coin supérieur gauche
de l'écran principal. Définissez
CoordMode "Mouse", "Screen"avant de les utiliser avec les fonctions de souris d'AutoHotkey, qui sinon travaillent par rapport à la fenêtre active. - Le texte arrive exactement tel qu'il était ; les guillemets, accents graves et sauts de ligne dans un nom d'action ou de groupe sont échappés pour vous.
- Une variable que le déclencheur ne fournit pas n'est pas définie du tout, et AutoHotkey arrête le
script quand il lit une variable non définie. Une action ayant plusieurs types de déclencheurs, ou un
extrait appelé depuis différentes actions, doit d'abord vérifier
IO_TriggerKind, ou utiliserIsSet(IO_GestureWindow).
Par exemple, une action exécutée depuis un geste ou un raccourci, qui met au premier plan la fenêtre sur laquelle elle a été utilisée et affiche son titre :
CoordMode "Mouse", "Screen"
win := IO_TriggerKind = "Gesture" ? IO_GestureWindow : IO_HotkeyWindow
WinActivate "ahk_id " win
MsgBox WinGetTitle("ahk_id " win), IO_ActionName
Moteurs de script des plugins
Un plugin peut ajouter son propre moteur de script. Celui-ci apparaît alors sous Rédigée sous forme de avec le nom du plugin, et le texte que vous y tapez est transmis au plugin tel quel ; Input.Observer ne le vérifie pas. Si aucun plugin en cours d'exécution ne fournit ce moteur, la page avertit que l'action sera ignorée à l'exécution. Voir Plugins.
En mode Simple
Le mode Simple n'affiche Rédigée sous forme de que pour une action qui a déjà un script ou un contenu AutoHotkey. Pour toute autre action, la carte affiche directement les étapes. Pour écrire une nouvelle action sous forme de script, passez la fenêtre en mode Avancé (La fenêtre de configuration).