> Date: Mon, 9 May 2022 17:44:29 +0100 > From: Stuart Henderson <s...@spacehopper.org> > > I have a USB combi keyboard/trackpad thing which is triggering "bad > repid 33" frequently while attached (between a couple of times a minute, > and once every few minutes). It does work but it's annoying. > > Presumably this is because it has non-contiguous report IDs?
That shouldn't be a problem. > Anyone have an idea how to handle it? No. But showing dmesg output might help. > Bus 000 Device 002: ID 045e:0800 Microsoft Corp. > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 2.00 > bDeviceClass 0 (Defined at Interface level) > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize0 64 > idVendor 0x045e Microsoft Corp. > idProduct 0x0800 > bcdDevice 9.44 > iManufacturer 1 Microsoft > iProduct 2 Microsoft? Nano Transceiver v2.0 > iSerial 0 > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 84 > bNumInterfaces 3 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0xa0 > (Bus Powered) > Remote Wakeup > MaxPower 100mA > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 1 > bInterfaceClass 3 Human Interface Device > bInterfaceSubClass 1 Boot Interface Subclass > bInterfaceProtocol 1 Keyboard > iInterface 0 > HID Device Descriptor: > bLength 9 > bDescriptorType 33 > bcdHID 1.11 > bCountryCode 0 Not supported > bNumDescriptors 1 > bDescriptorType 34 Report > wDescriptorLength 57 > Report Descriptor: (length is 57) > Item(Global): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Local ): Usage, data= [ 0x06 ] 6 > Keyboard > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Usage Page, data= [ 0x08 ] 8 > LEDs > Item(Local ): Usage Minimum, data= [ 0x01 ] 1 > NumLock > Item(Local ): Usage Maximum, data= [ 0x03 ] 3 > Scroll Lock > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x01 ] 1 > Item(Global): Report Count, data= [ 0x03 ] 3 > Item(Main ): Output, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report Count, data= [ 0x05 ] 5 > Item(Main ): Output, data= [ 0x01 ] 1 > Constant Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Usage Page, data= [ 0x07 ] 7 > Keyboard > Item(Local ): Usage Minimum, data= [ 0xe0 0x00 ] 224 > Control Left > Item(Local ): Usage Maximum, data= [ 0xe7 0x00 ] 231 > GUI Right > Item(Global): Report Count, data= [ 0x08 ] 8 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x01 ] 1 > Constant Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Local ): Usage Minimum, data= [ 0x00 ] 0 > No Event > Item(Local ): Usage Maximum, data= [ 0x91 0x00 ] 145 > LANG 2 (Hanja Conversion, Korea) > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Count, data= [ 0x06 ] 6 > Item(Main ): Input, data= [ 0x00 ] 0 > Data Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Main ): End Collection, data=none > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 3 > Transfer Type Interrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x0008 1x 8 bytes > bInterval 4 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 0 > bNumEndpoints 1 > bInterfaceClass 3 Human Interface Device > bInterfaceSubClass 1 Boot Interface Subclass > bInterfaceProtocol 2 Mouse > iInterface 0 > HID Device Descriptor: > bLength 9 > bDescriptorType 33 > bcdHID 1.11 > bCountryCode 0 Not supported > bNumDescriptors 1 > bDescriptorType 34 Report > wDescriptorLength 223 > Report Descriptor: (length is 223) > Item(Global): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Local ): Usage, data= [ 0x02 ] 2 > Mouse > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Local ): Usage, data= [ 0x02 ] 2 > Mouse > Item(Main ): Collection, data= [ 0x02 ] 2 > Logical > Item(Global): Report ID, data= [ 0x1a ] 26 > Item(Local ): Usage, data= [ 0x01 ] 1 > Pointer > Item(Main ): Collection, data= [ 0x00 ] 0 > Physical > Item(Global): Usage Page, data= [ 0x09 ] 9 > Buttons > Item(Local ): Usage Minimum, data= [ 0x01 ] 1 > Button 1 (Primary) > Item(Local ): Usage Maximum, data= [ 0x05 ] 5 > Button 5 > Item(Global): Report Count, data= [ 0x05 ] 5 > Item(Global): Report Size, data= [ 0x01 ] 1 > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report Size, data= [ 0x03 ] 3 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x01 ] 1 > Constant Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Local ): Usage, data= [ 0x30 ] 48 > Direction-X > Item(Local ): Usage, data= [ 0x31 ] 49 > Direction-Y > Item(Global): Report Count, data= [ 0x02 ] 2 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Logical Minimum, data= [ 0x01 0x80 ] 32769 > Item(Global): Logical Maximum, data= [ 0xff 0x7f ] 32767 > Item(Main ): Input, data= [ 0x06 ] 6 > Data Variable Relative No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Main ): Collection, data= [ 0x02 ] 2 > Logical > Item(Global): Report ID, data= [ 0x12 ] 18 > Item(Local ): Usage, data= [ 0x48 ] 72 > (null) > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x02 ] 2 > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0x01 ] 1 > Item(Global): Physical Minimum, data= [ 0x01 ] 1 > Item(Global): Physical Maximum, data= [ 0x10 ] 16 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report ID, data= [ 0x1a ] 26 > Item(Local ): Usage, data= [ 0x38 ] 56 > Wheel > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Physical Maximum, data= [ 0x00 ] 0 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Logical Minimum, data= [ 0x01 0x80 ] 32769 > Item(Global): Logical Maximum, data= [ 0xff 0x7f ] 32767 > Item(Main ): Input, data= [ 0x06 ] 6 > Data Variable Relative No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Main ): End Collection, data=none > Item(Main ): Collection, data= [ 0x02 ] 2 > Logical > Item(Global): Report ID, data= [ 0x12 ] 18 > Item(Local ): Usage, data= [ 0x48 ] 72 > (null) > Item(Global): Report Size, data= [ 0x02 ] 2 > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0x01 ] 1 > Item(Global): Physical Minimum, data= [ 0x01 ] 1 > Item(Global): Physical Maximum, data= [ 0x10 ] 16 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Physical Maximum, data= [ 0x00 ] 0 > Item(Global): Report Size, data= [ 0x04 ] 4 > Item(Main ): Feature, data= [ 0x01 ] 1 > Constant Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report ID, data= [ 0x1a ] 26 > Item(Global): Usage Page, data= [ 0x0c ] 12 > Consumer > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Logical Minimum, data= [ 0x01 0x80 ] 32769 > Item(Global): Logical Maximum, data= [ 0xff 0x7f ] 32767 > Item(Local ): Usage, data= [ 0x38 0x02 ] 568 > AC Pan > Item(Main ): Input, data= [ 0x06 ] 6 > Data Variable Relative No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Main ): End Collection, data=none > Item(Main ): End Collection, data=none > Item(Main ): End Collection, data=none > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0c ] 12 > Consumer > Item(Local ): Usage, data= [ 0x01 ] 1 > Consumer Control > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Local ): Usage, data= [ 0x02 ] 2 > Mouse > Item(Main ): Collection, data= [ 0x02 ] 2 > Logical > Item(Global): Report ID, data= [ 0x1f ] 31 > Item(Global): Usage Page, data= [ 0x0c ] 12 > Consumer > Item(Local ): Usage, data= [ 0x38 0x02 ] 568 > AC Pan > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Logical Minimum, data= [ 0x01 0x80 ] 32769 > Item(Global): Logical Maximum, data= [ 0xff 0x7f ] 32767 > Item(Main ): Input, data= [ 0x06 ] 6 > Data Variable Relative No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report ID, data= [ 0x17 ] 23 > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Local ): Usage, data= [ 0x06 0xff ] 65286 > (null) > Item(Local ): Usage, data= [ 0x0f 0xff ] 65295 > (null) > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0x01 ] 1 > Item(Global): Physical Minimum, data= [ 0x01 ] 1 > Item(Global): Physical Maximum, data= [ 0x10 ] 16 > Item(Global): Report Count, data= [ 0x02 ] 2 > Item(Global): Report Size, data= [ 0x02 ] 2 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Local ): Usage, data= [ 0x04 0xff ] 65284 > (null) > Item(Global): Physical Minimum, data= [ 0x00 ] 0 > Item(Global): Physical Maximum, data= [ 0x00 ] 0 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x01 ] 1 > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report Size, data= [ 0x03 ] 3 > Item(Main ): Feature, data= [ 0x01 ] 1 > Constant Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Main ): End Collection, data=none > Item(Main ): End Collection, data=none > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x82 EP 2 IN > bmAttributes 3 > Transfer Type Interrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x000a 1x 10 bytes > bInterval 1 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 2 > bAlternateSetting 0 > bNumEndpoints 1 > bInterfaceClass 3 Human Interface Device > bInterfaceSubClass 0 No Subclass > bInterfaceProtocol 0 None > iInterface 0 > HID Device Descriptor: > bLength 9 > bDescriptorType 33 > bcdHID 1.11 > bCountryCode 0 Not supported > bNumDescriptors 1 > bDescriptorType 34 Report > wDescriptorLength 319 > Report Descriptor: (length is 319) > Item(Global): Usage Page, data= [ 0x0c ] 12 > Consumer > Item(Local ): Usage, data= [ 0x01 ] 1 > Consumer Control > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Report ID, data= [ 0x20 ] 32 > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Global): Report Count, data= [ 0x12 ] 18 > Item(Local ): Usage, data= [ 0x0a 0xfa ] 64010 > (null) > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report ID, data= [ 0x21 ] 33 > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x01 ] 1 > Item(Global): Report Count, data= [ 0x10 ] 16 > Item(Local ): Usage Minimum, data= [ 0x10 0xfa ] 64016 > (null) > Item(Local ): Usage Maximum, data= [ 0x1f 0xfa ] 64031 > (null) > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report ID, data= [ 0x28 ] 40 > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Local ): Usage Minimum, data= [ 0x10 0xfa ] 64016 > (null) > Item(Local ): Usage Maximum, data= [ 0x1f 0xfa ] 64031 > (null) > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report ID, data= [ 0x22 ] 34 > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Global): Report Count, data= [ 0x1a ] 26 > Item(Local ): Usage, data= [ 0x0a 0xfa ] 64010 > (null) > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report ID, data= [ 0x23 ] 35 > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Local ): Usage, data= [ 0x0a 0xfa ] 64010 > (null) > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report ID, data= [ 0x24 ] 36 > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Global): Report Count, data= [ 0x1f ] 31 > Item(Local ): Usage, data= [ 0x0a 0xfa ] 64010 > (null) > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report ID, data= [ 0x25 ] 37 > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Local ): Usage, data= [ 0x0a 0xfa ] 64010 > (null) > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report ID, data= [ 0x26 ] 38 > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Local ): Usage, data= [ 0x0a 0xfa ] 64010 > (null) > Item(Main ): Feature, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report ID, data= [ 0x27 ] 39 > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Local ): Usage, data= [ 0x0a 0xfa ] 64010 > (null) > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report ID, data= [ 0x14 ] 20 > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0x03 ] 3 > Item(Global): Report Size, data= [ 0x02 ] 2 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Local ): Usage, data= [ 0x01 0xfe ] 65025 > (null) > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report Size, data= [ 0x06 ] 6 > Item(Main ): Input, data= [ 0x01 ] 1 > Constant Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report ID, data= [ 0x04 ] 4 > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0x03 ] 3 > Item(Global): Report Size, data= [ 0x02 ] 2 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Local ): Usage, data= [ 0x01 0xfe ] 65025 > (null) > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report Size, data= [ 0x06 ] 6 > Item(Main ): Input, data= [ 0x01 ] 1 > Constant Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x0c ] 12 > Consumer > Item(Local ): Usage, data= [ 0x01 ] 1 > Consumer Control > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Report ID, data= [ 0x07 ] 7 > Item(Global): Usage Page, data= [ 0x0c ] 12 > Consumer > Item(Local ): Usage Minimum, data= [ 0x00 ] 0 > Unassigned > Item(Local ): Usage Maximum, data= [ 0xff 0x03 ] 1023 > (null) > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x10 ] 16 > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0xff 0x03 ] 1023 > Item(Main ): Input, data= [ 0x00 ] 0 > Data Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Usage Page, data= [ 0x07 ] 7 > Keyboard > Item(Local ): Usage Minimum, data= [ 0x00 ] 0 > No Event > Item(Local ): Usage Maximum, data= [ 0xff ] 255 > (null) > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Main ): Input, data= [ 0x00 ] 0 > Data Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Main ): Input, data= [ 0x01 ] 1 > Constant Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 > (null) > Item(Local ): Usage, data= [ 0x03 0xfe ] 65027 > (null) > Item(Local ): Usage, data= [ 0x04 0xfe ] 65028 > (null) > Item(Global): Report Size, data= [ 0x01 ] 1 > Item(Global): Report Count, data= [ 0x02 ] 2 > Item(Global): Logical Maximum, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Local ): Usage, data= [ 0x05 0xff ] 65285 > (null) > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x05 ] 5 > Item(Global): Logical Maximum, data= [ 0x1f ] 31 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Global): Report Size, data= [ 0x01 ] 1 > Item(Main ): Input, data= [ 0x01 ] 1 > Constant Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Local ): Usage Minimum, data= [ 0x01 0xfd ] 64769 > (null) > Item(Local ): Usage Maximum, data= [ 0xff 0xfd ] 65023 > (null) > Item(Global): Logical Minimum, data= [ 0x01 ] 1 > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Main ): Input, data= [ 0x00 ] 0 > Data Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Local ): Usage, data= [ 0x02 0xff ] 65282 > (null) > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Main ): Input, data= [ 0x02 ] 2 > Data Variable Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0xbc 0xff ] 65468 > (null) > Item(Local ): Usage, data= [ 0x88 ] 136 > (null) > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Report ID, data= [ 0x08 ] 8 > Item(Local ): Usage Minimum, data= [ 0x01 ] 1 > (null) > Item(Local ): Usage Maximum, data= [ 0xff ] 255 > (null) > Item(Global): Logical Minimum, data= [ 0x01 ] 1 > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Global): Report Count, data= [ 0x01 ] 1 > Item(Global): Report Size, data= [ 0x08 ] 8 > Item(Main ): Input, data= [ 0x00 ] 0 > Data Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Main ): End Collection, data=none > Item(Global): Usage Page, data= [ 0x01 ] 1 > Generic Desktop Controls > Item(Local ): Usage, data= [ 0x80 ] 128 > System Control > Item(Main ): Collection, data= [ 0x01 ] 1 > Application > Item(Global): Report ID, data= [ 0x03 ] 3 > Item(Local ): Usage Minimum, data= [ 0x00 ] 0 > Undefined > Item(Local ): Usage Maximum, data= [ 0xff ] 255 > (null) > Item(Global): Logical Minimum, data= [ 0x00 ] 0 > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 > Item(Main ): Input, data= [ 0x00 ] 0 > Data Array Absolute No_Wrap Linear > Preferred_State No_Null_Position Non_Volatile > Bitfield > Item(Main ): End Collection, data=none > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x83 EP 3 IN > bmAttributes 3 > Transfer Type Interrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x0020 1x 32 bytes > bInterval 1 > Device Status: 0x0000 > (Bus Powered) > >