怎么HID报告描述符的角度去测试鼠标和键盘的兼容性

木木先生 2022-10-18 14:32:27 编辑

我有一个设备,最好能兼容越多的鼠标和键盘,但是市面上鼠标和键盘数量很多,所以我想请问一下怎么从HID协议或者HID报告描述符的角度去模拟各种鼠标,以达到测试兼容性的目的,谢谢!

USB中文网 2022-10-18 17:32:54 编辑

只要符合键盘鼠标的报告描述符都会被系统识别为键盘和鼠标的。
报告描述符定义了数据格式,不同的厂家编写的肯定有差异,但系统会自动分析报告描述符来解析报告描述符来找到正确的数据。
这就是相当于设备向主机注册了自己是一个什么设备,数据格式是什么样的,这样当主机接收到其关的数据之后,按指定的数据格式来解析就可以了。
所以键盘鼠标的数据报告会大同小异,但本质是一样的。
如果在Windows端做到统一,可以考虑系统对报告描述符解析后的数据格式,这其在类驱动层。
如无论是什么硬件的鼠标,都会解析成MOUSE_INPUT_DATA24字节,具体可参考:https://www.usbzh.com/article/detail-1050.html
键盘的类似,可参考https://www.usbzh.com/article/detail-1051.html