Come utilizzare xDotool per stimolare i clic del mouse e le tasti in Linux

Come utilizzare xDotool per stimolare i clic del mouse e le tasti in Linux
XDotool è uno strumento di riga di comando gratuito e open source per simulare clic e tasti. Questo articolo coprirà una breve guida sull'uso di XDotool per automatizzare gli ingressi della tastiera e del mouse. XDotool funziona solo su X Display Server e non esiste un supporto per Wayland (al momento della stesura di questo articolo).

Installazione di XDotool

Per installare XDotool in Ubuntu, eseguire il comando di seguito:

$ sudo apt install xdotool

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

Simula un tasto

È possibile utilizzare XDoTool per simulare un tasto eseguendo il comando di seguito. Sostituire "N" con qualsiasi tasto o carattere valido nel layout della tastiera.

$ xdotool Key n

Si noti che il comando sopra simulerà sia una pressione del tasto che una versione del 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 un tasto con un tasto modificatore

Chiavi modificanti Modifica il comportamento dei tastieri quando due o più tasti vengono premuti contemporaneamente. E.G. , e così via. Anche il processo per l'esecuzione di combinazioni di chiavi usando XDotool è abbastanza simile:

$ xdotool Key Ctrl+S

È possibile trovare nomi corretti per i tasti della tastiera utilizzando il comando seguente:

$ xev

Si aprirà una piccola finestra. Tienilo concentrato, quindi premi qualsiasi tasto. Otterrai il nome della chiave nell'output del terminale.

Simulare i tasti di ripetizione / turbo / fuoco rapido

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

$ xdotool Key -Ripeat 5 -Delay 50 N

Sostituire i valori di "-repeat" e "-delay" (in millisecondi) gli switch 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. Puoi usare dichiarazioni di loop "per" e "mentre" per superare questa limitazione.

Il comando indicato di seguito inserirà il tasto "N" tre volte con un ritardo di 2 secondi tra ciascun tastiera.

$ per i in 1 ... 3; do xdotool key n; sonno 2; Fatto

È inoltre possibile utilizzare un ciclo while per simulare ripetutamente le principali pratiche fino a quando il ciclo non viene interrotto manualmente usando la chiave.

$ mentre è vero; do xdotool key n; sonno 2; Fatto

Simulare una sequenza chiave

Per simulare più tasti uno dopo l'altro, utilizzare un comando nel seguente formato:

$ xdotool chiave x y z

Simulare i clic del mouse

Per simulare un clic destro sulla posizione corrente del puntatore, eseguire il comando di seguito:

$ xdotool Fare clic su 3

Sostituisci "3" con qualsiasi numero dal riferimento di seguito:

  • 1 - Click sinistro
  • 2 - Clicca centrale
  • 3 - Fare clic con il tasto destro
  • 4 - Scorri verso l'alto
  • 5 - Scrotolare la ruota verso il basso

Se si desidera utilizzare un diverso set di coordinate, utilizzare un comando nel seguente formato:

$ xdotool MouseMemove 100 100 Clicca 3

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

Si noti che vari esempi spiegati finora con i tasti possono anche essere utilizzati con clic del mouse.

Ottieni la finestra attiva e minimizzalo

Il comando seguente riceverà l'ID della finestra attualmente a fuoco e quindi minimizzerà:

$ xdotool getActiveWindow Windowminimize

Fare riferimento alla pagina Man

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

$ man xdotool

Puoi anche accedere alla pagina Man online.

Mappa i comandi e gli script di mappa su scorciatoie da tastiera

È possibile utilizzare le scorciatoie da tastiera GUI di configurazione disponibile nelle impostazioni di sistema della distribuzione per assegnare semplici comandi XDotool a scorciatoie da tastiera personalizzate. In caso di istruzioni complesse e multiple, salva i comandi in uno script e quindi mappa lo script su una scorciatoia da tastiera.

Conclusione

XDotool è una delle migliori utilità disponibili per automatizzare la tastiera e gli ingressi del mouse in Linux. È possibile eseguire macro semplici e comandi complessi con catena più input simulati.