Wineを介してLinuxでプレイするWindowsゲームがあります。いくつかを自動化したいです。このゲームは、ユーザーインターフェイスが不都合な古いゲームです。 XTestインターフェイス(xte、xvkbd)を使用してキーボードイベントを送信できますが、マウスクリックを送信する方法がわかりません。
Wineはマウス入力テストを無視しているようです(xte "mouseclick 1"は何もしません)。 xmodmapとxkbsetを使用すると、キーストロークを押してマウスイベントをトリガーでき、Wineはこれらのイベントを正しく読み取ることができますが、xte / xvkbdを使用してこれらのキーストロークを偽にすることはできません。それはおそらく、テストインターフェイスがスタック内のより高い位置で発生するからです。私はAutohotkeyを使ってみましたが、その構文はまったく気に入らず、Pythonを使用するだけです。
答え1
問題は何ですかautokey
?これはとても簡単です。次のようにその中に新しいスクリプトを作成します。
mouse.click_relative(50, 700, 1)
点は、現在アクティブなウィンドウに基づいてx方向に50px、y方向に700pxに位置し、左上隅を原点とします。