打印

hid描述符能描述一个endpoint两个hid设备吗?

[复制链接]
3955|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
isbit|  楼主 | 2007-10-19 16:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
平常人| | 2007-10-19 18:21 | 只看该作者

HID描述符不可能描述一个Endpoint有两个HID设备

LZ的概念有误!

设备是由设备描述符描述的,HID描述符用于描述HID设备中接口(Interface)的使用。

根据你给出的鼠标的例子,估计你问的是“一个Endpoint下多个Usage”,既然你已经拿鼠标作为例子,那你就照鼠标的例子做既可。

使用特权

评论回复
板凳
isbit|  楼主 | 2007-10-20 09:34 | 只看该作者

谢谢平常人

  您说的对对,我的本意是一个设备两个usage,
一时不知怎么表达,就是一个设备里面两个用途不同的“东东”。
1:
  但是按鼠标格式我还是疑惑,因为鼠标usage都声明是mouse了!
在里面描述其他usage 感觉牵强,:-)

 //通用桌面设备
    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
    //鼠标
    0x09, 0x02,                    // USAGE (Mouse)
    //集合
    0xa1, 0x01,                    // COLLECTION (Application)
    //指针设备
    0x09, 0x01,                    //   USAGE (Pointer)
    //集合
    0xa1, 0x00,                    //   COLLECTION (Physical)
    //按键
2:
  是不是这样?
  在鼠标描述前指名一个 hid id  85 01
再在下一个key pad 描述前指名一个 hid id  85 02
例如鼠标为8个byte,前四个为鼠标,keypad也为8个byte,后四个为kaypad
这8个byte怎么能让他是同一个呢?
  这样的话,几个byte 的数据,又怎么公用呢?
  呵呵,描述符不是很熟。
  谢谢!

使用特权

评论回复
地板
平常人| | 2007-10-20 09:48 | 只看该作者

能说具体点,如何用一个字节表示多媒体,第二个表示keypad

然后再参考usb.org中有关HID的部分:http://www.usb.org/developers/hidpage/

这里有很多USAGE的用法,可以供你参考。

使用特权

评论回复
5
isbit|  楼主 | 2007-10-22 09:23 | 只看该作者

谢谢平常人

我去看看去

使用特权

评论回复
6
ISBIT| | 2007-10-22 12:05 | 只看该作者

没看明白,配了一下没反应,55,谁帮我整整

    0x05,    0x0c,             ; USAGE_PAGE (Consumer Devices)
    0x09,       0x01,              ; USAGE (Consumer Control)
    0xa1,    0x01,                 ; COLLECTION (Application)
    0x85,    0x01,                 ;    report ID1 
    0x15,    0x00,                 ;     LOGICAL_MINIMUM (0)
    0x25,    0x01,                ;    LOGICAL_MAXIMUM (1)    
    0x09,    0xe9,                 ;     USAGE (Volume Up)    
    0x09,    0xea,                 ;     USAGE (Volume Down)    
    0x09,    0xb5,                 ;     USAGE (Scan Next Track)    
    0x09,    0xb6,                 ;     USAGE (Scan Previous Track)    
    0x09,    0xe2,                 ;     USAGE (Mute)    
    0x09,    0xcd,                     ;     USAGE (play/pa)    
    0x09,    0xb7,                 ;     USAGE (Stop)
    0x75,    0x01,                 ;     REPORT_SIZE (1)
    0x95,    0x07,                 ;     REPORT_COUNT (7)
    0x81,    0x02,                 ;     INPUT (Data,Var,Abs)
    0x09,    0x00,                 ;     USAGE (Unassigned)
    0x95,    0x01,                 ;     REPORT_COUNT (1)
    0x81,    0x03,                 ;     INPUT (Cnst,Var,Abs)
    0xc0,                      ; END_COLLECTION  39bytes

    0x05,     0x01,                    // USAGE_PAGE (Generic Desktop)
    0x09,     0x02,                    // USAGE (Mouse)
    0xa1,     0x01,                    // COLLECTION (Application)
    0x85    0x02,                 ;    report ID1 
    0x09,     0x01,                    //    USAGE (Pointer)
    0xa1,     0x00,                    //    COLLECTION (Physical)
    0x05,     0x09,                    //      USAGE_PAGE (Button)
    0x19,     0x01,                    //      USAGE_MINIMUM (Button 1)
    0x29,     0x03,                    //      USAGE_MAXIMUM (Button 3)
    0x15,     0x00,                    //      LOGICAL_MINIMUM (0)
    0x25,     0x01,                    //      LOGICAL_MAXIMUM (1)
    0x95,     0x03,                    //      REPORT_COUNT (3)
    0x75,    0x01,                    //      REPORT_SIZE (1)
    0x81,     0x02,                    //      INPUT (Data,Var,Abs)
    0x95,     0x01,                    //      REPORT_COUNT (1)
    0x75,     0x05,                    //      REPORT_SIZE (5)
    0x81,     0x03,                    //      INPUT (Cnst,Var,Abs)
    0x05,     0x01,                    //      USAGE_PAGE (Generic Desktop)
    0x09,     0x30,                    //      USAGE (X)
    0x09,     0x31,                    //      USAGE (Y)
    0x09,     0x38,                    //      USAGE (Wheel)
    0x15,     0x81,                    //      LOGICAL_MINIMUM (-127)
    0x25,     0x7f,                    //      LOGICAL_MAXIMUM (127)
    0x75,     0x08,                    //      REPORT_SIZE (8)
    0x95,     0x03,                    //      REPORT_COUNT (3)
    0x81,     0x06,                    //      INPUT (Data,Var,Rel)
    0xc0,                           //    END_COLLECTION
    0xc0                           // END_COLLECTION
