Hvordan bruke AutoKey til å automatisere Linux -spill

How Use Autokey Automate Linux Games



AutoKey er et skrivebordsautomatiseringsverktøy for Linux og X11, programmert i Python 3, GTK og Qt. Ved å bruke scripting og MACRO -funksjonalitet kan du automatisere tastetrykk, museklikk og de fleste deler av et skrivebordgrensesnitt. Hvis du leter etter et alternativ til Windows -programmet AutoHotkey , AutoKey er det beste alternativet som er tilgjengelig i dag for Linux -brukere.

Vær oppmerksom på at dette bare er en X11 -applikasjon. Wayland -støtte er ikke lagt til i applikasjonen da denne artikkelen ble skrevet.







Noen av AutoKey -funksjonene er:



  • Støtter forkortelser som automatisk kan utvide noen få tegn til noen av dine vanlige setninger og tekstblokker.
  • Støtter sending av vilkårlige tastetrykk og museklikk.
  • Støtter spesifisering av regler for et bestemt programvindu.
  • Python 3 -skript kan brukes til å skrive automatiseringsregler.
  • Evne til å kontrollere vindusfunksjoner som å maksimere, endre størrelse og flytte.
  • Leveres med et sett med forhåndskonfigurerte eksempler for enklere skripting.
  • Evne til å vise egendefinerte meny -popup -vinduer med en liste over valg.
  • Evne til å registrere tastetrykk og museklikk.
  • Mulighet til å angi hurtigtaster uten modifikatorstaster.
  • Automatiseringsskript er bærbare og kan enkelt deles med andre brukere.

Denne guiden viser deg noen AutoKey -eksempler som er nyttige for Linux -spillere. For å komme i gang, la oss installere Autokey Ubuntu -pakker fra GitHub -siden. Last ned filene nevnt nedenfor 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 (last ned bare én)

Etter at du har lastet ned filene, kjører du følgende kommandoer i rekkefølge:





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

Det er vanlig å se mange PC -spill ved hjelp av nøkkelen for rask lagring og for rask lasting. Imidlertid har mange andre PC -spill, spesielt konsollporter, en kjedelig måte å lagre spill der du må navigere gjennom flere menyalternativer. Her er en rask mockup jeg har tegnet som illustrerer dette (unnskyld mine tegneferdigheter):



Spillet vil at du skal trykke på tasten for å sette spillet på pause, deretter piltast, deretter tast for å lagre spillet, etterfulgt av tasten igjen for å gå tilbake til spillet. Hele denne prosessen kan enkelt automatiseres og tilordnes til nøkkel ved hjelp av AutoKey. Sjekk skriptkoden nedenfor:

importtid
tastatur.send_nøkkel('')
tid. sover(0,25)
tastatur.send_nøkkel('')
tid. sover(0,25)
tastatur.send_nøkkel('')
tid. sover(0,25)
tastatur.send_nøkkel('')

For å legge til dette skriptet til AutoKey, start appen og klikk deretter på en synlig mappe eller klikk på en egendefinert mappe som du har opprettet for å markere den. Klikk på Fil> Ny> Skript menyalternativ for å lage et nytt skript inne i den mappen, som vist på skjermbildet nedenfor:

Gi nytt navn til dette skriptet til Quicksave og legg koden ovenfor i det. Klikk deretter på hurtigtast -knappen nederst, som vist på skjermbildet nedenfor:

På den neste skjermen klikker du på Trykk for å sette -knappen og trykker deretter på tasten for å tilordne den til skriptet.

Nøkkel:(Ingen)vil endres til nøkkel:<f5>.

Klikk på OK og trykk for å lagre skriptet. Husk alltid å lagre skriptet, ellers vil ingenting bli utført når du trykker på den kartlagte hurtigtasten.

Quicksave keymapping er nå klar til bruk. Neste gang du trykker på tasten, blir en rekke tastetrykk utført i rekkefølge.

Vær oppmerksom på at vi har endret funksjonaliteten til nøkkelen globalt i hele operativsystemet, så lenge AutoKey kjører og ligger til systemstatusfeltet. For å begrense det til et bestemt vindu eller et bestemt program, må du spesifisere vindusregler ved å klikke på Vindusfilter -knappen nederst.

