Spiele

So verwenden Sie AutoKey zur Automatisierung von Linux-Spielen

So verwenden Sie AutoKey zur Automatisierung von Linux-Spielen
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 AutoHotkey suchen, ist AutoKey die beste Option, die heute für Linux-Benutzer verfügbar ist.

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

Einige der AutoKey-Funktionen sind:

Diese Anleitung 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 hier herunter

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

$ sudo apt installieren ./autokey-common_0.95.8-0_all.deb
$ sudo apt installieren ./autokey-gtk_0.95.8-0_all.deb

Beispiel 1: Einstellung Schlüssel für die automatische Spielspeicherung

Es ist üblich, dass viele PC-Spiele mit Taste zum schnellen Speichern und zum schnellen Laden. Viele andere PC-Spiele, insbesondere Konsolenports, haben jedoch eine mühsame Methode zum Speichern des Spiels, 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 will, dass du triffst Taste, um das Spiel zu pausieren, dann Pfeiltaste, dann Taste, um das Spiel zu speichern, gefolgt von erneut drücken, um zum Spiel zurückzukehren. Dieser gesamte Prozess lässt sich leicht automatisieren und auf Schlüssel mit AutoKey. Sehen Sie sich den folgenden Skriptcode an:

Importzeit
Tastatur.send_key('')
Zeit.schlafen(0.25)
Tastatur.send_key('')
Zeit.schlafen(0.25)
Tastatur.send_key('')
Zeit.schlafen(0.25)
Tastatur.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 zu markieren. 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 Schaltfläche „Hotkey“, 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 Taste, um es dem Skript zuzuordnen.

„Taste: (Keine)“ ändert sich in „Taste: ”.

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

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

Beachten Sie, dass wir die Funktionalität von . geändert haben Schlüssel global im gesamten Betriebssystem, 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 Zeile für entfernen Pfeiltaste und ordnen Sie das Skript dann zu Schlüssel.

Wenn Sie nach korrekten Tastennamen für die Verwendung in AutoKey-Python-3-Skripten suchen, finden Sie hier eine Liste aller in AutoKey verwendbaren speziellen Tastencodes. Jeder Schlüssel, der auf der obigen Seite nicht erwähnt wurde, kann mit einfachen oder doppelten Anführungszeichen eingefügt werden. Beispiel: Tastatur.send_key('5'), Tastatur.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 wäre:

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

Der Wert der Wiederholungsvariablen kann auch auf eine andere Zahl geändert werden. Sie können die Schritte im ersten Beispiel befolgen, 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 eine Zuordnung vornehmen Schlüssel, um dreimal hintereinander mit einer 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
Maus.click_relative_self(0, 0, 1)
Maus.click_relative_self(0, 0, 1)
Maus.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 die Schritte im ersten Beispiel befolgen, um das Skript zuzuordnen Hotkey.

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 Ordner „GameMenu“ habe ich einen Unterordner namens „Show“ angelegt. Sowohl der Ordner „GameMenu“ als auch der Ordner „Show“ haben untergeordnete Elemente. Hier ist der Code, den ich in jedes untergeordnete Element eingefügt habe:

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

Hier wird der Ordner „GameMenu“ zugeordnet key 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. Drücken Sie zum Beispiel <2> Taste hier schaltet die Waffe auf Sturmgewehr um.

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.

Fazit

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 offiziellen Dokumentation der App.

So installieren und konfigurieren Sie GitLab CE unter Ubuntu 18.04 LTS
GitLab ist ein webbasierter und Open-Source-Git-Repository-Manager. Es ist in Ruby geschrieben und bietet zahlreiche Funktionen wie Code-Review, Monit...
So installieren Sie RabbitMQ Server unter Ubuntu 18.04 LTS
RabbitMQ ist die beliebteste kostenlose und Open Source Message-Queueing- oder Message-Broker-Software. RabbitMQ implementierte ursprünglich das Advan...
So installieren Sie phpMyAdmin mit LAMP-Stack auf Ubuntu
LAMP ist ein Akronym für Linux, Apache, MySQL, PHP. PhpMyAdmin ist ein bekanntes kostenloses und Open Source, ein voll funktionsfähiges webbasiertes F...