Windows ビデオ ゲームの場合、米国英語のキーボード レイアウトで ` および ~ 文字を生成するキー (通常は Escape キーの下にあり、1 のままです) が押されたかどうかを判断する必要があるとします。これは些細な質問のように聞こえるかもしれませんが、私にはそうは思えません。
Windows は、キーボード メッセージを送信するときに、仮想キー コードと OEM スキャン コードを指定します。「値は OEM に依存する」ため、OEM スキャン コードに依存することはできません。仮想キー コードは、現在アクティブなキーボード レイアウトに依存するため、依存することもできません。
現在の「解決策」は、米国英語のキーボード レイアウトで ` 文字を生成するキーの OEM スキャン コードを使用LoadKeyboardLayout
しMapVirtualKeyEx
て検索し、その OEM スキャン コードをリッスンすることです。問題は、ユーザーが米国英語のレイアウトをインストールしていない場合、これが機能しないことです。
Windowsでこれを行う実際の方法はありますか?