HID触控设备添加output项(原)
最近在研究上位机与自定义的HID多点触控通信,刚开始,上位机向HID多点触控设备发送数据包,下位机收不到,bus hound里面也捕获不到数据。我就纳闷了。再怎么着,上位机程序没问题,应该可以发送数据到端口,至少bus hound里可以捕获到的啊。后来灵光一闪,在报告描述符里加了output项,使上位机的数据包显得“明正言顺”了点,这回下位机总可以收到数据包了吧,试了下还是没反应,然后就参照网上的例子认真对照,看哪一步出了问题,后来查出是Report ID没有赋值,Report ID 很重要,白皮书里面是这样描述的:当要将同一种报告分成数个部分,则每一个部分要给予一个识别值,这时就需用到卷标 Report ID,其数据值必须从1起算,不可使用0。没有赋予Report ID 标签的报告,主机有可能会将其Report ID 视为0,所以Report
ID (0)被要求不能使用。
给Report ID赋值后,Bug告破,数据包终于发出去了。