Paano Gumamit ng AutoKey upang I-automate ang Mga Linux Game

How Use Autokey Automate Linux Games



AutoKey ay isang desktop automation utility para sa Linux at X11, na naka-program sa Python 3, GTK at Qt. Gamit ang pag-script at pag-andar ng MACRO nito, maaari mong i-automate ang mga keypress, pag-click sa mouse at karamihan sa mga bahagi ng isang interface ng desktop. Kung naghahanap ka para sa isang kahalili sa programa ng Windows AutoHotkey , Ang AutoKey ay ang pinakamahusay na pagpipilian na magagamit ngayon para sa mga gumagamit ng Linux.

Tandaan na ito ay isang application na X11 lamang, ang suporta ng Wayland ay hindi naidagdag sa application sa oras ng pagsulat ng artikulong ito.







Ang ilan sa mga tampok na AutoKey ay:



  • Sinusuportahan ang mga pagpapaikli na maaaring awtomatikong mapalawak ang ilang mga character sa anuman sa iyong karaniwang ginagamit na mga pangungusap at mga bloke ng teksto.
  • Sinusuportahan ang pagpapadala ng di-makatwirang mga keystroke at pag-click sa mouse.
  • Sinusuportahan ang pagtukoy ng mga panuntunan para sa isang tukoy na window ng application.
  • Maaaring magamit ang mga script ng Python 3 para sa pagsusulat ng mga patakaran sa pag-aautomat.
  • Kakayahang kontrolin ang mga pagpapaandar ng window tulad ng pag-maximize, pagbabago ng laki at paggalaw.
  • May kasamang isang hanay ng mga preconfigured na halimbawa para sa mas madaling pag-script.
  • Kakayahang ipakita ang mga pasadyang popup popup na may isang listahan ng mga pagpipilian.
  • Kakayahang mag-record ng mga keystroke at pag-click sa mouse.
  • Kakayahang magtakda ng mga hotkey nang walang mga key ng modifier.
  • Ang mga script ng automation ay portable at madaling maibahagi sa ibang mga gumagamit.

Ipapakita sa iyo ng gabay na ito ang ilang mga halimbawa ng AutoKey na kapaki-pakinabang para sa mga manlalaro ng Linux. Upang magsimula, mag-install tayo ng mga package ng Autokey Ubuntu mula sa pahina ng GitHub nito. I-download ang mga file na nabanggit sa ibaba mula sa dito



  • 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 (i-download lamang ang isa)

Pagkatapos i-download ang mga file, patakbuhin ang mga sumusunod na utos sa pagkakasunud-sunod:





$sudoapti-install./autokey-common_0.95.8-0_all.deb
$sudoapti-install./autokey-gtk_0.95.8-0_all.deb

Karaniwan na makita ang maraming mga laro sa PC gamit ang key para sa mabilis na pag-save at para sa mabilis na pag-load. Gayunpaman, maraming iba pang mga laro sa PC, lalo na ang mga port ng console ay may isang nakakapagod na paraan upang makatipid ng laro kung saan kailangan mong mag-navigate sa maraming mga pagpipilian sa menu. Narito ang isang mabilis na mockup na iginuhit ko na naglalarawan nito (patawarin ang aking mga kasanayan sa pagguhit):



Ang laro ay nais mong pindutin ang key upang i-pause ang laro, pagkatapos arrow key, pagkatapos key upang i-save ang laro, na sinusundan ng key muli upang bumalik sa laro. Ang buong proseso na ito ay maaaring awtomatiko at nai-map sa key gamit ang AutoKey. Suriin ang script code sa ibaba:

