Народ, привет всем! Выручайте, перерыл весь интернет, не могу найти описания протокола передачи данных у USB клавиатуры. Нужно создать девайс на STM32 который будет прикидываться клавиатурой. Знаю только то что протокол от PS/2 не подходит. Пакет построен из 8 байт, первый это доп клавиши (Shift. Alt, Ctrl), второй это для какой-то клавы OEM, а последние 6 байт это код нажатой клавиши. В принципе все работает, но... Передача осуществляется методом записи пакета в буфер, а при опросе хостом клава его отдает, так вот после передачи кода клавиши, клава должна загрузить в этот буфер код NAK для того чтобы хост понял что больше ничего не нажимается. Так вот я не знаю как подать этот чертов NAK! В сети нет описания протокола. После передачи кода клавиши, в блокноте печатается эта клавиша как будто я ее держу. Выручайте если кто в курсе, или дайте описание протокола.
ПЛИЗЗЗЗЗЗЗ!!!!!
Добавлено after 2 hours 18 minutes 53 seconds:
Все. Вопрос снимается. Нужно просто записать в байт клавиш нули. А перед этим выдержать паузу не менее заданной в дескрипторе. Иначе клавиша будет вечно отпущена.
Имитация USB клавиатуры на STM32
- Gurvinok
- Нашел транзистор. Понюхал.
- Сообщения: 198
- Зарегистрирован: Вт ноя 07, 2006 00:09:58
- Откуда: Москва
- Контактная информация:
Имитация USB клавиатуры на STM32
Я не волшебник, я только лечусь
- Реклама
Re: Имитация USB клавиатуры на STM32
Не весь интернет перерыл, или так себе рыл.
Поиск на "HID keyboard emulation" дает кучу полезных ссылок. Например
https://www.sparkfun.com/tutorials/337
a добавить "STM32", так и такое:
http://stm32f4-discovery.net/2014/09/li ... id-device/
Поиск на "HID keyboard emulation" дает кучу полезных ссылок. Например
https://www.sparkfun.com/tutorials/337
a добавить "STM32", так и такое:
http://stm32f4-discovery.net/2014/09/li ... id-device/
- Gurvinok
- Нашел транзистор. Понюхал.
- Сообщения: 198
- Зарегистрирован: Вт ноя 07, 2006 00:09:58
- Откуда: Москва
- Контактная информация:
Re: Имитация USB клавиатуры на STM32
Во первых я уже написал что разобрался. Я нашел официальный документ по классу HID устройств. Вот Device Class Definition for Human Interface Devices (HID)если кому надо.
Во второй ссылке, что вы предложили описание протокола незнающего введет в заблуждение. Там с какого-то перепугу в протоколе стало 9 байт вместо 8 и Modifier keys переехал с нулевого на первый и будет очень весело искать причину почему не работают Shift, Ctrl и Alt.
В любом случае спасибо за помощь и тему можно закрывать.
Во второй ссылке, что вы предложили описание протокола незнающего введет в заблуждение. Там с какого-то перепугу в протоколе стало 9 байт вместо 8 и Modifier keys переехал с нулевого на первый и будет очень весело искать причину почему не работают Shift, Ctrl и Alt.
В любом случае спасибо за помощь и тему можно закрывать.
Я не волшебник, я только лечусь
