マウスクリックを座標に送信する

マウスクリックを座標に送信する

現在、次のようなスクリプトを使用して、マウス入力を特定のボタンに送信しています。

xdotool mousemove <x> <y>
xdotool click --window <window_id>

これは問題なく動作しますが、マウスを移動する必要があるため、手動で他の作業を行うのに支障をきたし、煩わしいです。

X では、カーソルを移動せずに、指定した場所でクリック/マウス イベントを送信することは可能ですか?

もちろん を使用することもできますmousemove restoreが、カーソルがまだ移動中であるため、これは最適な解決策ではありません。

答え1

少し遅いですが、連鎖コマンドのクリックと復元の間に非常に短いスリープを追加すると、私のマシンでは追加の動きに気付かずにマウスが復元されます。

例えばxdotool mousemove <x> <y> click 1 sleep 0.01 mousemove restore

を使用した場合の違いに気付きましたsleep 0.1 vs sleep 0.01。マニュアル ページでは 0.x 秒単位しか説明されていませんが、遅延はミリ秒単位で機能するため、違いが説明されます。

スリープしないと、移動と復元の間に顕著な遅延が発生しますが、その理由は説明できません。

関連情報