Du kan også bruke det samme skriptet ovenfor til å lage et skript for rask lasting. Du trenger bare å fjerne linjen for piltasten og deretter tilordne skriptet til nøkkelen.

Hvis du leter etter riktige nøkkelnavn for bruk i AutoKey Python 3 -skript, kan du finne en liste over alle spesielle nøkkelkoder som kan brukes i AutoKey her . Enhver nøkkel som ikke er nevnt på siden ovenfor, kan settes inn ved hjelp av enkle eller doble anførselstegn. Eksempel: keyboard.send_key (‘5’), keyboard.send_key (‘p’) og så videre.

Eksempel 2: Drikk to helsedrikker på rad i et rollespill

Forutsatt at hurtigtasten drikker helsedrikke i spillet ditt, vil manuset være:

tastatur.send_nøkkel('h',gjenta=2)

Verdien av gjentagelsesvariabelen kan også endres til et hvilket som helst annet tall. Du kan følge trinnene i det første eksemplet for å tilordne skriptet til ønsket hurtigtast.

Eksempel 3: Burst -modus for pistol i et skytespill

Ved å bruke koden nedenfor kan du kartlegge nøkkelen for å skyte en pistol tre ganger på rad. Den originale måten å skyte i spillet er å trykke venstre museklikk én gang.

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

Skriptet ovenfor vil utføre venstre museklikk tre ganger på rad. Ekstra utsagn kan legges til hvis du vil utføre venstreklikk mer enn tre ganger.

Du kan følge trinnene i det første eksemplet for å tilordne skriptet til hurtigtast.

Eksempel 4: Lag en egendefinert spillmeny / Gjør et sanntidsspill til et turbasert spill

Ved å bruke listemenyfunksjonaliteten til AutoKey, viser vi en meny som et overlegg på toppen av et løpende spill. Denne menyen vil stjele fokus fra spillet og returnere det etter et museklikk er utført på et av menyelementene. Når fokuset er returnert, vil et automatisk tastetrykk bli utført som påkaller en funksjon inne i spillet.

Ta en titt på dette bildet:

I GameMenu -mappen har jeg opprettet en undermappe som heter Show. Både GameMenu og Show -mappen har underordnede elementer. Her er koden jeg har lagt inn i hvert barneelement:

  • Beholdning: keyboard.send_key (‘i’)
  • Kart: keyboard.send_key (‘m’)
  • Tilbake til spillet: keyboard.send_key (‘’)
  • Bytt til Assault Rifle: keyboard.send_key (‘2’)
  • Bytt til SMG: keyboard.send_key (‘1’)

Her er GameMenu -mappen tilordnet til nøkkel, og slik ser det ut inne i et løpsspill:

Hvert menyelement har et nummer foran etiketten. Du kan åpne et hvilket som helst menyelement ved å trykke på den tilhørende talltasten på tastaturet. Hvis du for eksempel trykker på tasten her, bytter du pistolen til et gevær.

En liten GIF -demo av dette eksemplet (klikk på bildet eller høyreklikk og åpne GIF i en ny fane hvis animasjonen stopper nedenfor):

Denne metoden fungerer kanskje ikke med alle spill, avhengig av måten de håndterer vindusvisning og fullskjermsvisning på. Noen spill stopper ikke når fokus blir stjålet mens andre gjør det. Hvis spillet stopper når fokus er tapt, har du i hovedsak konvertert et sanntidsspill til et turbasert spill ved hjelp av dette AutoKey -skriptet.

Dette eksemplet vil fungere med spill fra sak til sak. Imidlertid har jeg i testene mine oppnådd ganske gode resultater med både native og Steam Proton / Wine -spill.

Konklusjon

Alle eksemplene nevnt her er grunnleggende, hovedsakelig fokusert på Linux -spillere. De dekker bare en del av AutoKeys kraftige API. AutoKey kan automatisere mye av arbeidsflyten din ved hjelp av skriptfunksjonene for daglig eller kompleks programvare. Noen flere eksempler er tilgjengelige i offisiell dokumentasjon av appen.