如下图所示,CompositeKM例程只支持市面上大部分的4字节鼠标,请问代码大概怎么改才能支持7、8字节的鼠标呢?现在只知道要改鼠标的报表修饰符。但是不清楚7、8字节鼠标的报表修饰符该从哪里获取,获取完之后怎么改代码?有没有大佬大概能讲一下流程的?提前感谢!
您可以创建不同字节鼠标数据的报表,然后修改配置描述符,可以配置成一个接口多个端点或者一个接口一个端点的形式,7字节鼠标或者八字节鼠标报表修改,可以参考四字节鼠标报表,byte1:bit0代表左键,bit1代表右键,bit2代表中键,其余位补0,byte2:x坐标变化,正数右移,byte3:Y坐标变化,正数上移,byte4:滚轮变化,0x01向前一格,0xff向后一格,0x80不滚动。扩展成5,6,7,8字节的鼠标您可以自定义X, Y,Z,的长度,实现不同字节鼠标的数据上传。
您好,请问您有相关例子可以让我参考的吗,说实话,我有点不太懂您说的。才接触USB。
可以先了解一下USB通信流程,去USB中文网先看看HID鼠标实例,明白配置描述符和报表描述符就可以改了,可以通过BUSHOUND抓取七字节和八字节鼠标的配置描述符和报告描述符,然后再去改。
大佬,还有一点我想请问一下难道只要有不同字节数据的鼠标那我就必须要去新建报表描述书吗?
好的, 大佬我这就去看看
根据您的建议,我分别插上7字节、8字节的鼠标,在BUSHOUND抓取了对应的配置、报表描述符。然后对例程进行了相应修改,如下图所示,但是现在代码没报错也没反应,我在想是不是ENDP2_IN_SIZE的原因。我尝试了4和7都不行。麻烦大佬指导一下。
不需要重复定义配置描述符,一个配置符下面可以配置多个接口和多个端点,HID类描述符的长度和HID报表的长度要对应,如果是四字节鼠标,对应的就是0x34,七字节鼠标对应的就是七字节报表的长度0x48.