Comment utiliser XDOTOOL pour stimuler les clics de souris et les frappes dans Linux

Comment utiliser XDOTOOL pour stimuler les clics de souris et les frappes dans Linux
XDOTOOL est un outil de ligne de commande gratuit et open source pour simuler des clics et des touches de souris. Cet article couvrira un bref guide sur l'utilisation de XDOTOOL pour automatiser les entrées de clavier et de souris. XDOTOOL travaille uniquement sur le serveur d'affichage X, et il n'y a pas de prise en charge pour Wayland (au moment de la rédaction de cet article).

Installation de XDOTOOL

Pour installer XDOTOOL dans Ubuntu, exécutez la commande ci-dessous:

$ sudo apt install xdotool

Pour installer XDOTOOL dans d'autres distributions Linux, recherchez le terme «xdotool» dans le gestionnaire de packages. XDOTOOL est inclus dans les référentiels de la plupart des distributions Linux.

Simuler une frappe

Vous pouvez utiliser XDOTOOL pour simuler une touche en exécutant la commande ci-dessous. Remplacez «N» par n'importe quelle touche ou caractère valide dans la disposition du clavier.

$ xdotool Key n

Notez que la commande ci-dessus simulera à la fois une appuye sur une touche et une version de clé l'une après l'autre et que vous ne remarquerez aucun retard entre ces événements. Si vous souhaitez les simuler séparément, utilisez les commandes suivantes:

$ xdotool keydown n
$ xdotool Keyup n

Simuler une touche avec une clé de modificateur

Les touches de modificateur modifient le comportement des fesses de touches lorsque deux touches ou plus sont enfoncées simultanément. E.g. , et ainsi de suite. Le processus d'exécution des combinaisons de clés à l'aide de xdotool est également assez similaire:

$ xdotool key ctrl + s

Vous pouvez trouver des noms corrects pour les touches du clavier en utilisant la commande suivante:

$ xev

Une petite fenêtre s'ouvrira. Gardez-le concentré, puis appuyez sur n'importe quelle touche. Vous obtiendrez le nom de la clé dans la sortie du terminal.

Simuler des touches répétées / turbo / feu rapide

Pour simuler plusieurs déempes de touches sur une période de temps, vous devrez spécifier le nombre de fois des déempes de touches et des délai entre chaque touche Appuyez sur. Pour ce faire, exécutez une commande dans le format suivant:

$ xdotool Key - Repeat 5 - Relay 50 N

Remplacez les valeurs des commutateurs «repeat» et «-delay» (en millisecondes) en fonction de vos exigences. Notez que j'avais des problèmes de répétition lorsque j'ai réglé le retard à plus de 500 ms. Cela pourrait être un bug ou un comportement prévu et si vous faites face à des problèmes similaires, évitez de définir des valeurs de retard élevés. Vous pouvez utiliser des instructions de boucle «pour» et «while» pour surmonter cette limitation.

La commande indiquée ci-dessous entrera trois fois la clé «n» avec un retard de 2 secondes entre chaque touche.

$ pour i dans 1… 3; faire la clé XDOTOOL n; dormir 2; fait

Vous pouvez également utiliser une boucle de temps pour simuler à plusieurs reprises des déempes de clés jusqu'à ce que la boucle soit interrompue manuellement à l'aide de la clé.

$ tandis que c'est vrai; faire la clé XDOTOOL n; dormir 2; fait

Simuler une séquence clé

Pour simuler plusieurs touches l'une après l'autre, utilisez une commande dans le format suivant:

$ xdotool Key x y z

Simuler les clics de la souris

Pour simuler un clic droit à l'emplacement actuel du pointeur, exécutez la commande ci-dessous:

$ xdotool Click 3

Remplacez «3» par par n'importe quel numéro à partir de la référence ci-dessous:

  • 1 - clic gauche
  • 2 - Click Middle
  • 3 - Cliquez avec le bouton droit
  • 4 - roue de défilement vers le haut
  • 5 - Rouge de défilement vers le bas

Si vous souhaitez utiliser un autre ensemble de coordonnées, utilisez une commande dans le format suivant:

$ xdotool MouseMove 100 100 Click 3

Remplacez «100» par les coordonnées souhaitées comme «X» et «Y» dans le coin supérieur gauche de l'écran.

Notez que divers exemples expliqués jusqu'à présent avec des frappes peuvent également être utilisés avec des clics de souris.

Obtenez une fenêtre active et minimisez-la

La commande suivante obtiendra l'ID de la fenêtre actuellement dans le foyer, puis le minimisera:

$ xdotool getactivewindow windowmimize

Reportez-vous à la page de l'homme

XDOTOOL comprend de nombreuses options et vous pouvez utiliser d'innombrables combinaisons différentes pour personnaliser le comportement des frappes et des clics de souris. Il n'est pas possible de couvrir tous les cas d'utilisation ici, vous pouvez vous référer à la page Man en exécutant la commande ci-dessous:

$ man xdotool

Vous pouvez également accéder à la page de l'homme en ligne.

Carte les commandes et scripts des raccourcis clavier

Vous pouvez utiliser l'interface graphique de configuration des raccourcis clavier disponible dans les paramètres système de votre distribution pour attribuer des commandes XDOTool simples aux raccourcis clavier personnalisés. En cas d'instructions complexes et multiples, enregistrez les commandes dans un script, puis mappez le script au raccourci clavier.

Conclusion

XDOTOOL est l'un des meilleurs utilitaires disponibles pour automatiser les entrées de clavier et de souris dans Linux. Vous pouvez exécuter des macros simples ainsi que des commandes complexes en chaînant plusieurs entrées simulées.