2010-06-06 9 views
11

ProblèmeSimuler mouvement de la souris dans Ubuntu

cherche à déplacer automatiquement le curseur de la souris et de simuler les clics de bouton de souris à partir de la ligne de commande en utilisant un script externe. Je ne suis pas à la recherche de:

  • Enregistrer le mouvement de la souris et la lecture (par exemple, xnee, xmacro)
  • déplacer instantanément la souris d'un endroit à un autre (par exemple, xdotool, warp_pointer de Python)

Solution idéale

Ce que je voudrais faire est la suivante:

  1. Modifiez un fichier de script simple (par exemple, mouse-script.txt).
  2. Ajoutez une liste de coordonnées, de vitesses de déplacement, de retards et de clics de bouton. Par exemple:
     
    (x, y, rate) = (500, 500, 50) 
    sleep = 5 
    click = left 
    
  3. Exécutez le script: xsim < mouse-script.txt.

Question

Comment automatiser le mouvement de la souris afin que la transition entre son emplacement actuel vers un autre endroit sur l'écran, à une vitesse spécifique? Par exemple:

xdotool mousemove 500 500 --rate 50 

Le --rate 50 n'existe pas xdotool.

Répondre

13
  1. Télécharger xaut pour Python
  2. Suivez les README instructions
  3. Run:
     
    sudo apt-get install swig x11proto-xext-dev libx11-dev libxtst-dev 
    cd /usr/local/src 
    tar zxf xaut-0.2.0.tar.gz 
    ./configure 
    
  4. Modifier src/Makefile
  5. Modifier la ligne CFLAGS comme suit:
     
    CFLAGS = -Wall -fPIC -fno-stack-protector
  6. Run:
     
    make 
    
  7. Copie /usr/local/src/xaut-0.2.0/python/build/lib/* dans un nouveau répertoire.
  8. Accédez à ce nouveau répertoire.
  9. Copiez et collez le script suivant dans mm.py:
     
    import xaut 
    mouse = xaut.mouse() 
    delay mouse.move_delay(100) 
    mouse.move(500, 500) 
    
  10. exécuter le script:
     
    python mm.py
+0

En outre, lorsque vous faites les étapes ci-dessus, il échouera sur Ubuntu 11.10. Tout d'abord dans mon cas dans le makefile j'ai dû ajouter le chemin absolu de libX11.so qui n'est pas dans/usr/local/lib comme le makefile le suggère mais dans usr/local/lib/i386-linux-gnu. Ensuite, quand vous corrigez cela, vous pouvez compiler à nouveau. Alors changez ld -shared en gcc -shared dans le makefile et c'est tout –

+0

Une idée de comment accomplir de telles tâches * sans * bibliothèques/outils externes? – Jewenile

6

sur les nouvelles versions d'Ubuntu (14.04+), vous pouvez utiliser Autopilot, un outil de test de l'interface utilisateur pour Ubuntu. Il est conçu pour la création et l'exécution de tests d'interface utilisateur, mais peut également être utilisé pour les tâches d'automatisation de base de l'interface graphique.

à installer:

$ sudo apt-get install python3-autopilot 

pour automatiser mouse movement un exemple de script (python3):

#!/usr/bin/env python3 

from autopilot.input import Mouse 

mouse = Mouse.create() 
mouse.move(100, 50) 
mouse.click() 

Vous courraient ce comme tout autre scénario python3. Regardez le pointeur de votre souris bouger!

Questions connexes