Come utilizzare AutoKey per automatizzare i giochi Linux

How Use Autokey Automate Linux Games



Chiave automatica è un'utility di automazione desktop per Linux e X11, programmata in Python 3, GTK e Qt. Utilizzando la sua funzionalità di scripting e MACRO, puoi automatizzare la pressione dei tasti, i clic del mouse e la maggior parte delle parti di un'interfaccia desktop. Se stai cercando un'alternativa al programma Windows Tasto di scelta rapida automatico , AutoKey è la migliore opzione disponibile oggi per gli utenti Linux.

Nota che questa è solo un'applicazione X11, il supporto Wayland non è stato aggiunto all'applicazione al momento della stesura di questo articolo.







Alcune delle funzionalità di AutoKey sono:



  • Supporta abbreviazioni che possono espandere automaticamente alcuni caratteri in qualsiasi frase e blocco di testo di uso comune.
  • Supporta l'invio di sequenze di tasti arbitrarie e clic del mouse.
  • Supporta la specifica di regole per una finestra dell'applicazione specifica.
  • Gli script Python 3 possono essere utilizzati per scrivere regole di automazione.
  • Possibilità di controllare le funzioni della finestra come l'ingrandimento, il ridimensionamento e lo spostamento.
  • Viene fornito con una serie di esempi preconfigurati per semplificare lo scripting.
  • Possibilità di mostrare popup di menu personalizzati con un elenco di scelte.
  • Possibilità di registrare sequenze di tasti e clic del mouse.
  • Possibilità di impostare tasti di scelta rapida senza tasti modificatori.
  • Gli script di automazione sono portatili e possono essere facilmente condivisi con altri utenti.

Questa guida ti mostrerà alcuni esempi di AutoKey utili per i giocatori Linux. Per iniziare, installiamo i pacchetti Autokey Ubuntu dalla sua pagina GitHub. Scarica i file menzionati di seguito da qui



  • 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 (scaricane solo uno)

Dopo aver scaricato i file, eseguire i seguenti comandi nell'ordine:





$sudoadattoinstallare./autokey-common_0.95.8-0_all.deb
$sudoadattoinstallare./autokey-gtk_0.95.8-0_all.deb

È comune vedere molti giochi per PC che utilizzano la chiave per il salvataggio rapido e per il caricamento rapido. Tuttavia, molti altri giochi per PC, in particolare le porte della console, hanno un modo noioso per salvare il gioco in cui devi navigare tra più opzioni di menu. Ecco un rapido mockup che ho disegnato che lo illustra (scusate le mie capacità di disegno):



Il gioco vuole che tu prema il tasto per mettere in pausa il gioco, quindi il tasto freccia, quindi il tasto per salvare il gioco, seguito di nuovo dal tasto per tornare al gioco. L'intero processo può essere facilmente automatizzato e mappato sulla chiave utilizzando AutoKey. Dai un'occhiata al codice dello script qui sotto:

importaretempo
keyboard.send_key('')
tempo.dormire(0.25)
keyboard.send_key('')
tempo.dormire(0.25)
keyboard.send_key('')
tempo.dormire(0.25)
keyboard.send_key('')

Per aggiungere questo script a AutoKey, avvia l'app e quindi fai clic su una cartella visibile o fai clic su una cartella personalizzata creata da te per evidenziarla. Clicca su File > Nuovo > Script opzione di menu per creare un nuovo script all'interno di quella cartella, come mostrato nella schermata seguente:

Rinomina questo script in Quicksave e inserisci il codice sopra al suo interno. Quindi fai clic sul pulsante Hotkey in basso, come mostrato nello screenshot qui sotto:

Nella schermata successiva, fai clic sul pulsante Premi per impostare e quindi premi il tasto per mapparlo allo script.

Chiave:(Nessuno)cambierà in Chiave:<f5>.

Fare clic su OK e premere per salvare lo script. Ricorda sempre di salvare lo script altrimenti non verrà eseguito nulla quando premi il tasto di scelta rapida mappato.

La mappatura dei tasti di salvataggio rapido è ora pronta per essere utilizzata. La prossima volta che si preme il tasto, verrà eseguita una serie di pressioni di tasti in ordine.

