Sådan bruges AutoKey til at automatisere Linux -spil

How Use Autokey Automate Linux Games



AutoKey er et desktop automatiseringsværktøj til Linux og X11, programmeret i Python 3, GTK og Qt. Ved hjælp af scripting og MACRO -funktionalitet kan du automatisere tastetryk, museklik og de fleste dele af en desktop -grænseflade. Hvis du leder efter et alternativ til Windows -program AutoHotkey , AutoKey er den bedste løsning, der er tilgængelig i dag for Linux -brugere.

Bemærk, at dette kun er en X11 -applikation. Wayland -support er ikke blevet føjet til applikationen på tidspunktet for denne artikels skrivning.





Nogle af AutoKey -funktionerne er:



  • Understøtter forkortelser, der automatisk kan udvide et par tegn til en af ​​dine almindeligt anvendte sætninger og tekstblokke.
  • Understøtter afsendelse af vilkårlige tastetryk og museklik.
  • Understøtter angivelse af regler for et specifikt programvindue.
  • Python 3 -scripts kan bruges til at skrive automatiseringsregler.
  • Evne til at styre vinduesfunktioner som maksimering, ændring af størrelse og flytning.
  • Leveres med et sæt forudkonfigurerede eksempler til lettere scripting.
  • Mulighed for at vise brugerdefinerede menupop -vinduer med en liste over valgmuligheder.
  • Mulighed for at registrere tastetryk og museklik.
  • Mulighed for at indstille genvejstaster uden ændringstaster.
  • Automatiseringsscripts er bærbare og kan let deles med andre brugere.

Denne vejledning viser dig nogle AutoKey -eksempler, der er nyttige til Linux -spillere. For at komme i gang, lad os installere Autokey Ubuntu -pakker fra dens GitHub -side. Download nedenstående filer fra her



  • autokey-common_x.xx.x-x_all.deb
  • autokey-gtk_x.xx.x-x_all.deb eller autokey-qt_x.xx.x-x_all.deb (download kun én)

Efter download af filerne skal du køre følgende kommandoer i rækkefølge:





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

Det er almindeligt at se mange pc -spil ved hjælp af nøgle til hurtig opbevaring og hurtig indlæsning. Mange andre pc -spil, især konsolporte, har imidlertid en kedelig måde at gemme spil på, hvor du skal navigere gennem flere menuindstillinger. Her er en hurtig mockup, jeg har tegnet, der illustrerer dette (undskyld mine tegnefærdigheder):



Spillet vil have dig til at trykke på tasten for at sætte spillet på pause, derefter piletasten, derefter tasten for at gemme spillet, efterfulgt af tasten igen for at vende tilbage til spillet. Hele denne proces kan let automatiseres og kortlægges til nøgle ved hjælp af AutoKey. Tjek scriptkoden herunder:

importeretid
tastatur.sende_nøgle('')
tid. sover(0,25)
tastatur.sende_nøgle('')
tid. sover(0,25)
tastatur.sende_nøgle('')
tid. sover(0,25)
tastatur.sende_nøgle('')

For at tilføje dette script til AutoKey skal du starte appen og derefter klikke på en synlig mappe eller klikke på en tilpasset mappe, der er oprettet af dig for at fremhæve den. Klik på Fil> Ny> Script menuindstilling for at oprette et nyt script inde i den mappe, som vist på skærmbilledet herunder:

Omdøb dette script til Quicksave og sæt ovenstående kode i det. Klik derefter på genvejstasten nederst, som vist på skærmbilledet herunder:

På den næste skærm skal du klikke på knappen Tryk for at indstille og derefter trykke på tasten for at tilknytte det til scriptet.

Nøgle:(Ingen)ændres til nøgle:<f5>.

Klik på OK, og tryk på for at gemme scriptet. Husk altid at gemme scriptet, ellers vil der ikke blive udført noget, når du trykker på den kortlagte genvejstast.

Quicksave keymapping er nu klar til brug. Næste gang du trykker på tasten, udføres en række tastetryk i rækkefølge.