angkatoras
keyboard.send_key(')
oras.tulog(0.25)
keyboard.send_key(')
oras.tulog(0.25)
keyboard.send_key(')
oras.tulog(0.25)
keyboard.send_key(')

Upang idagdag ang script na ito sa AutoKey, ilunsad ang app at pagkatapos ay mag-click sa isang nakikitang folder o mag-click sa isang pasadyang folder na nilikha mo upang i-highlight ito. Mag-click sa File> Bago> Script pagpipilian sa menu upang lumikha ng isang bagong script sa loob ng folder na iyon, tulad ng ipinakita sa screenshot sa ibaba:

Palitan ang pangalan ng script na ito sa Quicksave at ilagay ang code sa itaas sa loob nito. Pagkatapos mag-click sa pindutan ng Hotkey sa ibaba, tulad ng ipinakita sa screenshot sa ibaba:

Sa susunod na screen, mag-click sa pindutan ng Press to Set at pagkatapos ay pindutin ang key upang ma-map ito sa script.

Susi:(Wala)magpapalit sa Key:<f5>.

Mag-click sa OK at pindutin upang i-save ang script. Palaging tandaan upang i-save ang script kung hindi man ay walang maipatupad kapag pinindot mo ang naka-map na hotkey.

Handa na ngayong gamitin ang Quicksave keymapping. Sa susunod kapag pinindot mo ang key, isang serye ng mga keypress ang papatayin nang maayos.

Tandaan na binago namin ang pag-andar ng key sa buong mundo sa buong OS, hangga't tumatakbo ang AutoKey at naka-dock sa system tray. Upang paghigpitan ito sa isang partikular na window o application, kakailanganin mong tukuyin ang mga patakaran sa window sa pamamagitan ng pag-click sa Window Filter button sa ibaba.

Maaari mong gamitin ang parehong script sa itaas upang lumikha ng isang script para sa mabilis na pag-load din. Kailangan mo lamang alisin ang linya para sa arrow key at pagkatapos ay mapa ang script sa key.

Kung naghahanap ka ng mga tamang key name na gagamitin sa mga script ng AutoKey Python 3, isang listahan ng lahat ng mga espesyal na keycode na magagamit sa AutoKey ay matatagpuan dito . Ang anumang key na hindi nabanggit sa pahina sa itaas ay maaaring ipasok gamit ang solong o doble na mga quote. Halimbawa: keyboard.send_key ('5'), keyboard.send_key ('p') at iba pa.

Halimbawa 2: Uminom ng Dalawang Potion sa Kalusugan sa isang Hilera sa isang Larong Paglalaro

Ipagpalagay na ang hotkey na uminom ng potion ng kalusugan sa iyong laro ay, ang script ay:

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

Ang halaga ng variable ng paulit-ulit ay maaaring mabago sa anumang iba pang mga numero pati na rin. Maaari mong sundin ang mga hakbang sa unang halimbawa upang mapa ang script sa iyong nais na hotkey.

Halimbawa 3: Burst Mode para sa Baril sa isang Shooter Game

Gamit ang code sa ibaba, maaari kang mag-map key upang shoot ng isang baril ng tatlong beses sa isang hilera. Ang orihinal na paraan ng pag-shoot sa laro ay ang pagpindot sa kaliwang pag-click sa mouse nang isang beses.

# mga pindutan ng mouse: kaliwa = 1, gitna = 2, kanan = 3
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)

Ang script sa itaas ay papatupad ng kaliwang pag-click sa kaliwang tatlong beses sa isang hilera. Maaaring maidagdag ang mga sobrang pahayag kung nais mong isagawa ang kaliwang pag-click nang higit sa tatlong beses.

Maaari mong sundin ang mga hakbang sa unang halimbawa upang mapa ang script sa hotkey.

Halimbawa 4: Lumikha ng isang Pasadyang Menu ng Laro / Gawin ang isang Real Time Game sa isang Turn based Game

Gamit ang pagpapaandar sa menu ng listahan ng AutoKey, magpapakita kami ng isang menu bilang isang overlay sa tuktok ng isang tumatakbo na laro. Ang menu na ito ay magnakaw ng pagtuon mula sa laro at ibabalik ito pagkatapos ng isang pag-click sa mouse ay naisakatuparan sa isa sa mga item sa menu. Sa sandaling ibalik ang pokus, isang awtomatikong keystroke ay papatayin na nagsasagawa ng isang pag-andar sa loob ng laro.

Tingnan ang larawang ito:

Sa folder ng GameMenu, lumikha ako ng isang subfolder na tinatawag na Show. Parehong may mga item sa bata ang GameMenu at Show folder. Narito ang code na inilagay ko sa loob ng bawat item ng bata:

  • Imbentaryo: keyboard.send_key ('i')
  • Mapa: keyboard.send_key (‘m’)
  • Bumalik sa Laro: keyboard.send_key (‘’)
  • Lumipat sa As assault Rifle: keyboard.send_key ('2')
  • Lumipat sa SMG: keyboard.send_key ('1')

Narito ang folder ng GameMenu ay nai-map sa key at ito ang hitsura sa loob ng tumatakbo na laro:

Ang bawat menu item ay may naunang paunang sulat bago ang label. Maaari kang magpatawag ng anumang item sa menu sa pamamagitan ng pagpindot sa kaukulang key ng numero sa iyong keyboard. Halimbawa, ang pagpindot sa key dito ay ililipat ang baril sa assault rifle.

Isang maliit na demo ng GIF ng halimbawang ito (mag-click sa imahe o mag-right click at buksan ang GIF sa isang bagong tab kung ang animasyon ay tumigil sa ibaba):

Ang pamamaraan na ito ay maaaring hindi gumana sa lahat ng mga laro, nakasalalay sa paraan ng paghawak nila ng window at full-screen rendering. Ang ilang mga laro ay hindi nag-pause kapag ang pagtuon ay ninakaw habang ang iba ay ginagawa. Kung ang laro ay naka-pause kapag nawala ang pagtuon, mahalagang binago mo ang isang real time game sa isang turn based game gamit ang AutoKey script na ito.

Ang halimbawang ito ay gagana sa mga laro sa bawat kaso ayon sa kaso. Gayunpaman sa aking pagsubok, nakamit ko ang magagandang mga resulta sa parehong mga katutubong at Steam na laro ng Proton / Alak.

Konklusyon

Ang lahat ng mga halimbawang nabanggit dito ay pangunahing, pangunahing nakatuon para sa mga manlalaro ng Linux. Saklaw lamang nila ang isang bahagi ng malakas na API ng AutoKey. Maaaring i-automate ng AutoKey ang maraming iyong daloy ng trabaho gamit ang mga tampok sa pag-script nito para sa pang-araw-araw o kumplikadong software din. Ang ilan pang mga halimbawa ay magagamit sa opisyal na dokumentasyon ng app