Cum se folosește AutoKey pentru automatizarea jocurilor Linux

How Use Autokey Automate Linux Games



AutoKey este un utilitar de automatizare desktop pentru Linux și X11, programat în Python 3, GTK și Qt. Folosind funcționalitatea de scriptare și MACRO, puteți automatiza apăsarea tastelor, clicurile mouse-ului și majoritatea părților unei interfețe desktop. Dacă sunteți în căutarea unei alternative la programul Windows AutoHotkey , AutoKey este cea mai bună opțiune disponibilă astăzi pentru utilizatorii Linux.

Rețineți că aceasta este doar o aplicație X11, asistența Wayland nu a fost adăugată la aplicație în momentul redactării acestui articol.







Unele dintre funcțiile AutoKey sunt:



  • Suportă abrevieri care pot extinde automat câteva caractere în oricare dintre propozițiile și blocurile de text utilizate în mod obișnuit.
  • Acceptă trimiterea de taste arbitrare și clicuri de mouse.
  • Suportă specificarea regulilor pentru o anumită fereastră de aplicație.
  • Scripturile Python 3 pot fi utilizate pentru scrierea regulilor de automatizare.
  • Abilitatea de a controla funcțiile ferestrei precum maximizarea, redimensionarea și mișcarea.
  • Vine cu un set de exemple preconfigurate pentru scripturi mai ușoare.
  • Posibilitatea de a afișa ferestre de meniuri personalizate cu o listă de opțiuni.
  • Abilitatea de a înregistra apăsări de taste și clicuri de mouse.
  • Abilitatea de a seta tastele rapide fără taste modificatoare.
  • Scripturile de automatizare sunt portabile și pot fi partajate cu ușurință cu alți utilizatori.

Acest ghid vă va arăta câteva exemple AutoKey care sunt utile jucătorilor Linux. Pentru a începe, să instalăm pachetele Autokey Ubuntu de pe pagina sa GitHub. Descărcați fișierele menționate mai jos de la Aici



  • autokey-common_x.xx.x-x_all.deb
  • autokey-gtk_x.xx.x-x_all.deb sau autokey-qt_x.xx.x-x_all.deb (descărcați doar unul)

După descărcarea fișierelor, rulați următoarele comenzi în ordine:





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

Este obișnuit să vedeți multe jocuri pe PC folosind tasta pentru salvare rapidă și pentru încărcare rapidă. Cu toate acestea, multe alte jocuri pe PC, în special porturile de consolă, au un mod obositor de a salva jocul în care trebuie să navigați prin mai multe opțiuni de meniu. Iată o machetă rapidă pe care am desenat-o, care ilustrează acest lucru (scuzați-mi abilitățile de desen):



Jocul dorește să atingeți tasta pentru a întrerupe jocul, apoi săgeata, apoi tasta pentru a salva jocul, urmată de tasta din nou pentru a reveni la joc. Întregul proces poate fi ușor automatizat și mapat la cheie folosind AutoKey. Verificați codul scriptului de mai jos:

importtimp
keyboard.send_key('')
timp.dorm(0,25)
keyboard.send_key('')
timp.dorm(0,25)
keyboard.send_key('')
timp.dorm(0,25)
keyboard.send_key('')

Pentru a adăuga acest script la AutoKey, lansați aplicația și apoi faceți clic pe un folder vizibil sau faceți clic pe un folder personalizat creat de dvs. pentru a-l evidenția. Click pe Fișier> Nou> Script opțiunea de meniu pentru a crea un nou script în acel folder, așa cum se arată în captura de ecran de mai jos:

Redenumiți acest script în Quicksave și introduceți codul de mai sus în el. Apoi faceți clic pe butonul Hotkey din partea de jos, așa cum se arată în captura de ecran de mai jos:

În ecranul următor, faceți clic pe butonul Apăsați pentru a seta și apoi apăsați tasta pentru a-l asocia la script.

Cheie:(Nici unul)se va schimba în cheie:<f5>.

Faceți clic pe OK și apăsați pentru a salva scriptul. Amintiți-vă întotdeauna să salvați scriptul, altfel nu se va executa nimic atunci când apăsați tasta rapidă mapată.

Harta de taste Quicksave este acum gata de utilizare. Data viitoare când apăsați tasta, o serie de apăsări de taste vor fi executate în ordine.

