Souris

Comment utiliser Xdotool pour stimuler les clics de souris et les frappes sous Linux

Comment utiliser Xdotool pour stimuler les clics de souris et les frappes sous Linux
Xdotool est un outil de ligne de commande gratuit et open source pour simuler les clics de souris et les frappes. Cet article couvrira un bref guide sur l'utilisation de xdotool pour automatiser les entrées du clavier et de la souris. Xdotool fonctionne uniquement sur le serveur d'affichage X et il n'y a pas de support 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 installer 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 frappe en exécutant la commande ci-dessous. Remplacez "n" par n'importe quelle touche ou caractère valide dans la disposition du clavier.

$ xdotool clé n

Notez que la commande ci-dessus simulera à la fois une pression de touche et un relâchement de touche l'un après l'autre et vous ne remarquerez aucun délai entre ces événements. Si vous souhaitez les simuler séparément, utilisez les commandes suivantes :

$ xdotool keydown n
$ xdotool keyup n

Simuler une frappe avec une touche de modification

Les touches de modification modifient le comportement des pressions de touche lorsque deux touches ou plus sont enfoncées simultanément. E.g. , etc. Le processus d'exécution des combinaisons de touches à l'aide de xdotool est également assez similaire :

$ xdotool touche ctrl+s

Vous pouvez trouver des noms corrects pour les touches du clavier à l'aide de la commande suivante :

$ xev

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

Simuler les touches de répétition / Turbo / Tir rapide

Pour simuler plusieurs pressions de touche sur une période de temps, vous devrez spécifier combien de fois les pressions de touche doivent être simulées et le délai entre chaque pression de touche. Pour ce faire, exécutez une commande au format suivant :

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

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

La commande indiquée ci-dessous entrera la touche "n" trois fois avec un délai de 2 secondes entre chaque frappe.

$ pour i dans 1… 3 ; faire xdotool clé n; dormir 2 ; Fini

Vous pouvez également utiliser une boucle while pour simuler à plusieurs reprises des pressions de touche jusqu'à ce que la boucle soit interrompue manuellement à l'aide de clé.

$ tant que vrai ; faire xdotool clé n; dormir 2 ; Fini

Simuler une séquence de touches

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

$ xdotool clé x y z

Simuler les clics de souris

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

$ xdotool cliquez sur 3

Remplacez « 3 » par n'importe quel nombre de la référence ci-dessous :

Si vous souhaitez utiliser un autre jeu de coordonnées, utilisez une commande au format suivant :

$ xdotool mousemove 100 100 clic 3

Remplacez "100" par vos 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 la fenêtre active et réduisez-la

La commande suivante obtiendra l'ID de la fenêtre actuellement en focus, puis la minimisera :

$ xdotool getactivewindow windowminimize

Référez-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 de manuel en exécutant la commande ci-dessous :

$ man xdotool

Vous pouvez également accéder à la page de manuel en ligne.

Mapper les commandes et les scripts Xdotool aux 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 à des raccourcis clavier personnalisés. En cas d'instructions complexes et multiples, enregistrez les commandes dans un script, puis mappez le script sur le raccourci clavier.

Conclusion

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

Tutoriel Bataille pour Wesnoth
The Battle for Wesnoth est l'un des jeux de stratégie open source les plus populaires auxquels vous pouvez jouer en ce moment. Non seulement ce jeu es...
0 A.ré. Didacticiel
Sur les nombreux jeux de stratégie disponibles, 0 A.ré. parvient à se démarquer comme un titre complet et un jeu tactique très profond bien qu'il soit...
Tutoriel Unity3D
Introduction à Unity 3D Unity 3D est un puissant moteur de développement de jeux. C'est une plateforme multiplateforme qui vous permet de créer des je...