Az AutoKey használata a Linux játékok automatizálásához

How Use Autokey Automate Linux Games



AutoKey egy asztali automatizálási segédprogram Linux és X11 rendszerekhez, Python 3, GTK és Qt programozással. A szkriptek és a MACRO funkció segítségével automatizálhatja a billentyűk lenyomását, az egérkattintásokat és az asztali felület legtöbb részét. Ha alternatívát keres a Windows programhoz AutoHotkey , Az AutoKey a ma elérhető legjobb megoldás Linux felhasználók számára.

Ne feledje, hogy ez csak egy X11 alkalmazás, a Wayland támogatást nem adtuk hozzá az alkalmazáshoz a cikk írásakor.







Az AutoKey néhány funkciója:



  • Támogatja a rövidítéseket, amelyek automatikusan kibővíthetnek néhány karaktert az általánosan használt mondatokba és szövegblokkokba.
  • Támogatja az önkényes billentyűleütések és az egérkattintások küldését.
  • Támogatja a szabályok megadását egy adott alkalmazásablakhoz.
  • A Python 3 szkriptek használhatók automatizálási szabályok írására.
  • Az ablak funkcióinak, például a maximalizálásnak, az átméretezésnek és a mozgatásnak a vezérlése.
  • Előre konfigurált példákkal rendelkezik a könnyebb szkripteléshez.
  • Képesség egyéni menüpontok megjelenítésére a választási listával.
  • Billentyűleütések és egérkattintások rögzítésének képessége.
  • Lehetőség gyorsbillentyűk beállítására módosító billentyűk nélkül.
  • Az automatizálási szkriptek hordozhatók és könnyen megoszthatók más felhasználókkal.

Ez az útmutató néhány AutoKey -példát mutat be, amelyek hasznosak a Linux -játékosok számára. A kezdéshez telepítsük az Autokey Ubuntu csomagokat a GitHub oldaláról. Töltse le az alábbi fájlokat innen itt



  • autokey-common_x.xx.x-x_all.deb
  • autokey-gtk_x.xx.x-x_all.deb vagy autokey-qt_x.xx.x-x_all.deb (csak egy letöltés)

A fájlok letöltése után futtassa a következő parancsokat:





$sudotalálótelepítés./autokey-common_0.95.8-0_all.deb
$sudotalálótelepítés./autokey-gtk_0.95.8-0_all.deb

Gyakori, hogy sok PC -s játékot használnak billentyűvel a gyors mentés és a gyors betöltés érdekében. Azonban sok más PC -játék, különösen a konzolportok fárasztó módon mentik a játékot, ahol több menüpont között kell navigálnia. Íme egy gyors maketta, amelyet rajzoltam, ami ezt illusztrálja (bocsánat a rajztudásomért):



A játék azt akarja, hogy nyomja meg a gombot a játék szüneteltetéséhez, majd a nyílbillentyűt, majd a gombot a játék mentéséhez, majd a billentyűt ismét a játékba való visszatéréshez. Ez az egész folyamat könnyen automatizálható és kulcshoz rendelhető az AutoKey használatával. Nézze meg az alábbi szkript kódot:

importidő
billentyűzet.küldés_kulcs('')
idő.alvás(0,25)
billentyűzet.küldés_kulcs('')
idő.alvás(0,25)
billentyűzet.küldés_kulcs('')
idő.alvás(0,25)
billentyűzet.küldés_kulcs('')

Ha hozzá szeretné adni ezt a szkriptet az AutoKey -hez, indítsa el az alkalmazást, majd kattintson egy látható mappára, vagy kattintson az Ön által létrehozott egyéni mappára a kiemeléshez. Kattintson Fájl> Új> Szkript menüopciót, hogy új szkriptet hozzon létre a mappában, az alábbi képernyőképen látható módon:

Nevezze át ezt a szkriptet Quicksave -re, és helyezze be a fenti kódot. Ezután kattintson a gyorsbillentyű gombra az alján, amint az az alábbi képernyőképen látható:

A következő képernyőn kattintson a Nyomja meg a beállítást gombra, majd nyomja meg a gombot a szkripthez való hozzárendeléshez.

Kulcs:(Egyik sem)kulcsra változik:<f5>.

Kattintson az OK gombra, és nyomja meg a gombot a szkript mentéséhez. Mindig ne felejtse el menteni a szkriptet, különben semmi sem fog végrehajtódni, amikor megnyomja a leképezett gyorsbillentyűt.

A Quicksave billentyűleképezés most használatra kész. Legközelebb, amikor megnyomja a gombot, egy sor gombnyomás kerül végrehajtásra sorrendben.

