私は物理的なボタンを購入し、Arduino を使用して自分のコンピューターに接続し、USB シリアルを介して私が書いている C++ プログラムと通信しました。次に、ボタンをコンピューターのキープレスをシミュレートして、プレイするゲームの代替コントローラーとして使用できるようにしたいと考えています。
Arduino に慣れていない場合でも、気にしないでください。私の問題は完全に C++ にあります。
これに対する解決策は非常に単純です。基本的には、キーストロークのあるウィンドウに SendMessage を使用するか、sendKeys などの多くの代替メソッドを使用することです。
このようなことを処理できるすべてのライブラリまたは Windows 関数を試しましたが、実際にキーボードで押されたキーストロークをシミュレートするものはありません。
これまでに試したことはすべて、メモ帳や Chrome などの多くのプログラムで機能しましたが、キー入力を処理するために Windows メッセージをリッスンしないゲームでは機能しませんでした。
私の推測では、これらのゲームは物理キーボードと直接通信する GetAsyncKeyState を使用していると思われます。
どうすればこれを解決できますか? そのような機能を提供する API は何ですか?
ここでは非常に低レベルの何かが必要です。おそらく、新しいキーボードをエミュレートするプログラムでさえ、物理的なキーボードが接続されていると Windows が認識します。
これは、私がこの問題に何度も遭遇したALOTに役立ちます。近い将来、他のプロジェクトでこの問題に遭遇し続けるでしょう。
誰かが助けてくれることを願っています、ありがとう!