同じキーであっても、異なるUSB HIDデバイスからのキーに異なる方法で応答できる必要があるため、 RawInputAPIを使用しています。
私のウィンドウはWM_INPUT
メッセージを正しく受信します。RAWKEYBOARD
構造を取得して、必要なすべての情報を取得できます。
ここで、これらのUSBデバイスがNumLockを切り替えられないようにします。Raw Input APIでNumLockキーの押下を飲み込めることを期待していますか?
WM_INPUTメッセージの結果を1に設定しようとしましたが、効果がないようです。
(私はこれをC#で書いていますが、これはすべて低レベルのWindows APIであるため、これに答えるのにC#や.NETの知識はおそらく必要ありません。)
編集:そうそう、私はグローバルキーボードフック(SetWindowsHookEx
)を使用してNumLockキーを飲み込んでみました。残念ながら、Raw Input APIを初期化するとすぐに、ウィンドウがアクティブな間はグローバルキーボードフックが呼び出されなくなります。Raw Inputの後にグローバルフックを設定しようとしましたが、同じ効果があります。