Bemærk, at vi har ændret nøglens funktionalitet globalt i hele OS, så længe AutoKey kører og ligger i systembakken. For at begrænse det til et bestemt vindue eller et bestemt program skal du angive vinduesregler ved at klikke på knappen Vinduesfilter nederst.

Du kan også bruge det samme script ovenfor til at oprette et script til hurtig indlæsning. Du skal bare fjerne linjen for piletasten og derefter tilknytte scriptet til nøgle.

Hvis du leder efter korrekte nøglenavne til brug i AutoKey Python 3 -scripts, kan du finde en liste over alle særlige nøglekoder, der kan bruges i AutoKey her . Enhver nøgle, der ikke er nævnt på siden ovenfor, kan indsættes ved hjælp af enkelte eller dobbelte anførselstegn. Eksempel: keyboard.send_key ('5'), keyboard.send_key ('p') og så videre.

Eksempel 2: Drik to sundhedsdrikker i en række i et rollespil

Forudsat at genvejstasten drikker sundhedsdrik i dit spil, er scriptet:

tastatur.sende_nøgle('h',gentage=2)

Værdien af ​​gentagelsesvariablen kan også ændres til et hvilket som helst andet tal. Du kan følge trinene i det første eksempel for at tilknytte scriptet til din ønskede genvejstast.

Eksempel 3: Burst -tilstand for pistol i et skydespil

Ved hjælp af koden herunder kan du kortlægge nøgle til at skyde en pistol tre gange i træk. Den originale måde at skyde i spillet er at trykke på venstre museklik en gang.

# museknapper: venstre = 1, midten = 2, højre = 3
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)

Ovenstående script vil udføre venstre museklik tre gange i træk. Ekstra udsagn kan tilføjes, hvis du vil udføre venstre klik mere end tre gange.

Du kan følge trinene i det første eksempel for at tilknytte scriptet til genvejstast.

Eksempel 4: Opret en brugerdefineret spilmenu / Gør et spil i realtid til et turbaseret spil

Ved hjælp af listemenufunktionen i AutoKey viser vi en menu som et overlay oven på et løbende spil. Denne menu stjæler fokus fra spillet og returnerer det, efter et museklik er udført på et af menupunkterne. Når fokus er returneret, udføres et automatisk tastetryk, der påkalder en funktion inde i spillet.

Tag et kig på dette billede:

I mappen GameMenu har jeg oprettet en undermappe kaldet Vis. Både GameMenu og Show -mappen har underordnede elementer. Her er koden, jeg har lagt inde i hvert underordnet element:

  • Beholdning: keyboard.send_key (‘i’)
  • Kort: keyboard.send_key (‘m’)
  • Tilbage til spillet: keyboard.send_key (‘’)
  • Skift til Assault Rifle: keyboard.send_key (‘2’)
  • Skift til SMG: keyboard.send_key (‘1’)

Her er GameMenu -mappen kortlagt til nøgle, og sådan ser det ud inde i løbespil:

Hvert menupunkt har et nummer foran sit mærke. Du kan aktivere et hvilket som helst menupunkt ved at trykke på den tilhørende nummertast på tastaturet. For eksempel vil et tryk på tasten her skifte pistolen til et gevær.

En lille GIF -demo af dette eksempel (klik på billedet eller højreklik og åbn GIF i en ny fane, hvis animationen stopper nedenfor):

Denne metode fungerer muligvis ikke med alle spil, afhængigt af den måde de håndterer vinduesvisning og fuldskærmsgengivelse på. Nogle spil holder ikke pause, når fokus bliver stjålet, mens andre gør det. Hvis spillet holder pause, når fokus er tabt, har du i det væsentlige konverteret et real -time spil til et turbaseret spil ved hjælp af dette AutoKey -script.

Dette eksempel fungerer med spil fra sag til sag. Men i min test har jeg opnået ret gode resultater med både native og Steam Proton / Wine spil.

Konklusion

Alle de eksempler, der er nævnt her, er grundlæggende, hovedsageligt fokuseret på Linux -spillere. De dækker kun en del af AutoKey's kraftfulde API. AutoKey kan også automatisere meget af din arbejdsgang ved hjælp af sine scriptfunktioner til daglig eller kompleks software. Et par flere eksempler er tilgængelige i officiel dokumentation af appen.