Zum Hauptinhalt springen

Schritte, Skript und AutoHotkey

Was eine Aktion tut, lässt sich auf drei Arten schreiben. Geschrieben als auf der Karte Was sie tut der Seite Aktionen wählt, welche ausgeführt wird.

Was sie tut
Geschrieben als
SchritteSkriptAutoHotkey
Jeder Modus behält seinen eigenen Inhalt. Nur der ausgewählte wird ausgeführt.
ModusWas er istWählen Sie ihn, wenn
SchritteEine Liste von Schritten, die Sie auswählen und ausfüllen, einer pro Zeile. Kein Code zu tippen.Sie die Aktion ohne Code aufbauen möchten. Die meisten Aktionen passen dazu: Tasten senden, Text tippen, Fenster verschieben oder schließen, warten, eine Frage stellen.
SkriptDie eigene Skriptsprache von Input.Observer, getippt in einem Code-Editor.Sie rechnen, Text aus Teilen zusammensetzen, Schleifen mit einer Zählvariablen bilden oder etwas tun müssen, das Schritte nicht ausdrücken können.
AutoHotkeyEin AutoHotkey-v2-Skript, ausgeführt von AutoHotkey selbst.Sie bereits AutoHotkey-Code haben oder etwas brauchen, das nur AutoHotkey kann.

Schritte und Skript laufen in Input.Observer und rufen dieselben integrierten Funktionen auf: Schritte sind eine visuelle Art, das zu schreiben, was ein Skript tun würde. Siehe Schritte und die Referenz der Skriptsprache.

Jeder Modus behält seinen eigenen Inhalt​

Eine Aktion enthält nebeneinander einen Inhalt für Schritte, einen für Skript und einen für AutoHotkey. Ein Wechsel von Geschrieben als ① ändert, welcher ausgeführt wird. Er löscht die anderen nie, Sie können also zurückwechseln.

Ist der gewählte Modus leer, während ein anderer Modus Inhalt hat, sagt ein Hinweis unter dem Umschalter, dass das Ausführen der Aktion nichts bewirkt, und bietet eine Schaltfläche, um den Modus mit Inhalt zu verwenden.

Von Schritten zu Skript wechseln​

Wechseln Sie von Schritte zu Skript, während die Aktion Schritte hat und ihr Skriptinhalt leer ist, bietet Input.Observer an, die Schritte zu übersetzen: Schritte in ein Skript konvertieren? Wählen Sie Konvertieren, um die Übersetzung in den Skripteditor zu übernehmen.

  • Die Schritte bleiben, wie sie sind. Ein Wechsel zurück zu Schritte zeigt sie unverändert.
  • Nichts wird zurückkonvertiert. Ein Skript lässt sich nicht in Schritte umwandeln.
  • Schritte mit Wiederholen, solange…, Wiederholen, bis…, Schleife verlassen oder Schritte beenden werden nicht zur Übersetzung angeboten, weil das Skript keine entsprechenden Anweisungen hat. Sie können trotzdem wechseln; der Skriptinhalt beginnt dann einfach leer.
  • AutoHotkey wird nie in etwas anderes oder aus etwas anderem konvertiert.
  • Sind die Schritte eine Aufzeichnung der Seite Rekorder, sagt das Dialogfeld außerdem, dass das Skript Wiedergabegeschwindigkeit und Detailgrad der Mausbewegung bei der Wiedergabe ignoriert: Seine Wartezeiten laufen in der aufgezeichneten Geschwindigkeit, und jede aufgezeichnete Mausbewegung wird wiedergegeben (Einstellungen des Rekorders).

Von Schritten zum Skript zeigt, was aus jeder Art von Schritt wird.

AutoHotkey​

AutoHotkey ist ein eigenes Programm, das Input.Observer startet, wenn eine AutoHotkey-Aktion ausgeführt wird. Es ist nicht enthalten; Sie installieren AutoHotkey v2 selbst und sagen Input.Observer, wo es liegt.

  1. Installieren Sie AutoHotkey v2.
  2. Schalten Sie auf der Seite Allgemein AutoHotkey aktivieren ein, und legen Sie unter Ausführbare AutoHotkey-Datei seine Programmdatei fest, etwa AutoHotkey64.exe.
  3. AutoHotkey erscheint jetzt unter Geschrieben als. Wenden Sie Ihre Änderungen an, damit die Engine die neue Einstellung verwendet.

