C++でマウスとキーボードの入力をシミュレートする方法を探しています。私はこれを達成するのに役立つクロスプラットフォームのライブラリを探しています。助言がありますか?C++でマウスとキーボードの入力をシミュレートする
ターゲットプラットフォームは、デスクトッププラットフォーム... Linux、Mac、およびWindowsのみです。
C++でマウスとキーボードの入力をシミュレートする方法を探しています。私はこれを達成するのに役立つクロスプラットフォームのライブラリを探しています。助言がありますか?C++でマウスとキーボードの入力をシミュレートする
ターゲットプラットフォームは、デスクトッププラットフォーム... Linux、Mac、およびWindowsのみです。
入力デバイスのシミュレーションは、プラットフォーム固有のものであり、単一のプラットフォームであっても非常に難しいものです。どのような目的のための堅牢なテクニックでもないので、実装するための良いライブラリを見つけることはできません。
基本的なAPIがあれば、最も難しい部分は、デバイスをOSに現実的に見せかけることになります。マウスのように、中程度の頻度で徐々にマウスの動きの更新を送信し、クリックとキーを押す間に合理的な遅延が発生するようにします。イベントのタイムラインを実行し、基本的なジオメトリを実行することは、おそらくSDLのようなゲームライブラリによって支援されるでしょう。
タイミングを無視すると、OSはマウスの動き、デバウンスのボタンを間違えたり、動きやクリックの順序を並べ替えたり、トラックパッドの使用中にキーの押下を無視したりすることがあります。私はこのようなツールを10年ほど前に書きました。
私はSDLを見て、SDL ircの一部の人と話しましたが、書かれたアプリケーションだけではなく、何かを押すことを許さないと思うようです。たぶん彼らは知らなかったが、それは本物のようだった。私がそれ以外のことを知っているなら、私はそれを撃つでしょう。 – Goddard
@Goddard SDLは、必要なアクションのタイムラインを生成し、コールバックを適時に呼び出すのに役立ちます。私はそれがキー押下を生成するとは思わなかった。 – Potatoswatter
私はC/C++の解決策が非常に難しいと思っています。私は基本的に私の目標を達成するのに役立つ既存の図書館の検索をあきらめました。 – Goddard
私はそのような図書館を開始しました。多分あなたは一見したいでしょう。 https://github.com/pythoneer/XInputSimulator
初期の状態で、少しバグがありました。しかし、私はそれが良くなることを願っています:)
ツールrecとして閉じられる投票。 –