Ako používať AutoKey na automatizáciu hier pre Linux

How Use Autokey Automate Linux Games



AutoKey je nástroj na automatizáciu desktopov pre Linux a X11, naprogramovaný v Pythone 3, GTK a Qt. Vďaka skriptovaniu a funkcii MACRO môžete automatizovať stláčanie klávesov, klikanie myšou a väčšinu častí rozhrania pracovnej plochy. Ak hľadáte alternatívu k programu Windows AutoHotkey „AutoKey je najlepšia možnosť, ktorá je dnes k dispozícii pre používateľov Linuxu.

Všimnite si toho, že toto je len aplikácia X11, podpora Waylandu nebola do aplikácie pridaná v čase písania tohto článku.







Niektoré z funkcií AutoKey sú:



  • Podporuje skratky, ktoré môžu automaticky rozšíriť niekoľko znakov do akejkoľvek z vašich bežne používaných viet a textových blokov.
  • Podporuje odosielanie ľubovoľných stlačení klávesov a kliknutí myšou.
  • Podporuje špecifikovanie pravidiel pre konkrétne okno aplikácie.
  • Na písanie pravidiel automatizácie je možné použiť skripty Python 3.
  • Schopnosť ovládať funkcie okna, ako je maximalizácia, zmena veľkosti a presúvanie.
  • Dodáva sa so sadou predkonfigurovaných príkladov na jednoduchšie skriptovanie.
  • Schopnosť zobrazovať vlastné kontextové ponuky so zoznamom možností.
  • Schopnosť zaznamenávať stlačenia klávesov a kliknutia myšou.
  • Schopnosť nastaviť klávesové skratky bez klávesov modifikátora.
  • Automatizačné skripty sú prenosné a dajú sa ľahko zdieľať s inými používateľmi.

Táto príručka vám ukáže niekoľko príkladov AutoKey, ktoré sú užitočné pre hráčov Linuxu. Na začiatok si nainštalujme balíčky Autokey Ubuntu z jeho stránky GitHub. Stiahnite si nižšie uvedené súbory z tu



  • autokey-common_x.xx.x-x_all.deb
  • autokey-gtk_x.xx.x-x_all.deb alebo autokey-qt_x.xx.x-x_all.deb (stiahnuť iba jeden)

Po stiahnutí súborov spustite nasledujúce príkazy v uvedenom poradí:





$sudovýstižnýInštalácia./autokey-common_0.95.8-0_all.deb
$sudovýstižnýInštalácia./autokey-gtk_0.95.8-0_all.deb

Je bežné vidieť mnoho počítačových hier pomocou klávesu na rýchle uloženie a rýchle načítanie. Mnoho ďalších počítačových hier, najmä konzolových portov, má však únavný spôsob ukladania hier, v ktorých musíte prechádzať viacerými možnosťami ponuky. Tu je krátka maketa, ktorú som nakreslil a ktorá to ilustruje (ospravedlňte moje kresliarske schopnosti):



Hra chce, aby ste stlačením klávesu pozastavili hru, potom klávesom so šípkou, stlačením klávesu hru uložíte a potom znova stlačením klávesu sa vrátite do hry. Celý tento proces je možné ľahko automatizovať a priradiť ku kľúču pomocou funkcie AutoKey. Pozrite sa na kód skriptu nižšie:

importčas
keyboard.send_key('')
čas.spánok(0,25)
keyboard.send_key('')
čas.spánok(0,25)
keyboard.send_key('')
čas.spánok(0,25)
keyboard.send_key('')

Ak chcete tento skript pridať do AutoKey, spustite aplikáciu a potom kliknite na viditeľný priečinok alebo kliknutím na vami vytvorený vlastný priečinok ho zvýraznite. Kliknite na Súbor> Nový> Skript možnosť ponuky na vytvorenie nového skriptu v tomto priečinku, ako je to znázornené na obrázku nižšie:

Tento skript premenujte na Quicksave a vložte do neho vyššie uvedený kód. Potom kliknite na tlačidlo Hotkey v spodnej časti, ako je znázornené na obrázku nižšie:

Na ďalšej obrazovke kliknite na tlačidlo Press to Set a stlačením klávesu ho namapujte na skript.

Kľúč:(Žiadny)sa zmení na Kľúč:<f5>.

Kliknite na OK a stlačením skript uložíte. Skript vždy uložte, inak sa po stlačení mapovanej klávesovej skratky nič nespustí.

Quicksave mapovanie klávesov je teraz pripravené na použitie. Keď nabudúce stlačíte kláves, vykoná sa séria stlačení klávesov v uvedenom poradí.

