[libhid-discuss] hid_set_feature_report()

Charles Lepple clepple at ghz.cc
Wed Jan 16 00:05:22 UTC 2008


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