Die Regeln:

  • AutoHotkey wird unter Geschrieben als nur angeboten, solange AutoHotkey aktivieren eingeschaltet ist oder die Aktion bereits als AutoHotkey ausgeführt wird. Eine AutoHotkey-Aktion bei ausgeschaltetem AutoHotkey tut nichts, und die Seite sagt das.
  • Verwenden Sie einen normalen AutoHotkey-Build. Die Builds mit _UIA im Namen, etwa AutoHotkey64_UIA.exe, können keine Skripte von Input.Observer ausführen.
  • Ist AutoHotkey eingeschaltet, sein Programm beim Start oder beim Neuladen der Konfiguration aber nicht auffindbar, fragt Input.Observer, ob Sie Nach der ausführbaren AutoHotkey-Datei suchen oder Unverändert lassen möchten.
  • Jede Ausführung startet einen neuen AutoHotkey-Prozess mit Ihrem Skript. Er kann die integrierten Funktionen von Input.Observer nicht aufrufen und läuft, bis er von selbst endet; der Hotkey zum Stoppen aller Aktionen beendet ihn.
  • Vor Ihrem Skript setzt Input.Observer Variablen, die den Auslöser beschreiben, etwa IO_ActionName, IO_TriggerKind und das Fenster der Geste oder des Hotkeys (AutoHotkey-Variablen). Die Liste Hier verfügbare Variablen des Editors zeigt die, die die Auslöser der Aktion liefern; klicken Sie auf eine, um sie einzufügen.
  • Was das Skript in seine Standardausgabe schreibt, erscheint in der Diagnosekonsole, beginnend mit AHK: (Die Diagnosekonsole).

Eine Aktion aus Schritten oder Skript kann mit der integrierten Funktion AutoHotkeyExecuteScript auch ein Stück AutoHotkey-Code ausführen. Es gelten dieselbe Einstellung und dieselbe Programmdatei.

AutoHotkey-Variablen​

Jede AutoHotkey-Ausführung beginnt mit einigen Zeilen, die Input.Observer Ihrem Skript voranstellt und die IO_-Variablen aus dem setzen, was die Aktion ausgelöst hat. Das gilt für eine als AutoHotkey geschriebene Aktion und für mit AutoHotkeyExecuteScript ausgeführten Code, der die Variablen der aufrufenden Aktion erhält.

Jede Ausführung setzt diese drei:

VariableEnthält
IO_ActionNameDen Namen der Aktion. Bei einem globalen Ereignis Global_Event_, gefolgt vom Namen des Ereignisses in der Konfigurationsdatei, etwa Global_Event_release oder Global_Event_foreground_changed. Leer, wenn nichts die Ausführung ausgelöst hat, etwa bei einem in der Konsole ausgeführten Skript.
IO_AppGroupNameDen Namen der App-Gruppe, in der die Aktion gefunden wurde, etwa Global. Leer bei einem globalen Ereignis.
IO_TriggerKindWas die Ausführung ausgelöst hat: Gesture, Hotkey, TextExpansion, MouseButton (ein globales Ereignis für eine Maustaste oder Zeichentaste losgelassen), Wheel (ein globales Mausradereignis) oder None.

Die übrigen hängen vom Auslöser ab, und nur die dieses Auslösers werden gesetzt:

