[libhid-discuss] hid_set_feature_report()

Felipe Augusto de Souza fel.asouza at gmail.com
Wed Jan 16 22:37:13 UTC 2008


Thanks Charles. It's working very well!

Felipe Augusto

2008/1/15, Charles Lepple <clepple at ghz.cc>:
>
> If I decode the report descriptor, I get the following, which
> indicates that I was wrong about 63, and it probably should be 64
> bytes for the feature at [0xffa000a5, 0xffa000a6].
>
> (This output is from extract_report_descriptor.py in the hidparser
> directory.)
>
> -*-*-
>
> [0x0000] 0x06 0xa0 0xff (value: 0xffa0 / 65440)
>    bSize = 2 byte(s)
>    bType = 0x01 (Global)
>    bTag  = 0x00 (Usage page)
>
> [0x0003] 0x09 0xa5 (value: 0xa5 / 165)
>    bSize = 1 byte(s)
>    bType = 0x02 (Local)
>    bTag  = 0x00 (Usage)
>
> [0x0005] 0xa1 0x01 (value: 0x1 / 1)
>    bSize = 1 byte(s)
>    bType = 0x00 (Main)
>    bTag  = 0x0a (Collection) (Application)
>
> [0x0007] 0x09 0xa6 (value: 0xa6 / 166)
>    bSize = 1 byte(s)
>    bType = 0x02 (Local)
>    bTag  = 0x00 (Usage)
>
> [0x0009] 0x09 0xa5 (value: 0xa5 / 165)
>    bSize = 1 byte(s)
>    bType = 0x02 (Local)
>    bTag  = 0x00 (Usage)
>
> [0x000b] 0x15 0x80 (value: 0x80 / 128)
>    bSize = 1 byte(s)
>    bType = 0x01 (Global)
>    bTag  = 0x01 (Logical Minimum)
>
> [0x000d] 0x25 0x7f (value: 0x7f / 127)
>    bSize = 1 byte(s)
>    bType = 0x01 (Global)
>    bTag  = 0x02 (Logical Maximum)
>
> [0x000f] 0x75 0x08 (value: 0x8 / 8)
>    bSize = 1 byte(s)
>    bType = 0x01 (Global)
>    bTag  = 0x07 (Report Size)
>
> [0x0011] 0x95 0x40 (value: 0x40 / 64)
>    bSize = 1 byte(s)
>    bType = 0x01 (Global)
>    bTag  = 0x09 (Report Count)
>
> [0x0013] 0xb1 0x02 (value: 0x2 / 2)
>    bSize = 1 byte(s)
>    bType = 0x00 (Main)
>    bTag  = 0x0b (Feature)
>
> [0x0015] 0x09 0xa7 (value: 0xa7 / 167)
>    bSize = 1 byte(s)
>    bType = 0x02 (Local)
>    bTag  = 0x00 (Usage)
>
> [0x0017] 0x15 0x80 (value: 0x80 / 128)
>    bSize = 1 byte(s)
>    bType = 0x01 (Global)
>    bTag  = 0x01 (Logical Minimum)
>
> [0x0019] 0x25 0x7f (value: 0x7f / 127)
>    bSize = 1 byte(s)
>    bType = 0x01 (Global)
>    bTag  = 0x02 (Logical Maximum)
>
> [0x001b] 0x75 0x08 (value: 0x8 / 8)
>    bSize = 1 byte(s)
>    bType = 0x01 (Global)
>    bTag  = 0x07 (Report Size)
>
> [0x001d] 0x95 0x08 (value: 0x8 / 8)
>    bSize = 1 byte(s)
>    bType = 0x01 (Global)
>    bTag  = 0x09 (Report Count)
>
> [0x001f] 0x81 0x02 (value: 0x2 / 2)
>    bSize = 1 byte(s)
>    bType = 0x00 (Main)
>    bTag  = 0x08 (Input)
>
> [0x0021] 0x09 0xa9 (value: 0xa9 / 169)
>    bSize = 1 byte(s)
>    bType = 0x02 (Local)
>    bTag  = 0x00 (Usage)
>
> [0x0023] 0x15 0x80 (value: 0x80 / 128)
>    bSize = 1 byte(s)
>    bType = 0x01 (Global)
>    bTag  = 0x01 (Logical Minimum)
>
> [0x0025] 0x25 0x7f (value: 0x7f / 127)
>    bSize = 1 byte(s)
>    bType = 0x01 (Global)
>    bTag  = 0x02 (Logical Maximum)
>
> [0x0027] 0x75 0x08 (value: 0x8 / 8)
>    bSize = 1 byte(s)
>    bType = 0x01 (Global)
>    bTag  = 0x07 (Report Size)
>
> [0x0029] 0x95 0x40 (value: 0x40 / 64)
>    bSize = 1 byte(s)
>    bType = 0x01 (Global)
>    bTag  = 0x09 (Report Count)
>
> [0x002b] 0x91 0x02 (value: 0x2 / 2)
>    bSize = 1 byte(s)
>    bType = 0x00 (Main)
>    bTag  = 0x09 (Output)
>
> [0x002d] 0xc0
>    bSize = 0 byte(s)
>    bType = 0x00 (Main)
>    bTag  = 0x0c (End Collection)
>
>


More information about the libhid-discuss mailing list