Rețineți că am schimbat funcționalitatea cheii la nivel global în sistemul de operare, atâta timp cât AutoKey rulează și este andocat în tava de sistem. Pentru a o restricționa la o anumită fereastră sau aplicație, va trebui să specificați regulile ferestrei făcând clic pe butonul Filtru fereastră din partea de jos.

Puteți utiliza același script de mai sus pentru a crea și un script pentru încărcare rapidă. Trebuie doar să eliminați linia pentru tasta săgeată și apoi să mapați scriptul cu tasta.

Dacă sunteți în căutarea unor nume de chei corecte pentru a fi utilizate în scripturile AutoKey Python 3, puteți găsi o listă a tuturor codurilor de taste speciale utilizabile în AutoKey Aici . Orice cheie care nu este menționată în pagina de mai sus poate fi inserată folosind ghilimele simple sau duble. Exemplu: keyboard.send_key (‘5’), keyboard.send_key (‘p’) și așa mai departe.

Exemplul 2: Bea două poțiuni de sănătate la rând într-un joc de rol

Presupunând cheia rapidă pentru a bea poțiune de sănătate în jocul dvs., scenariul ar fi:

keyboard.send_key('h',repeta=2)

Valoarea variabilei repetate poate fi schimbată și cu orice alt număr. Puteți urma pașii din primul exemplu pentru a asocia scriptul la tasta rapidă dorită.

Exemplul 3: Modul Burst pentru arma într-un joc Shooter

Folosind codul de mai jos, puteți mapa tasta pentru a trage o armă de trei ori la rând. Modul original de a trage în joc este să apăsați butonul stâng al mouse-ului o singură dată.

# butoane ale mouse-ului: stânga = 1, mijloc = 2, dreapta = 3
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)

Scriptul de mai sus va executa clic stânga al mouse-ului de trei ori la rând. Declarații suplimentare pot fi adăugate dacă doriți să executați clic stâng de mai mult de trei ori.

Puteți urma pașii din primul exemplu pentru a asocia scriptul la tasta rapidă.

Exemplul 4: Creați un meniu de joc personalizat / Transformați un joc în timp real într-un joc bazat pe ture

Folosind funcționalitatea meniului listă AutoKey, vom afișa un meniu ca o suprapunere deasupra unui joc care rulează. Acest meniu va fura focul din joc și îl va returna după ce se execută un clic al mouse-ului pe unul dintre elementele de meniu. Odată ce focalizarea este returnată, va fi executată o apăsare automată de tastă care invocă o funcție din interiorul jocului.

Uitați-vă la această imagine:

În folderul GameMenu, am creat un subfolder numit Show. Atât folderul GameMenu, cât și folderul Show au elemente copil. Iată codul pe care l-am pus în fiecare articol copil:

  • Inventar: keyboard.send_key („i”)
  • Hartă: keyboard.send_key („m”)
  • Înapoi la joc: keyboard.send_key (‘’)
  • Treceți la asalt Rifle: keyboard.send_key („2”)
  • Treceți la SMG: keyboard.send_key („1”)

Aici folderul GameMenu este mapat la cheie și așa arată în jocul care rulează:

Fiecare element de meniu are un număr prefixat înainte de eticheta sa. Puteți invoca orice element de meniu apăsând tasta numerică corespunzătoare de pe tastatură. De exemplu, apăsând aici tasta va comuta arma pe pușcă de asalt.

O mică demonstrație GIF a acestui exemplu (faceți clic pe imagine sau faceți clic dreapta și deschideți GIF într-o filă nouă dacă animația se oprește mai jos):

Este posibil ca această metodă să nu funcționeze cu toate jocurile, în funcție de modul în care se ocupă de redarea în ferestre și pe ecran complet. Unele jocuri nu fac pauză atunci când focul este furat, în timp ce altele o fac. Dacă jocul se întrerupe când se pierde focalizarea, ați transformat în esență un joc în timp real într-un joc bazat pe ture folosind acest script AutoKey.

Acest exemplu va funcționa cu jocurile de la caz la caz. Cu toate acestea, în testele mele, am obținut rezultate destul de bune atât cu jocurile native, cât și cu Steam Proton / Wine.

Concluzie

Toate exemplele menționate aici sunt de bază, concentrate în principal pentru jucătorii Linux. Acestea acoperă doar o parte din puternicul API al AutoKey. AutoKey vă poate automatiza o mulțime de fluxuri de lucru folosind funcțiile sale de scriptare și pentru software-ul zilnic sau complex. Mai sunt câteva exemple disponibile în documentație oficială din aplicație.