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有个叹号,但人体学输入设备正常 
请问这都是为什么呢? |