Všimnite si toho, že sme globálne zmenili funkčnosť kľúča v celom OS, pokiaľ je AutoKey spustený a ukotvený na systémovej lište. Ak ho chcete obmedziť na konkrétne okno alebo aplikáciu, budete musieť zadať pravidlá okna kliknutím na tlačidlo Filter okna v spodnej časti.

Rovnaký skript môžete použiť aj na vytvorenie skriptu na rýchle načítanie. Stačí odstrániť riadok pre kláves so šípkou a potom skript namapovať na kľúč.

Ak hľadáte správne názvy kľúčov, ktoré sa majú použiť v skriptoch AutoKey Python 3, nájdete zoznam všetkých špeciálnych kódov kľúčov použiteľných v programe AutoKey tu . Akýkoľvek kľúč, ktorý nie je uvedený na vyššie uvedenej stránke, je možné vložiť do jednoduchých alebo dvojitých úvodzoviek. Príklad: keyboard.send_key ('5'), keyboard.send_key ('p') a tak ďalej.

Príklad 2: Pite dva elixíry zdravia v rade v hre na hranie rolí

Za predpokladu, že klávesová skratka vypije vo vašej hre lektvar zdravia, scenár bude nasledujúci:

keyboard.send_key('h',opakovať=2)

Hodnotu premennej opakovania je možné zmeniť aj na akékoľvek iné číslo. Pri mapovaní skriptu na požadovanú klávesovú skratku môžete postupovať podľa krokov v prvom príklade.

Príklad 3: Sériový režim pre zbraň v strieľačke

Pomocou nižšie uvedeného kódu môžete namapovať kľúč na streľbu zo zbrane trikrát za sebou. Pôvodný spôsob strieľania v hre je jedenkrát stlačiť ľavé tlačidlo myši.

# tlačidiel myši: vľavo = 1, v strede = 2, vpravo = 3
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)

Vyššie uvedený skript vykoná kliknutie ľavým tlačidlom myši trikrát za sebou. Ak chcete vykonať ľavé kliknutie viac ako trikrát, je možné pridať ďalšie príkazy.

Pri mapovaní skriptu na klávesovú skratku môžete postupovať podľa krokov v prvom príklade.

Príklad 4: Vytvorte si vlastnú hernú ponuku / Premeňte hru v reálnom čase na ťahovú hru

Pomocou funkcie ponuky AutoKey v zozname zobrazíme ponuku ako prekrytie nad spustenou hrou. Toto menu ukradne zameranie hry a vráti ho po kliknutí myši na jednu z položiek ponuky. Akonáhle je zaostrenie vrátené, vykoná sa automatický stisk klávesu, ktorý vyvolá funkciu v hre.

Pozrite sa na tento obrázok:

V priečinku GameMenu som vytvoril podpriečinok s názvom Zobraziť. Priečinok GameMenu aj Zobraziť majú podradené položky. Tu je kód, ktorý som vložil do každej podradenej položky:

  • Inventár: keyboard.send_key („i“)
  • Mapa: keyboard.send_key („m“)
  • Späť do hry: keyboard.send_key ('')
  • Prepnúť na útočnú pušku: keyboard.send_key („2“)
  • Prepnúť na SMG: keyboard.send_key („1“)

Tu je priečinok GameMenu namapovaný na kľúč a takto to vyzerá v spustenej hre:

Každá položka ponuky má pred svojim štítkom predponu. Akúkoľvek položku ponuky môžete vyvolať stlačením príslušného číselného klávesu na klávesnici. Napríklad stlačením tu prepnete zbraň z útočnej pušky.

Malá ukážka GIF tohto príkladu (ak sa animácia nižšie zastaví, kliknite na obrázok alebo kliknite pravým tlačidlom myši a otvorte GIF na novej karte):

Táto metóda nemusí fungovať u všetkých hier v závislosti od spôsobu, akým zvládajú vykresľovanie v okne a na celú obrazovku. Niektoré hry sa nepozastavia, keď je ukradnuté zaostrovanie, zatiaľ čo iné áno. Ak sa hra zastaví, keď sa stratí zaostrenie, v zásade ste pomocou tohto skriptu AutoKey previedli hru v reálnom čase na ťahovú hru.

Tento príklad bude fungovať s hrami od prípadu k prípadu. Pri testovaní som však dosiahol celkom dobré výsledky s natívnymi aj Steam Proton / Wine hrami.

Záver

Všetky tu uvedené príklady sú základné a sú zamerané hlavne na hráčov Linuxu. Pokrývajú iba časť výkonného rozhrania API AutoKey. AutoKey môže automatizovať veľkú časť vášho pracovného toku pomocou svojich skriptovacích funkcií pre každodenný alebo komplexný softvér. Niekoľko ďalších príkladov je k dispozícii v oficiálna dokumentácia aplikácie.