Com utilitzar AutoKey per automatitzar els jocs de Linux

How Use Autokey Automate Linux Games



Tecla automàtica és una utilitat d’automatització d’escriptori per a Linux i X11, programada en Python 3, GTK i Qt. Mitjançant la seva funció de scripts i MACRO, podeu automatitzar les pulsacions de tecles, els clics del ratolí i la majoria de parts d’una interfície d’escriptori. Si esteu buscant una alternativa al programa Windows AutoHotkey , AutoKey és la millor opció disponible avui en dia per als usuaris de Linux.

Tingueu en compte que només es tracta d’una aplicació X11; el suport de Wayland no s’ha afegit a l’aplicació en el moment d’escriure aquest article.







Algunes de les funcions AutoKey són:



  • Admet abreviatures que poden expandir automàticament uns quants caràcters a qualsevol de les frases i blocs de text d'ús habitual.
  • Admet l'enviament de tecles i clics del ratolí arbitraris.
  • Admet especificar regles per a una finestra d'aplicació específica.
  • Els scripts Python 3 es poden utilitzar per escriure regles d'automatització.
  • Possibilitat de controlar funcions de finestres com maximitzar, redimensionar i moure.
  • Inclou un conjunt d’exemples preconfigurats per facilitar la creació de scripts.
  • Possibilitat de mostrar finestres emergents de menú personalitzades amb una llista d'opcions.
  • Possibilitat de gravar pulsacions de tecles i clics del ratolí.
  • Possibilitat d'establir tecles d'accés directe sense tecles modificadores.
  • Els scripts d'automatització són portàtils i es poden compartir fàcilment amb altres usuaris.

Aquesta guia us mostrarà alguns exemples de claus automàtiques útils per als jugadors de Linux. Per començar, instal·lem els paquets Autokey Ubuntu des de la seva pàgina GitHub. Descarregueu els fitxers esmentats a continuació des de aquí



  • autokey-common_x.xx.x-x_all.deb
  • autokey-gtk_x.xx.x-x_all.deb o autokey-qt_x.xx.x-x_all.deb (baixeu-ne només un)

Després de descarregar els fitxers, executeu les ordres següents en ordre:





$suoapteinstal·lar./autokey-common_0.95.8-0_tot.deb
$suoapteinstal·lar./autokey-gtk_0.95.8-0_tot.deb

És habitual veure molts jocs de PC amb tecles per estalviar i carregar ràpidament. Tanmateix, molts altres jocs de PC, especialment els ports de consola, tenen una manera tediosa d’estalviar jocs on heu de navegar per diverses opcions de menú. Aquí teniu una maqueta ràpida que he dibuixat que il·lustra això (disculpeu les meves habilitats de dibuix):



El joc vol que premeu la tecla per aturar el joc, després la tecla de fletxa i la tecla per desar el joc, seguida de la tecla de nou per tornar al joc. Tot aquest procés es pot automatitzar fàcilment i assignar a clau mitjançant la clau automàtica. Consulteu el codi de script següent:

importaciótemps
keyboard.send_key('')
temps.dormit(0.25)
keyboard.send_key('')
temps.dormit(0.25)
keyboard.send_key('')
temps.dormit(0.25)
keyboard.send_key('')

Per afegir aquest script a AutoKey, inicieu l'aplicació i feu clic a una carpeta visible o feu clic a una carpeta personalitzada que hàgiu creat per ressaltar-la. Fer clic a Fitxer> Nou> Script opció de menú per crear un script nou dins d’aquesta carpeta, tal com es mostra a la captura de pantalla següent:

Canvieu el nom d'aquest script a Quicksave i poseu-hi el codi anterior. A continuació, feu clic al botó de tecla d'accés directe a la part inferior, tal com es mostra a la captura de pantalla següent:

A la pantalla següent, feu clic al botó Premeu per configurar i, a continuació, premeu la tecla per assignar-lo a l'script.

Clau:(Cap)canviarà a clau:<f5>.

Feu clic a D'acord i premeu per desar l'script. Recordeu sempre de desar l'script, en cas contrari, no s'executarà res quan premeu la tecla d'accés ràpida assignada.

El mapeig de tecles Quicksave ja està llest per utilitzar-se. La propera vegada que premeu la tecla, s'executaran una sèrie de pressions en ordre.

