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) _______________________________________________ libhid-discuss mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/libhid-discuss

