xdotool,单击并按住并移动鼠标

xdotool,单击并按住并移动鼠标

我想自动执行一项任务,我需要滚动类似 Google 的地图界面,我通常会这样做:

  1. 点击一个点
  2. 按住点击
  3. 鼠标相对向左移动 100 像素
  4. 停止持有
  5. 稍等一下,返回1

但是我试过了,$ xdotool click 1 mousemove_relative 0 100没有用,好像没有效果。我该怎么做才能达到这个目的?

答案1

纯xdotool版本

假设你的位置是 500 500

xdotool mousemove 500 500
xdotool mousedown 1
xdotool mousemove_relative 0 100
xdotool mouseup 1
sleep 1

如果您愿意,也可以将其压缩为仅一行:

xdotool mousemove 500 500 mousedown 1 mousemove_relative 0 100 mouseup 1 sleep 1

答案2

你可以使用陳文记录您的鼠标动作并在需要时重播。

它有一个名为的 GUI gnee。上次我尝试时没有得到很好的结果,但那是很久以前的事了,从那时起情况可能已经发生了变化。

以下是我用于录音的内容:

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

这可让您在开始前四处走动并做好准备。ok准备好后单击,等待 1 秒并执行操作。Ctrl-c完成后。

然后你可以用以下方法重播它:

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

您甚至可以比原始版本更快地重播它(!)

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

您可能必须编辑掉的结尾cnee.data以删除您在操作和之间所做的事情Ctrl-c

答案3

如果您想按住,等待 1 秒,移动到坐标 0 0,再等待 1 秒,然后按住,请尝试以下操作:

xdotool mousedown 1 sleep 1 mousemove 0 0 sleep 1 mouseup 1

相关内容