Si noti che abbiamo modificato la funzionalità della chiave a livello globale in tutto il sistema operativo, a condizione che AutoKey sia in esecuzione e sia agganciato alla barra delle applicazioni. Per limitarlo a una particolare finestra o applicazione, dovrai specificare le regole della finestra facendo clic sul pulsante Filtro finestra in basso.

Puoi utilizzare lo stesso script sopra per creare anche uno script per il caricamento rapido. Devi solo rimuovere la linea per il tasto freccia e quindi mappare lo script su chiave.

Se stai cercando nomi di chiavi corretti da utilizzare negli script AutoKey Python 3, è possibile trovare un elenco di tutti i codici chiave speciali utilizzabili in AutoKey qui . Qualsiasi chiave non menzionata nella pagina precedente può essere inserita utilizzando virgolette singole o doppie. Esempio: keyboard.send_key('5'), keyboard.send_key('p') e così via.

Esempio 2: bere due pozioni di salute di seguito in un gioco di ruolo

Supponendo che il tasto di scelta rapida per bere la pozione di salute nel tuo gioco sia , lo script sarebbe:

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

Il valore della variabile di ripetizione può essere modificato anche con qualsiasi altro numero. Puoi seguire i passaggi nel primo esempio per mappare lo script sul tasto di scelta rapida desiderato.

Esempio 3: modalità Burst per pistola in un gioco sparatutto

Usando il codice qui sotto, puoi mappare la chiave per sparare con una pistola tre volte di seguito. Il modo originale di sparare nel gioco è premere il tasto sinistro del mouse una volta.

# pulsanti del mouse: sinistro=1, centrale=2, destro=3
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)

Lo script di cui sopra eseguirà il clic sinistro del mouse tre volte di seguito. È possibile aggiungere ulteriori istruzioni se si desidera eseguire il clic sinistro più di tre volte.

Puoi seguire i passaggi nel primo esempio per mappare lo script su hotkey.

Esempio 4: creare un menu di gioco personalizzato/trasformare una partita in tempo reale in una partita a turni

Utilizzando la funzionalità del menu elenco di AutoKey, mostreremo un menu come sovrapposizione sopra un gioco in esecuzione. Questo menu ruberà il focus dal gioco e lo restituirà dopo che un clic del mouse è stato eseguito su una delle voci del menu. Una volta restituito il focus, verrà eseguita una sequenza di tasti automatica che richiama una funzione all'interno del gioco.

Dai un'occhiata a questa immagine:

Nella cartella GameMenu, ho creato una sottocartella chiamata Show. Sia GameMenu che la cartella Show hanno elementi figlio. Ecco il codice che ho inserito all'interno di ogni articolo figlio:

  • Inventario: keyboard.send_key('i')
  • Mappa: keyboard.send_key('m')
  • Torna al gioco: keyboard.send_key('')
  • Passa al fucile d'assalto: keyboard.send_key('2')
  • Passa a SMG: keyboard.send_key('1')

Qui la cartella GameMenu è mappata alla chiave e questo è come appare all'interno del gioco in esecuzione:

Ogni voce di menu ha un numero preceduto dalla sua etichetta. Puoi richiamare qualsiasi voce di menu premendo il tasto numerico corrispondente sulla tastiera. Ad esempio, premendo il tasto qui si cambierà la pistola in un fucile d'assalto.

Una piccola demo GIF di questo esempio (fai clic sull'immagine o fai clic con il pulsante destro del mouse e apri la GIF in una nuova scheda se l'animazione si interrompe sotto):

Questo metodo potrebbe non funzionare con tutti i giochi, a seconda del modo in cui gestiscono il rendering in finestra ea schermo intero. Alcuni giochi non si mettono in pausa quando viene rubato il focus, mentre altri lo fanno. Se il gioco si interrompe quando si perde il focus, hai essenzialmente convertito un gioco in tempo reale in un gioco a turni usando questo script AutoKey.

Questo esempio funzionerà con i giochi caso per caso. Tuttavia, nei miei test, ho ottenuto risultati piuttosto buoni sia con i giochi nativi che con Steam Proton / Wine.

Conclusione

Tutti gli esempi qui menzionati sono di base, principalmente focalizzati per i giocatori Linux. Coprono solo una parte della potente API di AutoKey. AutoKey può automatizzare gran parte del tuo flusso di lavoro utilizzando le sue funzionalità di scripting anche per software di uso quotidiano o complesso. Alcuni altri esempi sono disponibili nel documentazione ufficiale dell'app.