Ne feledje, hogy a kulcs funkcionalitását globálisan módosítottuk az egész operációs rendszerben, amíg az AutoKey fut és a tálcára van dokkolva. Ahhoz, hogy egy adott ablakra vagy alkalmazásra korlátozza, meg kell adnia az ablak szabályait, ha rákattint az ablakszűrő gombra.

Ugyanazt a szkriptet használhatja a gyors betöltéshez szükséges szkript létrehozásához. Csak el kell távolítania a nyilak sorát, majd hozzá kell rendelnie a szkriptet a kulcshoz.

Ha helyes kulcsneveket keres az AutoKey Python 3 szkriptekben, akkor megtalálja az AutoKey -ben használható speciális kulcskódok listáját. itt . Bármely, a fenti oldalon nem említett kulcs beilleszthető egyszeres vagy dupla idézőjelek használatával. Példa: keyboard.send_key ('5'), keyboard.send_key ('p') és így tovább.

2. példa: Igyon két egészségügyi bájitalt sorban egy szerepjátékban

Ha feltételezzük, hogy a gyorsbillentyű egészséges italokat inni a játékban, akkor a forgatókönyv a következő lenne:

billentyűzet.küldés_kulcs('h',ismétlés=2)

Az ismétlődő változó értéke bármely más számra is megváltoztatható. Az első példában leírt lépéseket követve leképezheti a szkriptet a kívánt gyorsbillentyűre.

3. példa: Sorozatfelvételi mód fegyverhez lövöldözős játékban

Az alábbi kód használatával leképezheti a kulcsot, hogy háromszor egymás után lőjön. A játék eredeti felvételének módja az, ha egyszer megnyomja a bal egérgombot.

# egérgomb: bal = 1, közép = 2, jobb = 3
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)

A fenti szkript háromszor egymás után végrehajtja a bal egérgombot. További utasításokat adhat hozzá, ha a bal kattintást több mint háromszor szeretné végrehajtani.

Kövesse az első példában leírt lépéseket a parancsfájl gyorsbillentyűhöz való hozzárendeléséhez.

4. példa: Egyéni játékmenü létrehozása / Valós idejű játék fordulatalapú játékká alakítása

Az AutoKey lista menüjének funkcióit használva egy menüt jelenítünk meg egy futó játék tetején. Ez a menü ellopja a fókuszt a játékból, és visszaadja, miután egérkattintást hajtottak végre az egyik menüponton. A fókusz visszaállítása után egy automatikus billentyűleütés kerül végrehajtásra, amely meghív egy funkciót a játékon belül.

Nézd meg ezt a képet:

A GameMenu mappában létrehoztam a Show almappát. A GameMenu és a Show mappában is vannak utód elemek. Íme a kód, amelyet minden gyermek elembe tettem:

  • Leltár: keyboard.send_key („i”)
  • Térkép: keyboard.send_key ('m')
  • Vissza a játékhoz: keyboard.send_key ('')
  • Váltás rohamfegyverre: keyboard.send_key ('2')
  • Váltás SMG -re: keyboard.send_key ('1')

Itt a GameMenu mappa kulcsra van leképezve, és így néz ki a futó játékban:

Minden menüpont előtaggal van ellátva a címke előtt. Bármely menüpontot meghívhat a billentyűzet megfelelő számgombjának megnyomásával. Például, ha megnyomja a gombot, a fegyvert támadó puskára váltja.

Egy kis GIF demó a példából (kattintson a képre, vagy kattintson jobb gombbal, és nyissa meg a GIF -et egy új lapon, ha az animáció alább leáll):

Ez a módszer nem minden játékkal működik, attól függően, hogy hogyan kezelik az ablakos és a teljes képernyős megjelenítést. Egyes játékok nem állnak meg, amikor ellopják a fókuszt, míg mások nem. Ha a játék megáll, amikor a fókusz elveszik, akkor lényegében egy valós idejű játékot alakított át körökre épülő játékká ezzel az AutoKey szkripttel.

Ez a példa eseti alapon működik a játékokkal. A tesztelés során azonban nagyon jó eredményeket értem el natív és Steam Proton / Wine játékokkal.

Következtetés

Az itt említett példák alapvetőek, főként Linux játékosok számára. Az AutoKey hatékony API -jának csak egy részét fedik le. Az AutoKey a munkafolyamatok nagy részét automatizálhatja a mindennapi vagy összetett szoftverek szkript funkcióival. Még néhány példa elérhető a hivatalos dokumentáció az alkalmazásból.