AuslöserVariableEnthält
GesteIO_GestureWindowDas Fenster, über dem die Geste begonnen hat
IO_GestureButtonDie Zeichentaste: left, right, middle, x1 oder x2
IO_GestureStartX, IO_GestureStartYWo der Strich begonnen hat
IO_GestureEndX, IO_GestureEndYWo er geendet hat
IO_GestureBoundsLeft, IO_GestureBoundsTop, IO_GestureBoundsRight, IO_GestureBoundsBottomDas Rechteck um den ganzen Strich
IO_GesturePointsJeden Punkt des Strichs in Zeichenreihenfolge, als Array von [x, y]-Arrays
HotkeyIO_HotkeyWindowDas Fenster im Vordergrund, als der Hotkey gedrückt wurde
IO_HotkeyVkCodeDen virtuellen Windows-Tastencode der letzten Taste, etwa 75 für K
IO_HotkeyModifiersDie Zusatztasten der Kombination, addiert: Strg 1, Umschalt 2, Alt 4, Windows 8 (Strg+Alt ist 5)
TexterweiterungIO_TextExpansionWindowDas Fenster, in das Sie getippt haben
IO_TextExpansionPatternDas getippte Kürzel
MaustastenereignisIO_MouseWindowDas Fenster unter dem Mauszeiger
IO_MouseButtonDie Taste: left, right, middle, x1 oder x2
IO_MouseX, IO_MouseYWo der Mauszeiger war
MausradereignisIO_WheelWindowDas Fenster unter dem Mauszeiger
IO_WheelDeltaWie weit sich das Rad gedreht hat, wie Windows es meldet: 120 für eine Raste eines gewöhnlichen Rads (Räder mit sanftem Scrollen und Touchpads senden kleinere Schritte), positiv von Ihnen weg (oder nach rechts), negativ zu Ihnen hin (oder nach links)
IO_WheelHorizontaltrue für eine seitliche Raddrehung, false für eine gewöhnliche
IO_WheelX, IO_WheelYWo der Mauszeiger war
  • Fenster sind Fensterhandles, Zahlen, die AutoHotkey als Fenster-ID liest: "ahk_id " IO_GestureWindow benennt das Fenster in WinActivate, WinGetTitle und den anderen Fensterfunktionen.
  • Positionen sind Bildschirmkoordinaten in physischen Pixeln, ab der linken oberen Ecke des Hauptmonitors. Setzen Sie CoordMode "Mouse", "Screen", bevor Sie sie mit den Mausfunktionen von AutoHotkey verwenden, die sonst relativ zum aktiven Fenster arbeiten.
  • Text kommt genau so an, wie er war; Anführungszeichen, Backticks und Zeilenumbrüche in einem Aktions- oder Gruppennamen werden für Sie maskiert.
  • Eine Variable, die der Auslöser nicht liefert, wird überhaupt nicht gesetzt, und AutoHotkey stoppt das Skript, wenn es eine nicht gesetzte Variable liest. Eine Aktion mit mehreren Arten von Auslösern oder ein Snippet, das von verschiedenen Aktionen aufgerufen wird, sollte zuerst IO_TriggerKind prüfen oder IsSet(IO_GestureWindow) verwenden.

Zum Beispiel eine Aktion, die über eine Geste oder einen Hotkey ausgeführt wird, das Fenster, auf dem sie verwendet wurde, in den Vordergrund holt und seinen Titel anzeigt:

CoordMode "Mouse", "Screen"
win := IO_TriggerKind = "Gesture" ? IO_GestureWindow : IO_HotkeyWindow
WinActivate "ahk_id " win
MsgBox WinGetTitle("ahk_id " win), IO_ActionName

Skript-Engines von Plug-ins​

Ein Plug-in kann eine eigene Skript-Engine hinzufügen. Sie erscheint dann unter Geschrieben als mit dem Namen des Plug-ins, und der Text, den Sie dort tippen, geht genau so an das Plug-in; Input.Observer prüft ihn nicht. Stellt kein laufendes Plug-in diese Engine bereit, warnt die Seite, dass die Aktion bei der Ausführung übersprungen wird. Siehe Plug-ins.

Im Modus „Einfach“​

Der Modus „Einfach“ zeigt Geschrieben als nur bei einer Aktion, die bereits ein Skript oder einen AutoHotkey-Inhalt hat. Bei jeder anderen Aktion zeigt die Karte direkt die Schritte. Um eine neue Aktion als Skript zu schreiben, schalten Sie das Fenster in den Modus „Erweitert“ (Das Konfigurationsfenster).