Jak používat AutoKey k automatizaci her pro Linux

How Use Autokey Automate Linux Games



AutoKey je nástroj pro automatizaci desktopů pro Linux a X11, naprogramovaný v Pythonu 3, GTK a Qt. Pomocí skriptování a funkcí MACRO můžete automatizovat stisknutí kláves, kliknutí myší a většinu částí rozhraní pro stolní počítače. Pokud hledáte alternativu k programu Windows AutoHotkey „AutoKey je dnes tou nejlepší volbou pro uživatele Linuxu.

Všimněte si, že se jedná pouze o aplikaci X11, podpora Waylandu nebyla do aplikace přidána v době psaní tohoto článku.







Některé z funkcí AutoKey jsou:



  • Podporuje zkratky, které mohou automaticky rozšířit několik znaků do jakékoli z vašich běžně používaných vět a textových bloků.
  • Podporuje odesílání libovolných úhozů a kliknutí myší.
  • Podporuje zadání pravidel pro konkrétní okno aplikace.
  • Pro psaní pravidel automatizace lze použít skripty Python 3.
  • Schopnost ovládat funkce okna, jako je maximalizace, změna velikosti a přesun.
  • Dodává se se sadou předkonfigurovaných příkladů pro snazší skriptování.
  • Možnost zobrazit vlastní vyskakovací nabídky se seznamem možností.
  • Možnost zaznamenávat úhozy a klikání myší.
  • Možnost nastavit klávesové zkratky bez modifikačních kláves.
  • Skripty automatizace jsou přenosné a lze je snadno sdílet s ostatními uživateli.

Tato příručka vám ukáže několik příkladů AutoKey, které jsou užitečné pro hráče Linuxu. Začněme instalací balíčků Autokey Ubuntu ze stránky GitHub. Stáhněte níže uvedené soubory z tady



  • autokey-common_x.xx.x-x_all.deb
  • autokey-gtk_x.xx.x-x_all.deb nebo autokey-qt_x.xx.x-x_all.deb (stáhnout pouze jeden)

Po stažení souborů spusťte následující příkazy v uvedeném pořadí:





$sudovýstižnýNainstalujte./autokey-common_0.95.8-0_all.deb
$sudovýstižnýNainstalujte./autokey-gtk_0.95.8-0_all.deb

Je běžné vidět mnoho počítačových her pomocí klíče pro rychlé ukládání a rychlé načítání. Mnoho dalších počítačových her, zejména konzolových portů, má však únavný způsob ukládání her, ve kterých musíte procházet více možností nabídky. Zde je rychlý model, který jsem nakreslil a který to ilustruje (omluvte mé kreslířské schopnosti):



Hra chce, abyste stiskem klávesy hru pozastavili, poté klávesou se šipkou, poté klávesou hru uložíte a poté opět klávesou se vrátíte do hry. Celý tento proces lze snadno automatizovat a namapovat na klíč pomocí AutoKey. Podívejte se na kód skriptu níže:

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

Chcete -li tento skript přidat do AutoKey, spusťte aplikaci a poté klikněte na viditelnou složku nebo kliknutím na vlastní složku, kterou jste vytvořili, ji zvýrazněte. Klikněte na Soubor> Nový> Skript možnost nabídky pro vytvoření nového skriptu v této složce, jak ukazuje následující obrázek:

Přejmenujte tento skript na Quicksave a vložte do něj výše uvedený kód. Poté klikněte na tlačítko Hotkey v dolní části, jak ukazuje následující obrázek:

Na další obrazovce klikněte na tlačítko Press to Set a stisknutím klávesy jej namapujte na skript.

Klíč:(Žádný)se změní na Klíč:<f5>.

Klikněte na OK a stiskněte pro uložení skriptu. Skript vždy uložte, jinak se po stisknutí mapované klávesové zkratky nic neprovede.

Quicksave mapování kláves je nyní připraveno k použití. Až příště stisknete klávesu, proběhne řada stisknutí kláves v uvedeném pořadí.

Všimněte si toho, že jsme globálně změnili funkčnost klíče v celém operačním systému, pokud je AutoKey spuštěn a ukotven na hlavním panelu. Chcete -li jej omezit na konkrétní okno nebo aplikaci, budete muset zadat pravidla okna kliknutím na tlačítko Filtr okna v dolní části.

