Aller au contenu principal

É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.

Ce qu'elle fait
Rédigée sous forme de
ÉtapesScriptAutoHotkey
Chaque mode conserve son propre contenu. Seul le mode sélectionné est exécuté.
ModeCe que c'estÀ choisir quand
ÉtapesUne 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.
ScriptLe 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.
AutoHotkeyUn 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.

  1. Installez AutoHotkey v2.
  2. Sur la page Général, activez Activer AutoHotkey et définissez Exécutable AutoHotkey sur son fichier programme, comme AutoHotkey64.exe.
  3. 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, comme AutoHotkey64_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_TriggerKind et 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à :

VariableContient
IO_ActionNameLe 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_AppGroupNameLe nom du groupe d'applications où l'action a été trouvée, comme Global. Vide pour un événement global.
IO_TriggerKindCe 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éclencheurVariableContient
GesteIO_GestureWindowLa fenêtre sur laquelle le geste a commencé
IO_GestureButtonLe bouton de tracé : left, right, middle, x1 ou x2
IO_GestureStartX, IO_GestureStartYOù le tracé a commencé
IO_GestureEndX, IO_GestureEndYOù il s'est terminé
IO_GestureBoundsLeft, IO_GestureBoundsTop, IO_GestureBoundsRight, IO_GestureBoundsBottomLe rectangle englobant tout le tracé
IO_GesturePointsChaque point du tracé dans l'ordre du tracé, sous forme de tableau de tableaux [x, y]
RaccourciIO_HotkeyWindowLa fenêtre au premier plan quand le raccourci a été enfoncé
IO_HotkeyVkCodeLe code de touche virtuelle Windows de la dernière touche, comme 75 pour K
IO_HotkeyModifiersLes touches de modification de la combinaison, additionnées : Ctrl 1, Maj 2, Alt 4, Windows 8 (Ctrl+Alt vaut 5)
Expansion de texteIO_TextExpansionWindowLa fenêtre dans laquelle vous avez tapé
IO_TextExpansionPatternL'abréviation que vous avez tapée
Événement de bouton de sourisIO_MouseWindowLa fenêtre sous le pointeur
IO_MouseButtonLe bouton : left, right, middle, x1 ou x2
IO_MouseX, IO_MouseYOù se trouvait le pointeur
Événement de moletteIO_WheelWindowLa fenêtre sous le pointeur
IO_WheelDeltaDe 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_WheelHorizontaltrue pour une rotation latérale de la molette, false pour une rotation ordinaire
IO_WheelX, IO_WheelYOù 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_GestureWindow désigne la fenêtre dans WinActivate, WinGetTitle et 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 utiliser IsSet(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).