0x05,    0x01,                   // USAGE_PAGE (Generic Desktop)54BYTE
0x09,    0x02,                   // USAGE (Mouse)
0xa1,    0x01,                   // COLLECTION (Application)
0x85,    0x02,                 //    report ID1 
0x09,    0x01,                   //    USAGE (Pointer)
0xa1,    0x00,                   //    COLLECTION (Physical)
0x05,    0x09,                   //      USAGE_PAGE (Button)
0x19,    0x01,                   //      USAGE_MINIMUM (Button 1)
0x29,    0x03,                   //      USAGE_MAXIMUM (Button 3)
0x15,    0x00,                   //      LOGICAL_MINIMUM (0)
0x25,    0x01,                   //      LOGICAL_MAXIMUM (1)
0x95,    0x03,                   //      REPORT_COUNT (3)
0x75,    0x01,                   //      REPORT_SIZE (1)
0x81,    0x02,                   //      INPUT (Data,Var,Abs)
0x95,    0x01,                   //      REPORT_COUNT (1)
0x75,    0x05,                   //      REPORT_SIZE (5)
0x81,    0x03,                   //      INPUT (Cnst,Var,Abs)
0x05,    0x01,                   //      USAGE_PAGE (Generic Desktop)
0x09,    0x30,                   //      USAGE (X)
0x09,    0x31,                   //      USAGE (Y)
0x09,    0x38,                   //      USAGE (Wheel)
0x15,    0x81,                   //      LOGICAL_MINIMUM (-127)
0x25,    0x7f,                   //      LOGICAL_MAXIMUM (127)
0x75,    0x08,                   //      REPORT_SIZE (8)
0x95,    0x03,                   //      REPORT_COUNT (3)
0x81,    0x06,                   //      INPUT (Data,Var,Rel)
0xc0,                           //    END_COLLECTION
0xc0,                           // END_COLLECTION

使用特权

评论回复
7
devusb| | 2007-10-23 21:03 | 只看该作者

烦人的报表,你的报表在一个hid报表工具上能正确解析吗?

使用特权

评论回复
8
平常人| | 2007-10-23 22:43 | 只看该作者

6楼的朋友请不要用这么多Collection,用一个即可,一个头一个

我给的usb.org的网站上有HID的解析软件,可以用来验证你的描述符。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

194

主题

963

帖子

1

粉丝