
現在、次のようなスクリプトを使用して、マウス入力を特定のボタンに送信しています。
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 秒単位しか説明されていませんが、遅延はミリ秒単位で機能するため、違いが説明されます。
スリープしないと、移動と復元の間に顕著な遅延が発生しますが、その理由は説明できません。