const u8 Joystick_ReportDescriptor[JOYSTICK_SIZ_REPORT_DESC] =
{
0x05, /*Usage Page(Generic Desktop)*/
0x01,
0x09, /*Usage(keyboard)*/
0x06,
0xA1, /*Collection(Logical)*/
0x01,
/* 6 */
0x05, /*Usage Page(Buttons)*/
0x07,
0x19, /*Usage Minimum(A)*/
0x04,
0x29, /*Usage Maximum(H)*/
0x0B,
/* 12 */
0x15, /*Logical Minimum(0)*/
0x00,
0x25, /*Logical Maximum(1)*/
0x01,
0x95, /*Report Count(8)*/
0x08,
0x75, /*Report Size(1)*/ //每个按键占一个bit
0x01,
/* 24 */
0x81, /*Input(Variable)*/
0x02,
0X95, //定义剩余的3个byte为常量
0X03,
0X75,
0X08,
0X81,
0X03,
0xc0
}
; /* Joystick_ReportDescriptor */
以上是描述符,我定义了八个键A~H每个键站一位,剩余的三个字节为常量,共四个字节,发送的时候就发第一个字节,其他的为0,如0x01 0 0 0,按我的理解所发的这个数据应该对应的是A,可是没有反应,键值是这样对应的吗?另外bushound中可以打印我的键值数据
但是设备管理器显示在鼠标一栏 HID compliant mouse有个叹号,但人体学输入设备正常
请问这都是为什么呢? |