Stejný skript výše můžete použít také k vytvoření skriptu pro rychlé načítání. Stačí odstranit řádek se šipkou a poté skript namapovat na klíč.

Pokud hledáte správná jména klíčů pro použití ve skriptech AutoKey Python 3, najdete seznam všech speciálních kódů klíčů použitelných v AutoKey tady . Jakýkoli klíč, který není uveden na výše uvedené stránce, lze vložit pomocí jednoduchých nebo dvojitých uvozovek. Příklad: keyboard.send_key (‘5’), keyboard.send_key (‘p’) a tak dále.

Příklad 2: Pijte dva lektvary zdraví v řadě ve hře na hrdiny

Za předpokladu, že klávesová zkratka ve vaší hře vypije lektvar zdraví, bude skript následující:

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

Hodnotu proměnné opakování lze také změnit na jakékoli jiné číslo. Chcete -li skript namapovat na požadovanou klávesovou zkratku, můžete postupovat podle kroků v prvním příkladu.

Příklad 3: Burst Mode pro Gun ve hře Shooter

Pomocí níže uvedeného kódu můžete namapovat klíč ke střelbě ze zbraně třikrát za sebou. Původní způsob, jak střílet ve hře, je jednou stisknout levé tlačítko myši.

# tlačítek myši: vlevo = 1, uprostřed = 2, vpravo = 3
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)

Výše uvedený skript provede kliknutí levým tlačítkem myši třikrát za sebou. Pokud chcete provést levé kliknutí více než třikrát, lze přidat další příkazy.

Chcete -li skript namapovat na klávesovou zkratku, můžete postupovat podle kroků v prvním příkladu.

Příklad 4: Vytvořte vlastní herní nabídku / Proměňte hru v reálném čase na tahovou hru

Pomocí funkce nabídky AutoKey v seznamu zobrazíme nabídku jako překryv nad spuštěnou hrou. Tato nabídka ukradne zaměření hry a vrátí ji po kliknutí myší na některou z položek nabídky. Jakmile je fokus vrácen, bude provedeno automatické stisknutí klávesy, které vyvolá funkci uvnitř hry.

Podívejte se na tento obrázek:

Ve složce GameMenu jsem vytvořil podsložku s názvem Zobrazit. Složka GameMenu i Zobrazit mají podřízené položky. Zde je kód, který jsem vložil do každé podřízené položky:

  • Inventář: keyboard.send_key ('i')
  • Mapa: keyboard.send_key ('m')
  • Zpět do hry: keyboard.send_key ('')
  • Přepnout na útočnou pušku: keyboard.send_key (‘2’)
  • Přepnout na SMG: keyboard.send_key (‘1’)

Zde je složka GameMenu namapována na klíč a takto to vypadá v běžící hře:

Každá položka nabídky má před štítkem číslo. Libovolnou položku nabídky můžete vyvolat stisknutím odpovídající číselné klávesy na klávesnici. Například stisknutím klávesy zde přepnete zbraň na útočnou pušku.

Malá ukázka GIF tohoto příkladu (pokud se animace zastaví níže, klikněte na obrázek nebo klikněte pravým tlačítkem a otevřete GIF na nové kartě):

Tato metoda nemusí fungovat u všech her v závislosti na způsobu, jakým zpracovávají vykreslování v okně a na celou obrazovku. Některé hry se nepozastaví, když dojde ke krádeži zaostření, zatímco jiné ano. Pokud se hra zastaví, když se ztratí zaměření, v podstatě jste pomocí tohoto skriptu AutoKey převedli hru v reálném čase na tahovou hru.

Tento příklad bude fungovat s hrami případ od případu. Při svém testování jsem však dosáhl docela dobrých výsledků s nativními i Steam Proton / Wine hrami.

Závěr

Všechny zde uvedené příklady jsou základní, zaměřené hlavně pro hráče Linuxu. Pokrývají pouze část výkonného API AutoKey. AutoKey může automatizovat velkou část vašeho pracovního toku pomocí skriptovacích funkcí pro každodenní nebo složitý software. Několik dalších příkladů je k dispozici v souboru oficiální dokumentace aplikace.