Hur man använder AutoKey för att automatisera Linux -spel

How Use Autokey Automate Linux Games



AutoKey är ett skrivbordsautomatiseringsverktyg för Linux och X11, programmerat i Python 3, GTK och Qt. Med hjälp av dess skript- och MACRO -funktionalitet kan du automatisera knapptryckningar, musklick och de flesta delar av ett skrivbordsgränssnitt. Om du letar efter ett alternativ till Windows -program AutoHotkey , AutoKey är det bästa alternativet som finns tillgängligt idag för Linux -användare.

Observera att detta endast är en X11 -applikation. Wayland -support har inte lagts till i applikationen när du skriver den här artikeln.







Några av AutoKey -funktionerna är:



  • Stöder förkortningar som automatiskt kan expandera några tecken till någon av dina vanliga meningar och textblock.
  • Stöder att skicka godtyckliga knapptryckningar och musklick.
  • Stöder specificera regler för ett specifikt programfönster.
  • Python 3 -skript kan användas för att skriva automatiseringsregler.
  • Möjlighet att styra fönsterfunktioner som att maximera, ändra storlek och flytta.
  • Levereras med en uppsättning förkonfigurerade exempel för enklare skript.
  • Möjlighet att visa anpassade meny popup -fönster med en lista med alternativ.
  • Möjlighet att spela in knapptryckningar och musklick.
  • Möjlighet att ställa in snabbtangenter utan modifieringstangenter.
  • Automatiseringsskript är bärbara och kan enkelt delas med andra användare.

Den här guiden visar några AutoKey -exempel som är användbara för Linux -spelare. För att komma igång, låt oss installera Autokey Ubuntu -paket från dess GitHub -sida. Ladda ner filerna som nämns nedan från här



  • 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 (ladda ner endast en)

Efter nedladdning av filerna, kör följande kommandon i ordning:





$sudobenägenInstallera./autokey-common_0.95.8-0_all.deb
$sudobenägenInstallera./autokey-gtk_0.95.8-0_all.deb

Det är vanligt att du ser många PC -spel med nycklar för snabb sparning och för snabb laddning. Men många andra PC -spel, särskilt konsolportar, har ett tråkigt sätt att spara spel där du måste navigera genom flera menyalternativ. Här är en snabb mockup som jag har ritat som illustrerar detta (ursäkta mina ritförmåga):



Spelet vill att du trycker på knappen för att pausa spelet, sedan piltangenten, sedan tangenten för att spara spelet, följt av knappen igen för att återgå till spelet. Hela denna process kan enkelt automatiseras och mappas till nyckel med AutoKey. Kolla in skriptkoden nedan:

importeratid
tangentbord. skicka_nyckel('')
tid. sover(0,25)
tangentbord. skicka_nyckel('')
tid. sover(0,25)
tangentbord. skicka_nyckel('')
tid. sover(0,25)
tangentbord. skicka_nyckel('')

För att lägga till det här skriptet i AutoKey, starta appen och klicka sedan på en synlig mapp eller klicka på en anpassad mapp som du har skapat för att markera den. Klicka på Arkiv> Nytt> Skript menyalternativ för att skapa ett nytt skript i den mappen, som visas på skärmdumpen nedan:

Byt namn på detta skript till Quicksave och lägg in ovanstående kod i det. Klicka sedan på snabbtangentknappen längst ner, som visas på skärmdumpen nedan:

På nästa skärm klickar du på knappen Tryck för att ställa in och trycker sedan på knappen för att mappa den till skriptet.

Nyckel:(Ingen)kommer att byta till nyckel:<f5>.

Klicka på OK och tryck för att spara skriptet. Kom alltid ihåg att spara skriptet annars kommer inget att köras när du trycker på den mappade snabbtangenten.

Quicksave keymapping är nu redo att användas. Nästa gång du trycker på knappen utförs en serie knapptryckningar i ordning.

