So verwenden Sie AutoKey zur Automatisierung von Linux-Spielen

How Use Autokey Automate Linux Games



AutoKey ist ein Desktop-Automatisierungsdienstprogramm für Linux und X11, programmiert in Python 3, GTK und Qt. Mithilfe der Skript- und MACRO-Funktionalität können Sie Tastendrücke, Mausklicks und die meisten Teile einer Desktop-Oberfläche automatisieren. Wenn Sie nach einer Alternative zum Windows-Programm suchen AutoHotkey , AutoKey ist die beste Option, die heute für Linux-Benutzer verfügbar ist.

Beachten Sie, dass dies nur eine X11-Anwendung ist, Wayland-Unterstützung wurde der Anwendung zum Zeitpunkt des Schreibens dieses Artikels noch nicht hinzugefügt.







Einige der AutoKey-Funktionen sind:



  • Unterstützt Abkürzungen, die automatisch einige Zeichen in Ihre häufig verwendeten Sätze und Textblöcke erweitern können.
  • Unterstützt das Senden beliebiger Tastenanschläge und Mausklicks.
  • Unterstützt die Angabe von Regeln für ein bestimmtes Anwendungsfenster.
  • Python 3-Skripte können zum Schreiben von Automatisierungsregeln verwendet werden.
  • Möglichkeit, Fensterfunktionen wie Maximieren, Größenänderung und Verschieben zu steuern.
  • Kommt mit einer Reihe von vorkonfigurierten Beispielen für eine einfachere Skripterstellung.
  • Möglichkeit, benutzerdefinierte Menü-Popups mit einer Auswahlliste anzuzeigen.
  • Möglichkeit, Tastenanschläge und Mausklicks aufzuzeichnen.
  • Möglichkeit zum Festlegen von Hotkeys ohne Modifikatortasten.
  • Automatisierungsskripte sind portabel und können problemlos mit anderen Benutzern geteilt werden.

Dieses Handbuch zeigt Ihnen einige AutoKey-Beispiele, die für Linux-Spieler nützlich sind. Um zu beginnen, installieren wir Autokey Ubuntu-Pakete von der GitHub-Seite. Laden Sie die unten genannten Dateien herunter von Hier



  • autokey-common_x.xx.x-x_all.deb
  • autokey-gtk_x.xx.x-x_all.deb oder autokey-qt_x.xx.x-x_all.deb (nur einen herunterladen)

Führen Sie nach dem Herunterladen der Dateien die folgenden Befehle der Reihe nach aus:





$sudogeeignetInstallieren./autokey-common_0.95.8-0_all.deb
$sudogeeignetInstallieren./autokey-gtk_0.95.8-0_all.deb

Es ist üblich, dass viele PC-Spiele die Taste zum schnellen Speichern und zum schnellen Laden verwenden. Viele andere PC-Spiele, insbesondere Konsolenports, haben jedoch eine mühsame Möglichkeit, das Spiel zu speichern, bei der Sie durch mehrere Menüoptionen navigieren müssen. Hier ist ein kurzes Modell, das ich gezeichnet habe, das dies veranschaulicht (entschuldigen Sie meine Zeichenfähigkeiten):



Das Spiel möchte, dass Sie die Taste drücken, um das Spiel zu unterbrechen, dann die Pfeiltaste, dann die Taste zum Speichern des Spiels, gefolgt von der Taste erneut, um zum Spiel zurückzukehren. Dieser gesamte Prozess kann mit AutoKey leicht automatisiert und auf Schlüssel abgebildet werden. Sehen Sie sich den folgenden Skriptcode an:

importierenZeit
keyboard.send_key('')
zeit.schlaf(0,25)
keyboard.send_key('')
zeit.schlaf(0,25)
keyboard.send_key('')
zeit.schlaf(0,25)
keyboard.send_key('')

Um dieses Skript zu AutoKey hinzuzufügen, starten Sie die App und klicken Sie dann auf einen sichtbaren Ordner oder klicken Sie auf einen von Ihnen erstellten benutzerdefinierten Ordner, um ihn hervorzuheben. Klicke auf Datei > Neu > Skript Menüoption zum Erstellen eines neuen Skripts in diesem Ordner, wie im folgenden Screenshot gezeigt:

Benennen Sie dieses Skript in Quicksave um und fügen Sie den obigen Code darin ein. Klicken Sie dann unten auf die Hotkey-Schaltfläche, wie im Screenshot unten gezeigt:

Klicken Sie auf dem nächsten Bildschirm auf die Schaltfläche Zum Einstellen drücken und drücken Sie dann die Taste , um sie dem Skript zuzuordnen.

Taste:(Keiner)ändert sich zu Schlüssel:<f5>.

Klicken Sie auf OK und drücken Sie , um das Skript zu speichern. Denken Sie immer daran, das Skript zu speichern, da sonst nichts ausgeführt wird, wenn Sie den zugeordneten Hotkey drücken.

Die Quicksave-Tastenbelegung kann jetzt verwendet werden. Wenn Sie das nächste Mal die Taste drücken, wird eine Reihe von Tastendrücken der Reihe nach ausgeführt.