Tingueu en compte que hem canviat la funcionalitat de la clau a tot el sistema operatiu, sempre que AutoKey estigui en execució i estigui acoblat a la safata del sistema. Per restringir-lo a una finestra o aplicació particular, haureu d'especificar les regles de la finestra fent clic al botó Filtre de finestres a la part inferior.

Podeu utilitzar el mateix script anterior per crear un script per carregar-lo ràpidament. Només heu d’eliminar la línia de la tecla de fletxa i, a continuació, assignar l’escript a la tecla.

Si esteu buscant noms de claus correctes per utilitzar als scripts AutoKey Python 3, es pot trobar una llista de tots els codis de tecles especials que es poden utilitzar a AutoKey. aquí . Qualsevol clau no esmentada a la pàgina anterior es pot inserir mitjançant cometes simples o dobles. Exemple: keyboard.send_key ('5'), keyboard.send_key ('p'), etc.

Exemple 2: beure dues pocions sanitàries seguides en un joc de rol

Suposant que la tecla d'accés directe per beure poció de salut al vostre joc és, el guió seria:

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

El valor de la variable de repetició també es pot canviar a qualsevol altre número. Podeu seguir els passos del primer exemple per assignar l'script a la tecla d'accés ràpid que desitgeu.

Exemple 3: mode de ràfega de pistola en un joc de trets

Mitjançant el codi següent, podeu assignar una tecla per disparar una arma tres vegades seguides. La forma original de disparar al joc és prémer el botó esquerre del ratolí una vegada.

# botons del ratolí: esquerra = 1, mig = 2, dreta = 3
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)

L'escriptura anterior executarà el clic esquerre del ratolí tres vegades seguides. Es poden afegir instruccions addicionals si voleu executar el clic esquerre més de tres vegades.

Podeu seguir els passos del primer exemple per assignar l'script a la tecla d'accés directe.

Exemple 4: Creeu un menú de joc personalitzat / Converteix un joc en temps real en un joc basat en torns

Utilitzant la funcionalitat del menú de llista d’AutoKey, mostrarem un menú com a superposició a la part superior d’un joc en curs. Aquest menú robarà el focus del joc i el retornarà després d'executar un clic del ratolí en un dels elements del menú. Un cop retornat l'enfocament, s'executarà una pulsació de tecla automàtica que invoca una funció dins del joc.

Mireu aquesta imatge:

A la carpeta GameMenu, he creat una subcarpeta anomenada Mostra. Tant GameMenu com Show folder tenen elements secundaris. Aquí teniu el codi que he posat dins de cada element secundari:

  • Inventari: keyboard.send_key ('i')
  • Mapa: keyboard.send_key ('m')
  • Torna al joc: keyboard.send_key ('')
  • Canvia a Rifle d'assalt: keyboard.send_key ('2')
  • Canvia a SMG: keyboard.send_key ('1')

Aquí la carpeta GameMenu està assignada a la clau i això és el que sembla dins del joc en execució:

Cada element del menú té un número amb el prefix abans de la seva etiqueta. Podeu invocar qualsevol element del menú prement la tecla numèrica corresponent al teclat. Per exemple, en prémer la tecla aquí es canviarà l'arma al fusell d'assalt.

Una petita demostració GIF d’aquest exemple (feu clic a la imatge o feu clic amb el botó dret i obriu el GIF en una nova pestanya si l’animació s’atura a continuació):

És possible que aquest mètode no funcioni amb tots els jocs, depenent de la forma en què s'utilitzin la representació de finestra i de pantalla completa. Alguns jocs no es detenen quan es roba el focus mentre que altres ho fan. Si el joc es posa en pausa quan es perd l'enfocament, heu convertit essencialment un joc en temps real en un joc basat en torns mitjançant aquest script AutoKey.

Aquest exemple funcionarà amb jocs cas per cas. No obstant això, en les meves proves, he obtingut resultats bastant bons amb els jocs de protons / vins natius i de Steam.

Conclusió

Tots els exemples esmentats aquí són bàsics, principalment enfocats als jugadors de Linux. Cobreixen només una part de la potent API d'AutoKey. AutoKey pot automatitzar gran part del vostre flux de treball mitjançant les seves funcions de seqüència d’ordres per a programes quotidians o complexos. Alguns exemples més estan disponibles a documentació oficial de l'aplicació.