Observera att vi har ändrat nyckelfunktionen globalt under hela operativsystemet, så länge AutoKey körs och är dockad i systemfältet. För att begränsa det till ett visst fönster eller program måste du ange fönsterregler genom att klicka på knappen Fönsterfilter längst ner.

Du kan också använda samma skript ovan för att skapa ett skript för snabb laddning. Du behöver bara ta bort raden för piltangenten och sedan mappa skriptet till nyckeln.

Om du letar efter korrekta nyckelnamn att använda i AutoKey Python 3 -skript kan du hitta en lista över alla speciella nyckelkoder som kan användas i AutoKey här . Alla nycklar som inte nämns på sidan ovan kan infogas med enkla eller dubbla citattecken. Exempel: keyboard.send_key (‘5’), keyboard.send_key (‘p’) och så vidare.

Exempel 2: Drick två hälsodrycker i rad i ett rollspel

Om vi ​​antar att snabbtangenten dricker hälsodryck i ditt spel är manuset:

tangentbord. skicka_nyckel('h',upprepa=2)

Värdet på upprepningsvariabeln kan också ändras till valfritt annat tal. Du kan följa stegen i det första exemplet för att mappa skriptet till önskad snabbtangent.

Exempel 3: Burst -läge för pistol i ett skjutspel

Med koden nedan kan du kartlägga nyckeln för att skjuta en pistol tre gånger i rad. Det ursprungliga sättet att skjuta i spelet är att trycka på vänster musknapp en gång.

# musknappar: vänster = 1, mitten = 2, höger = 3
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)

Ovanstående skript utför vänster musklick tre gånger i rad. Extra uttalanden kan läggas till om du vill utföra vänsterklicka mer än tre gånger.

Du kan följa stegen i det första exemplet för att mappa skriptet till snabbtangenten.

Exempel 4: Skapa en anpassad spelmeny / Förvandla ett spel i realtid till ett turbaserat spel

Med hjälp av listmenyfunktionen för AutoKey kommer vi att visa en meny som ett överlägg ovanpå ett spel som körs. Den här menyn kommer att stjäla fokus från spelet och returnera det efter ett musklick på ett av menyalternativen. När fokus är tillbaka kommer ett automatiskt tangenttryck att köras som åberopar en funktion inuti spelet.

Ta en titt på den här bilden:

I mappen GameMenu har jag skapat en undermapp som heter Visa. Både GameMenu och Show -mappen har underordnade objekt. Här är koden jag har lagt in i varje barnartikel:

  • Inventering: keyboard.send_key (‘i’)
  • Karta: keyboard.send_key (‘m’)
  • Tillbaka till spelet: keyboard.send_key (‘’)
  • Byt till Assault Rifle: keyboard.send_key (‘2’)
  • Byt till SMG: keyboard.send_key (‘1’)

Här mappen GameMenu mappas till nyckel och så här ser det ut inuti körspelet:

Varje menyalternativ har ett nummer före sitt etikett. Du kan aktivera valfri meny genom att trycka på motsvarande sifferknapp på tangentbordet. Om du till exempel trycker på knappen här växlar pistolen till ett gevär.

En liten GIF -demo av detta exempel (klicka på bilden eller högerklicka och öppna GIF på en ny flik om animationen stannar nedan):

Den här metoden kanske inte fungerar med alla spel, beroende på hur de hanterar fönster i fullskärm och rendering. Vissa spel pausar inte när fokus blir stulet medan andra gör det. Om spelet pausar när fokus tappas har du i huvudsak konverterat ett spel i realtid till ett turbaserat spel med hjälp av detta AutoKey -skript.

Detta exempel kommer att fungera med spel från fall till fall. Men i mina tester har jag uppnått ganska bra resultat med både native- och Steam Proton / Wine -spel.

Slutsats

Alla exemplen som nämns här är grundläggande, främst fokuserade för Linux -spelare. De täcker bara en del av AutoKeys kraftfulla API. AutoKey kan automatisera mycket av ditt arbetsflöde med sina skriptfunktioner för vardaglig eller komplex programvara också. Några fler exempel finns tillgängliga i officiell dokumentation av appen.