xdotool, klicken und halten und bewegen Sie die Maus

5194
Mustafa

Ich möchte eine Aufgabe automatisieren, ich muss ein Google-ähnliches Karten-Interface scrollen. Was ich normalerweise mache:

  1. Klicken Sie auf eine Stelle
  2. Halten Sie den Klick gedrückt
  3. Bewegen Sie die Maus um 100 Pixel nach links
  4. Halten Sie an zu halten
  5. Warten Sie etwas und kehren Sie zu 1 zurück

Ich habe $ xdotool click 1 mousemove_relative 0 100es zwar versucht, aber es hat nicht geholfen, es scheint es nicht zu halten. Was kann ich tun, um das zu erreichen?

3

2 Antworten auf die Frage

3
TuxForLife

Reine xdotool-Version

Nehmen wir an, Ihr Platz ist 500 500

xdotool mousemove 500 500 xdotool keydown Pointer_Button1 xdotool mousemove_relative 0 100 xdotool keyup Pointer_Button1 sleep 1 

Sie können es auch auf nur eine Zeile verdichten, wenn Sie möchten:

xdotool mousemove 500 500 keydown Pointer_Button1 mousemove_relative 0 100 keyup Pointer_Button1 sleep 1 
1
lemonsqueeze

Sie können mit xnee Ihre Mausaktion aufzeichnen und sie bei Bedarf später wiedergeben.

Es gibt eine GUI dafür gnee. Ich hatte beim letzten Versuch nicht sehr gute Ergebnisse, aber das war lange her, die Dinge könnten sich seitdem geändert haben.

Folgendes habe ich für die Aufnahme verwendet:

$ sleep 2 ; xmessage ready ; sleep 1 ; cnee --record --mouse --keyboard -o cnee.data 

So können Sie sich vor dem Start umherbewegen und vorbereiten. Klicken okSie, wenn Sie fertig sind, warten Sie 1s und führen Sie Ihre Aktion aus. Ctrl-cwenn du fertig bist.

Dann kannst du es mit:

$cnee --replay -f cnee.data -v -e /dev/null -ns 

Sie können es sogar schneller als das Original (!) Abspielen.

$cnee --replay --speed-percent 40 -f cnee.data -v -e /dev/null -ns 

Sie müssen wahrscheinlich das Ende von cnee.datarausschneiden, um das, was Sie zwischen Ihrer Aktion und dem gemacht haben, loszuwerden Ctrl-c.