3

通常のキーボードと 10 キーのキーパッドの両方から入力を受け取りたい C++ で Windows DirectX 11 ソフトウェアを作成しています。プライマリ ユーザーによるフル キーボードの使用を中断することなく、セカンダリ ユーザーが 10 キーのキーパッドから入力できるようにしたいと考えています。たとえば、一次ユーザーがテキスト ボックスに入力している場合、二次ユーザーが 10 キー データをソフトウェアに送信して、テキスト ボックスの入力に影響を与えないように個別に処理できるようにしたいと考えています。

現在、マウスとキーボードの両方に DirectInput を使用しています。しかし、Windows API による解決策を誰かが知っている場合は、それも検討します。

DirectInput でキーボード デバイスを作成するとき、現在 GUID_SysKeyboard 値を使用しています。これは、ソフトウェアがキーボード入力のソースを識別できないように、両方のキーボードを 1 つにまとめたものです。EnumDevices を使用して 2 つのキーボードを識別し、個別の DirectInput デバイスを作成することは可能ですか? そうだと思いますが、EnumDevices コールバックに提供された DIDEVICEINSTANCE 構造体から各デバイスを識別する方法がわかりません。さまざまな組み合わせやモデル/ブランドのキーボードで使用できるように、これをできるだけ一般的なものにしたいと考えています。

ヘルプや提案をお寄せいただきありがとうございます。

(注: この同じ質問をGameDev.netに投稿しました)

4

1 に答える 1

0

一番上の行(もちろんFキーの下)の数字にはキーパッドの数字と同じ値が与えられていると思いますが、キーパッドのあるものだけでなくすべてのキーボードとの互換性のために、一番上の行のもののままにしておくことをお勧めします

于 2013-01-10T13:53:54.800 に答える