xdotool
を使用して、特定のキーを押しながら1秒間に特定の数のマウスクリックを実行する方法はありますか?
これは、xdotool
のbashスクリプトです。キーボードショートカットで設定できます。マウスを動かすと停止します。もちろん、好みに合わせて独自のスクリプトを作成できます。
#!/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
部分的な答え。まず、キーをバインドしてコードを実行する必要があります。 IMHOでこれを行う最も簡単な方法は、AutoKeyを使用することです。AutoKeyは、他の多くのキーボードオートメーション機能とともにその機能を提供します。
それを処理したら、xdotoolを使用してマウスイベントを発行し、1秒間に必要なイベント数で割って1秒間スリープする非常に小さなキーボードマクロ(Python)を記述するだけです。不明な部分は、プロセスを停止するためのキーリリースを検出することですが、マクロはPythonで記述されているため、ほとんど何でも可能です。
コードの実行などに時間がかかるため、これは毎秒正確にはそれほど多くなく、それに応じてスリープ時間を調整する必要があります。同じ理由やシステム負荷などの理由で、クリックの間隔が完全に等しくなるわけではありません。
ほとんどの実用的なアプリケーションでは、このようなアプローチは「十分に良い」はずです。
これがあなたにとってうまくいくように思えるなら、フォーラムのオンまたはオフでの実際の実装をより深く知ることができます。