有没有什么方法可以让我xdotool
按住某个键并每秒执行一定数量的鼠标点击?
答案1
这是我的 bash 脚本xdotool
。您可以使用键盘快捷键进行设置。当您移动鼠标时,它会停止。当然,您可以根据自己的喜好编写自己的脚本。
#!/bin/bash
eval $(xdotool getmouselocation --shell)
echo $X $Y
x1=$X
y1=$Y
COUNTER=1
COUNTEND=100000
#REPEAT= 0.09s
while [ $COUNTER -lt $COUNTEND ]; do
echo the counter is $COUNTER
xdotool click 1
eval $(xdotool getmouselocation --shell)
# cancel if mouse moved
if [ $x1 != $X ] || [ $y1 != $Y ]; then
echo Mouse moved - script terminated
exit 1
fi
#this sleep works for repetition rate
sleep 0.01s
let COUNTER=COUNTER+1
# xdotool click --delay 90 --repeat 1000 1
done
答案2
部分答案。首先,您必须绑定您的键来运行代码。我认为最简单的方法是使用 AutoKey,它提供此功能以及大量其他键盘自动化功能。
处理完这些之后,你只需要编写一个非常小的键盘宏(用 Python 编写),它使用 xdotool 发出鼠标事件,然后休眠一秒钟,除以你每秒想要的事件数。我不确定的部分是检测按键释放以停止该过程,但由于宏是用 Python 编写的,几乎任何事情都应该是可能的。
由于代码需要时间运行等,因此每秒的点击次数不会精确到这么多,因此您必须相应地调整休眠时间。出于同样的原因以及系统负载等原因,点击间隔不会完全相等。
对于大多数实际应用来说,这样的方法应该“足够好”。
如果这听起来对您有用,那么我们可以在论坛内或论坛外更深入地探讨实际实施情况。