Spel

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

Hur man använder AutoKey för att automatisera Linux-spel
AutoKey är ett verktyg för desktopautomatisering för Linux och X11, programmerat i Python 3, GTK och Qt. Med hjälp av dess skript och MACRO-funktionalitet kan du automatisera tangenttryckningar, musklick och de flesta delar av ett skrivbordsgränssnitt. Om du letar efter ett alternativ till Windows-programmet AutoHotkey är AutoKey det bästa alternativet som finns idag för Linux-användare.

Observera att detta endast är en X11-applikation, Wayland-support har inte lagts till i applikationen när denna artikel skrivs.

Några av AutoKey-funktionerna är:

Den här guiden visar dig 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 GitHub-sidan. Ladda ner filerna som nämns nedan härifrån

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

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

Exempel 1: Inställning Nyckel för automatisk sparläge

Det är vanligt att många PC-spel använder nyckel för snabb spara och för snabb laddning. Många andra PC-spel, särskilt konsolportar, har dock 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ärdigheter):

Spelet vill att du ska slå för att pausa spelet, sedan piltangenten, sedan för att spara spelet, följt av för att återgå till spelet. Hela processen kan enkelt automatiseras och mappas till med AutoKey. Kolla in skriptkoden nedan:

importtid
tangentbord.send_key ('')
tid.sova (0.25)
tangentbord.send_key ('')
tid.sova (0.25)
tangentbord.send_key ('')
tid.sova (0.25)
tangentbord.send_key ('')

För att lägga till detta skript i AutoKey, starta appen och klicka sedan på en synlig mapp eller klicka på en anpassad mapp som skapats av dig 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 koden ovan. Klicka sedan på "Snabbtangent" -knappen 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å för att mappa den till skriptet.

"Nyckel: (Ingen)" ändras till "Nyckel: ”.

Klicka på “OK” och tryck på för att spara manuset. Kom 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å tangent kommer en serie tangenttryckningar att utföras i ordning.

Observera att vi har ändrat funktionaliteten hos nyckel globalt i hela operativsystemet, så länge AutoKey körs och dockas till 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å "Fönsterfilter" -knappen längst ner.

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

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

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

Antar att snabbtangenten dricker hälsodryck i ditt spel är , manuset skulle vara:

tangentbord.send_key ('h', repeat = 2)

Värdet på upprepningsvariabeln kan också ändras till vilket annat nummer som helst. Du kan följa stegen i det första exemplet för att mappa manuset till önskad snabbtangent.

Exempel 3: Burst Mode för Gun in a Shooter Game

 

Med hjälp av koden nedan kan du kartlägga nyckel 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 musklick en gång.

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

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

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

Exempel 4: Skapa en anpassad spelmeny / förvandla ett realtidsspel till ett turbaserat spel

Med hjälp av listmenyfunktionaliteten i AutoKey kommer vi att visa en meny som ett overlay ovanpå ett löpande spel. Den här menyn stjäl fokus från spelet och returnerar det efter att ett musklick har utförts på ett av menyalternativen. När fokus har återvänt kommer ett automatiskt tangenttryck att utföras som åberopar en funktion i spelet.

Ta en titt på den här bilden:

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

  • Inventar: tangentbord.send_key ('jag')
  • Karta: tangentbord.send_key ('m')
  • Tillbaka till spelet: tangentbord.send_key ('')
  • Byt till Assault Rifle: keyboard.send_key ('2')
  • Byt till SMG: tangentbord.send_key ('1')

Här mappas "GameMenu" -mappen till nyckel och så här ser det ut i löpande spel:

Varje menyalternativ har ett nummer före prefixet. Du kan anropa valfritt menyalternativ genom att trycka på motsvarande siffertangent på tangentbordet. Till exempel genom att trycka på <2> nyckeln här kommer att byta pistol till automatgevär.

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

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

Detta exempel fungerar med spel från fall till fall. Men i mina tester har jag uppnått ganska bra resultat med både inhemska 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 dess skriptfunktioner för daglig eller komplex programvara. Några ytterligare exempel finns i den officiella dokumentationen för appen.

Hur man visar OSD-överlägg i helskärms Linux-appar och -spel
Att spela helskärmsspel eller använda appar i distraktionsfritt helskärmsläge kan avskärma dig från relevant systeminformation som syns i en panel ell...
Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...
Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...