Topo

Come utilizzare Xdotool per stimolare i clic del mouse e le sequenze di tasti in Linux

Come utilizzare Xdotool per stimolare i clic del mouse e le sequenze di tasti in Linux
Xdotool è uno strumento da riga di comando gratuito e open source per simulare i clic del mouse e le sequenze di tasti. Questo articolo tratterà una breve guida sull'uso di xdotool per automatizzare gli input da tastiera e mouse. Xdotool funziona solo su server di visualizzazione X e non c'è supporto per Wayland (al momento della stesura di questo articolo).

Installazione di Xdotool

Per installare xdotool in Ubuntu, esegui il comando seguente:

$ sudo apt install xdotool

Per installare xdotool in altre distribuzioni Linux, cerca il termine "xdotool" nel gestore pacchetti. Xdotool è incluso nei repository della maggior parte delle distribuzioni Linux.

Simula una sequenza di tasti

Puoi usare xdotool per simulare una sequenza di tasti eseguendo il comando qui sotto. Sostituisci "n" con qualsiasi tasto o carattere valido nel layout della tastiera.

$ chiave xdotool n

Nota che il comando sopra simulerà sia la pressione di un tasto che il rilascio di un tasto uno dopo l'altro e non noterai alcun ritardo tra questi eventi. Nel caso in cui desideri simularli separatamente, usa i seguenti comandi:

$ xdotool keydown n
$ xdotool keyup n

Simula una sequenza di tasti con un tasto modificatore

I tasti modificatori modificano il comportamento dei tasti premuti quando due o più tasti vengono premuti contemporaneamente. E.g. , e così via. Anche il processo per eseguire le combinazioni di tasti utilizzando xdotool è abbastanza simile:

$ tasto xdotool ctrl+s

Puoi trovare i nomi corretti per i tasti della tastiera usando il seguente comando:

$ xev

Si aprirà una piccola finestra. Mantieni la concentrazione, quindi premi un tasto qualsiasi. Otterrai il nome della chiave nell'output del terminale.

Simula tasti di ripetizione / Turbo / Fuoco rapido

Per simulare più tasti premuti in un periodo di tempo, dovrai specificare il numero di volte in cui i tasti premuti devono essere simulati e il ritardo tra ogni pressione del tasto. Per fare ciò, esegui un comando nel seguente formato:

$ tasto xdotool --repeat 5 --delay 50 n

Sostituisci i valori degli interruttori "-repeat" e "-delay" (in millisecondi) in base alle tue esigenze. Nota che ho avuto problemi di ripetizione quando ho impostato il ritardo su più di 500 ms. Questo potrebbe essere un bug o un comportamento previsto e se stai affrontando problemi simili, evita di impostare valori di ritardo elevati. È possibile utilizzare le istruzioni di ciclo "for" e "while" per superare questa limitazione.

Il comando indicato di seguito inserirà il tasto "n" tre volte con un ritardo di 2 secondi tra ogni sequenza di tasti.

$ per i in 1… 3; fai xdotool chiave n; dormire 2; fatto

Puoi anche usare un ciclo while per simulare ripetutamente la pressione dei tasti fino a quando il ciclo non viene interrotto manualmente usando chiave.

$ mentre vero; fai xdotool chiave n; dormire 2; fatto

Simula una sequenza di tasti

Per simulare più chiavi una dopo l'altra, usa un comando nel seguente formato:

$ chiave xdotool x y z

Simula clic del mouse

Per simulare un clic destro nella posizione corrente del puntatore, esegui il comando seguente:

$ xdotool clic 3

Sostituisci "3" con qualsiasi numero dal riferimento seguente:

Se vuoi usare un diverso insieme di coordinate, usa un comando nel seguente formato:

$ xdotool mousemove 100 100 clic 3

Sostituisci "100" con le coordinate desiderate come "X" e "Y" dall'angolo in alto a sinistra dello schermo.

Nota che vari esempi spiegati finora con le sequenze di tasti possono essere utilizzati anche con i clic del mouse.

Ottieni finestra attiva e riducila a icona

Il seguente comando otterrà l'ID della finestra attualmente attiva e quindi la ridurrà a icona:

$ xdotool getactivewindow windowminimize

Fare riferimento alla pagina Man

Xdotool include numerose opzioni e puoi utilizzare innumerevoli combinazioni diverse per personalizzare il comportamento delle sequenze di tasti e dei clic del mouse. Non è possibile coprire tutti i casi d'uso qui, puoi fare riferimento alla pagina man eseguendo il comando seguente:

$ man xdotool

Puoi anche accedere alla pagina man online.

Mappa i comandi e gli script di Xdotool sulle scorciatoie da tastiera

Puoi utilizzare la GUI di configurazione delle scorciatoie da tastiera disponibile nelle impostazioni di sistema della tua distribuzione per assegnare semplici comandi xdotool alle scorciatoie da tastiera personalizzate. In caso di istruzioni complesse e multiple, salvare i comandi in uno script e quindi mappare lo script sulla scorciatoia da tastiera.

Conclusione

Xdotool è una delle migliori utility disponibili per automatizzare gli input di tastiera e mouse in Linux. Puoi eseguire macro semplici e comandi complessi concatenando più input simulati.

Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...
Come scaricare e giocare a Sid Meier's Civilization VI su Linux
Introduzione al gioco Civilization 6 è una versione moderna del concetto classico introdotto nella serie dei giochi Age of Empires. L'idea era abbasta...
Come installare e giocare a Doom su Linux
Introduzione a Doom La serie Doom è nata negli anni '90 dopo l'uscita dell'originale Doom. È stato un successo immediato e da quel momento in poi la s...