Beachten Sie, dass wir die Funktionalität des Schlüssels im gesamten Betriebssystem global geändert haben, solange AutoKey ausgeführt wird und an die Taskleiste angedockt ist. Um es auf ein bestimmtes Fenster oder eine bestimmte Anwendung zu beschränken, müssen Sie Fensterregeln festlegen, indem Sie unten auf die Schaltfläche Fensterfilter klicken.

Sie können dasselbe Skript oben verwenden, um auch ein Skript zum schnellen Laden zu erstellen. Sie müssen nur die Linie für die Pfeiltaste entfernen und dann das Skript der Taste zuordnen.

Wenn Sie nach korrekten Tastennamen für die Verwendung in AutoKey-Python-3-Skripten suchen, finden Sie eine Liste aller in AutoKey verwendbaren speziellen Tastencodes Hier . Jeder Schlüssel, der auf der obigen Seite nicht erwähnt wurde, kann mit einfachen oder doppelten Anführungszeichen eingefügt werden. Beispiel: keyboard.send_key(‘5‘), keyboard.send_key(‘p‘) und so weiter.

Beispiel 2: Trinken Sie zwei Heiltränke hintereinander in einem Rollenspiel

Angenommen, der Hotkey zum Trinken von Heiltränken in Ihrem Spiel ist , das Skript lautet:

keyboard.send_key('h',wiederholen=2)

Der Wert der Wiederholungsvariablen kann auch in eine beliebige andere Zahl geändert werden. Sie können den Schritten im ersten Beispiel folgen, um das Skript Ihrem gewünschten Hotkey zuzuordnen.

Beispiel 3: Burst-Modus für Gun in einem Shooter-Spiel

Mit dem folgenden Code können Sie den Schlüssel zuordnen, um dreimal hintereinander auf eine Waffe zu schießen. Die ursprüngliche Art, im Spiel zu schießen, besteht darin, einmal mit der linken Maustaste zu klicken.

# Maustasten: links=1, Mitte=2, rechts=3
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)

Das obige Skript wird dreimal hintereinander mit der linken Maustaste klicken. Zusätzliche Anweisungen können hinzugefügt werden, wenn Sie einen Linksklick mehr als dreimal ausführen möchten.

Sie können den Schritten im ersten Beispiel folgen, um das Skript einem Hotkey zuzuordnen.

Beispiel 4: Erstellen Sie ein benutzerdefiniertes Spielmenü / Verwandeln Sie ein Echtzeitspiel in ein rundenbasiertes Spiel

Mit der Listenmenüfunktion von AutoKey zeigen wir ein Menü als Overlay über einem laufenden Spiel. Dieses Menü stiehlt dem Spiel den Fokus und gibt ihn zurück, nachdem ein Mausklick auf einen der Menüpunkte ausgeführt wurde. Sobald der Fokus zurückgegeben wird, wird ein automatischer Tastendruck ausgeführt, der eine Funktion im Spiel aufruft.

Schauen Sie sich dieses Bild an:

Im GameMenu-Ordner habe ich einen Unterordner namens Show erstellt. Sowohl GameMenu als auch Show-Ordner haben untergeordnete Elemente. Hier ist der Code, den ich in jedes untergeordnete Element eingefügt habe:

  • Inventar: keyboard.send_key('i')
  • Karte: keyboard.send_key(‘m’)
  • Zurück zum Spiel: keyboard.send_key(‘‘)
  • Wechseln Sie zum Sturmgewehr: keyboard.send_key(‘2‘)
  • Wechseln Sie zu SMG: keyboard.send_key(‘1‘)

Hier ist der GameMenu-Ordner dem Schlüssel zugeordnet und so sieht es im laufenden Spiel aus:

Jedem Menüpunkt ist eine Nummer vor der Beschriftung vorangestellt. Sie können jeden Menüpunkt aufrufen, indem Sie die entsprechende Zifferntaste auf Ihrer Tastatur drücken. Wenn Sie beispielsweise hier die Taste drücken, wird die Waffe auf ein Sturmgewehr umgestellt.

Eine kleine GIF-Demo dieses Beispiels (klicken Sie auf das Bild oder klicken Sie mit der rechten Maustaste und öffnen Sie das GIF in einem neuen Tab, wenn die Animation unten stoppt):

Diese Methode funktioniert möglicherweise nicht bei allen Spielen, je nachdem, wie sie mit Fenster- und Vollbild-Rendering umgehen. Einige Spiele pausieren nicht, wenn der Fokus gestohlen wird, während andere dies tun. Wenn das Spiel pausiert, wenn der Fokus verloren geht, haben Sie mit diesem AutoKey-Skript ein Echtzeitspiel im Wesentlichen in ein rundenbasiertes Spiel umgewandelt.

Dieses Beispiel funktioniert von Fall zu Fall mit Spielen. In meinen Tests habe ich jedoch sowohl mit nativen als auch mit Steam Proton / Wine-Spielen ziemlich gute Ergebnisse erzielt.

Abschluss

Alle hier erwähnten Beispiele sind einfach und richten sich hauptsächlich an Linux-Spieler. Sie decken nur einen Teil der leistungsstarken API von AutoKey ab. AutoKey kann mit seinen Skriptfunktionen auch für alltägliche oder komplexe Software einen Großteil Ihres Workflows automatisieren. Ein paar weitere Beispiele finden Sie in der offizielle Dokumentation der App.