Xdotool : simulation du clavier et de la souris sous Linux
Xdotool est un programme capable de simuler des événements claviers et souris. On pourra s'en servir pour mettre en place de véritables "scénarios" d'action à rejouer. Contrairement à Randtype vu dernièrement, xdotool ne se limite pas au terminal. Il est aussi capable de manipuler les fenêtres de votre environnement graphique.
Installation de xdotool
Pour une distribution à base de rpm, ouvrez un terminal en root et lancez la commande suivante :
yum install xdotool
Ou celle-ci pour une distrbution à base de Debian :
sudo apt-get install xdotool
Exemples d'utilisation de xdotool
Xdotool peut s'utiliser en ligne de commande pour des actions simples. Le paramètre -h vous permettra d'obtenir de l'aide.
Mais dans la plupart des cas, on aura besoin de combiner plusieurs événements. L'utilisation d'un script sera alors la meilleure solution. Voici un exemple de ce que l'on peut réaliser avec :
#!/bin/bash WID=`xdotool search --title "Mozilla Firefox" | head -1` xdotool windowfocus $WID xdotool key ctrl+l xdotool type "www.tux-planet.fr" xdotool key "Return"
Ce script effectue dans l'ordre les actions suivantes :
- on recherche l'id de la fenêtre Firefox
- on se positionne sur cette fenêtre
- on utilise la touche de raccourci Ctrl+l qui permet d'utiliser la barre d'adresse
- on écrit l'adresse de Tux-planet
- on valide avec la touche entrée
On aurait pu aller encore plus loin, en déplaçant le curseur de la souris et en cliquant sur un lien :
xdotool mousemove 500 500 xdotool click 1
Les possibilités de xdotool sont donc intéressantes. Libre à vous de créer vos propres scénarios.
9 Commentaires pour "Xdotool : simulation du clavier et de la souris sous Linux"
Flux des commentaires de cet article Ajouter un commentaireEt hop un petit script pour "tricher" à JamLegend
Merci pour l'astuce. C'est super pratique si on veut ce faire un petit script qui ouvre automatiquement dans firefox et dans différent onglets les sites qu'on visite de manière régulière par exemple.
@maeln : pourquoi ne pas utiliser la commande "firefox http://bing.com/ http://google.com/ http://yahoo.com/" pour ouvrir plusieurs sites ? On peut l'utiliser dans un script ou un lanceur d'application (au moins sous GNOME).
@Moe @maeln : certe on peut faire autrement pour ouvrir un site Internet. C'est juste un exemple, xdotools permet de faire plein d'autres choses...
Ce qu'il reste à trouver c'est un logiciel pour «lire» l'écran et agir en conséquence. Ensuite … à nous la triche !
Bonjour,
Je tente d'automatiser la combinaison Fn + Diminuer la luminosité au démarrage d'un ordi portable pour obtenir automatiquement un affichage optimal. Je pense qu'Xdotool devrait me permettre de le faire mais je ne sais pas comment nommer ces 2 touches. Y a t'il des idées lumineuses dans l'assemblée ?
Bon dimanche.
Jean
@Jean49 : le nom de ce 2 touches
@erdnaxeli :
Bonjour.
Je propose http://sikuli.org/.
Parfait dans linux avec grab-x-link.el pour capturer un lien org-mode de la dernière fenêtre web ouverte dans emacs. Fonction similaire à mac-grab-link sur macos !