Могу ли я указать, какой HID слушает моя C ++ программа? - PullRequest
0 голосов
/ 19 сентября 2011

Я пытаюсь создать приложение, которое считывает ввод с клавиатуры через HID.Операционная система, на которой я пытаюсь добиться этого, - Windows 7. Каким образом я бы указал своей программе, что она должна прослушивать только одно устройство HID (у меня нормальная клавиатура и считыватель RFID в качестве двух моих устройств).один скажет мне лучший путь, если я хочу просто прослушать один HID и игнорировать другие нажатия клавиш (с клавиатуры)

Ответы [ 2 ]

1 голос
/ 19 сентября 2011

Вы зарегистрировались для ввода HID с RegisterRawInputDevices()? Потому что в этом случае вы сообщаете Windows, для каких устройств вы хотите «сырой» ввод.

[править] Грубый набросок:

int count = 0;
GetRawInputDeviceList(0, &count, sizeof(RAWINPUTDEVICE);
std::vector<RAWINPUTDEVICE> devs(count);
GetRawInputDeviceList(&devs[0], &count, sizeof(RAWINPUTDEVICE);
// Select device(s) you want
RegisterRawInputDevices(&devs[0], &count, sizeof(RAWINPUTDEVICE);
1 голос
/ 19 сентября 2011

Вероятно, вам следует обработать сообщение WM_INPUT и проверить hDevice в структуре ввода lParam. Смотри http://msdn.microsoft.com/en-us/library/ms645590%28v=VS.85%29.aspx

...