У меня есть камера, которая первоначально отображается в виде USB-клавиатуры и нуждается в последовательности, отправленной ему, прежде чем она сбросит USB-соединение в качестве USB-HID-устройства. Эта последовательность представляет собой набор отчетов выходных отчетов (1 байт за отчет) и очистки флажков «Состояние светодиода». Когда-нибудь камера будет прикрепляться как USB-HID-устройство, но все равно потребуется последовательность.Отправка USB-клавиатуры с набором выходных отчетов для переключения режимов USB
Мои 2 Вопросов:
Как получить Windows, чтобы отправить эту "клавиатуры" правильную последовательность?
Как изменить размер пакета выходного отчета (т. Е. Установить его на 1 + номер идентификатора отчета вместо 64-разрядного идентификатора запроса, который он отправляет)?
Камера - это штрих-код/QR-ридер. Если он подключается как клавиатура, Windows не позволит мне коснуться его с помощью API HID. Мне нужно будет посмотреть, какой байт функции изменится для редкого случая, когда он подключается как HID-устройство, но думает, что он находится в режиме клавиатуры. – DevLocus
сканер штрих-кодов появляется, поскольку клавиатура часто видит это http://www.linuxquestions.org/questions/programming-9/read-from-a-usb-barcode-scanner-that-simulates-a-keyboard-495358/, особенно самый низкий пример. ключ - использовать события, которые генерирует сканер штрих-кода. всякий раз, когда сканер отправляет отчет HID, содержащий отсканированные данные, он вызывает событие. вы можете захватить и обработать событие, вам не нужно устанавливать сканер штрих-кода в другом режиме –
для обработки событий в окнах см. https://msdn.microsoft.com/en-us/library/dacysss4%28v=vs.110 % 29.aspx и ** https: //msdn.microsoft.com/en-us/library/dd351713.aspx** –