Last active
December 22, 2019 04:42
-
-
Save tmk/5f22878a7ddca01e9174e5d6224395d2 to your computer and use it in GitHub Desktop.
HHKB PD-KB401 USB Descriptors
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
MAC mode descriptor. note that it has Eject usage while other mods not. | |
$ sudo sh -c 'echo -n "3-3.2:1.0" > /sys/bus/usb/drivers/usbhid/unbind' | |
$ sudo sh -c 'echo -n "3-3.2:1.1" > /sys/bus/usb/drivers/usbhid/unbind' | |
$ sudo sh -c 'echo -n "3-3.2:1.2" > /sys/bus/usb/drivers/usbhid/unbind' | |
$ sudo lsusb -d 04fe: -v | |
Bus 003 Device 110: ID 04fe:0020 PFU, Ltd | |
Device Descriptor: | |
bLength 18 | |
bDescriptorType 1 | |
bcdUSB 1.10 | |
bDeviceClass 0 (Defined at Interface level) | |
bDeviceSubClass 0 | |
bDeviceProtocol 0 | |
bMaxPacketSize0 64 | |
idVendor 0x04fe PFU, Ltd | |
idProduct 0x0020 | |
bcdDevice 0.01 | |
iManufacturer 1 PFU Limited | |
iProduct 2 HHKB-Classic | |
iSerial 0 | |
bNumConfigurations 1 | |
Configuration Descriptor: | |
bLength 9 | |
bDescriptorType 2 | |
wTotalLength 91 | |
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 5 keyboard | |
HID Device Descriptor: | |
bLength 9 | |
bDescriptorType 33 | |
bcdHID 1.11 | |
bCountryCode 0 Not supported | |
bNumDescriptors 1 | |
bDescriptorType 34 Report | |
wDescriptorLength 65 | |
Report Descriptor: (length is 65) | |
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= [ 0x07 ] 7 | |
Keyboard | |
Item(Local ): Usage Minimum, data= [ 0xe0 ] 224 | |
Control Left | |
Item(Local ): Usage Maximum, data= [ 0xe7 ] 231 | |
GUI Right | |
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= [ 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 Count, data= [ 0x01 ] 1 | |
Item(Global): Report Size, data= [ 0x08 ] 8 | |
Item(Main ): Input, data= [ 0x01 ] 1 | |
Constant Array Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Global): Report Count, data= [ 0x05 ] 5 | |
Item(Global): Report Size, data= [ 0x01 ] 1 | |
Item(Global): Usage Page, data= [ 0x08 ] 8 | |
LEDs | |
Item(Local ): Usage Minimum, data= [ 0x01 ] 1 | |
NumLock | |
Item(Local ): Usage Maximum, data= [ 0x05 ] 5 | |
Kana | |
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= [ 0x01 ] 1 | |
Item(Global): Report Size, data= [ 0x03 ] 3 | |
Item(Main ): Output, data= [ 0x03 ] 3 | |
Constant Variable Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Global): Report Count, data= [ 0x06 ] 6 | |
Item(Global): Report Size, data= [ 0x08 ] 8 | |
Item(Global): Logical Minimum, data= [ 0x00 ] 0 | |
Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 | |
Item(Global): Usage Page, data= [ 0x07 ] 7 | |
Keyboard | |
Item(Local ): Usage Minimum, data= [ 0x00 ] 0 | |
No Event | |
Item(Local ): Usage Maximum, data= [ 0xff 0x00 ] 255 | |
(null) | |
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 1 | |
Interface Descriptor: | |
bLength 9 | |
bDescriptorType 4 | |
bInterfaceNumber 1 | |
bAlternateSetting 0 | |
bNumEndpoints 1 | |
bInterfaceClass 3 Human Interface Device | |
bInterfaceSubClass 0 No Subclass | |
bInterfaceProtocol 0 None | |
iInterface 6 Multi-Media | |
HID Device Descriptor: | |
bLength 9 | |
bDescriptorType 33 | |
bcdHID 1.11 | |
bCountryCode 0 Not supported | |
bNumDescriptors 1 | |
bDescriptorType 34 Report | |
wDescriptorLength 121 | |
Report Descriptor: (length is 121) | |
Item(Global): Usage Page, data= [ 0x01 ] 1 | |
Generic Desktop Controls | |
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= [ 0x01 ] 1 | |
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= [ 0x08 ] 8 | |
Item(Local ): Usage, data= [ 0xcd ] 205 | |
Play/Pause | |
Item(Local ): Usage, data= [ 0xb7 ] 183 | |
Stop | |
Item(Local ): Usage, data= [ 0xb6 ] 182 | |
Scan Previous Track | |
Item(Local ): Usage, data= [ 0xb5 ] 181 | |
Scan Next Track | |
Item(Local ): Usage, data= [ 0xe2 ] 226 | |
Mute | |
Item(Local ): Usage, data= [ 0xea ] 234 | |
Volume Decrement | |
Item(Local ): Usage, data= [ 0xe9 ] 233 | |
Volume Increment | |
Item(Local ): Usage, data= [ 0xb8 ] 184 | |
Eject | |
Item(Main ): Input, data= [ 0x02 ] 2 | |
Data Variable Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Global): Report Count, data= [ 0x01 ] 1 | |
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(Main ): End Collection, data=none | |
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): Report ID, data= [ 0x02 ] 2 | |
Item(Global): Usage Page, data= [ 0x07 ] 7 | |
Keyboard | |
Item(Global): Report Count, data= [ 0x01 ] 1 | |
Item(Global): Report Size, data= [ 0x08 ] 8 | |
Item(Main ): Input, data= [ 0x03 ] 3 | |
Constant Variable Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Global): Report Count, data= [ 0xe8 ] 232 | |
Item(Global): Report Size, data= [ 0x01 ] 1 | |
Item(Global): Logical Minimum, data= [ 0x00 ] 0 | |
Item(Global): Logical Maximum, data= [ 0x01 ] 1 | |
Item(Global): Usage Page, data= [ 0x07 ] 7 | |
Keyboard | |
Item(Local ): Usage Minimum, data= [ 0x00 ] 0 | |
No Event | |
Item(Local ): Usage Maximum, data= [ 0xe7 ] 231 | |
GUI Right | |
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(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= [ 0x03 ] 3 | |
Item(Global): Logical Minimum, data= [ 0x00 ] 0 | |
Item(Global): Logical Maximum, data= [ 0x01 ] 1 | |
Item(Global): Report Count, data= [ 0x06 ] 6 | |
Item(Global): Report Size, data= [ 0x01 ] 1 | |
Item(Local ): Usage, data= [ 0x23 0x02 ] 547 | |
AC Home | |
Item(Local ): Usage, data= [ 0x8a 0x01 ] 394 | |
AL Email Reader | |
Item(Local ): Usage, data= [ 0x92 0x01 ] 402 | |
AL Calculator | |
Item(Local ): Usage, data= [ 0x83 0x01 ] 387 | |
AL Consumer Control Configuration | |
Item(Local ): Usage, data= [ 0x94 0x01 ] 404 | |
AL Local Machine Browser | |
Item(Local ): Usage, data= [ 0x2a 0x02 ] 554 | |
(null) | |
Item(Main ): Input, data= [ 0x02 ] 2 | |
Data Variable Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Global): Report Count, data= [ 0x02 ] 2 | |
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(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 0x0020 1x 32 bytes | |
bInterval 1 | |
Interface Descriptor: | |
bLength 9 | |
bDescriptorType 4 | |
bInterfaceNumber 2 | |
bAlternateSetting 0 | |
bNumEndpoints 2 | |
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 34 | |
Report Descriptor: (length is 34) | |
Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 | |
(null) | |
Item(Local ): Usage, data= [ 0x01 ] 1 | |
(null) | |
Item(Main ): Collection, data= [ 0x01 ] 1 | |
Application | |
Item(Local ): Usage, data= [ 0x02 ] 2 | |
(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= [ 0x40 ] 64 | |
Item(Main ): Input, data= [ 0x02 ] 2 | |
Data Variable Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Local ): Usage, data= [ 0x03 ] 3 | |
(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= [ 0x40 ] 64 | |
Item(Main ): Output, data= [ 0x02 ] 2 | |
Data Variable 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 0x0040 1x 64 bytes | |
bInterval 1 | |
Endpoint Descriptor: | |
bLength 7 | |
bDescriptorType 5 | |
bEndpointAddress 0x04 EP 4 OUT | |
bmAttributes 3 | |
Transfer Type Interrupt | |
Synch Type None | |
Usage Type Data | |
wMaxPacketSize 0x0040 1x 64 bytes | |
bInterval 1 | |
Device Status: 0x0000 | |
(Bus Powered) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
WIN mode descriptor. | |
$ sudo sh -c 'echo -n "3-3.2:1.0" > /sys/bus/usb/drivers/usbhid/unbind' | |
$ sudo sh -c 'echo -n "3-3.2:1.1" > /sys/bus/usb/drivers/usbhid/unbind' | |
$ sudo sh -c 'echo -n "3-3.2:1.2" > /sys/bus/usb/drivers/usbhid/unbind' | |
$ sudo lsusb -d 04fe: -v | |
Bus 003 Device 036: ID 04fe:0020 PFU, Ltd | |
Device Descriptor: | |
bLength 18 | |
bDescriptorType 1 | |
bcdUSB 1.10 | |
bDeviceClass 0 (Defined at Interface level) | |
bDeviceSubClass 0 | |
bDeviceProtocol 0 | |
bMaxPacketSize0 64 | |
idVendor 0x04fe PFU, Ltd | |
idProduct 0x0020 | |
bcdDevice 0.01 | |
iManufacturer 1 PFU Limited | |
iProduct 2 HHKB-Classic | |
iSerial 0 | |
bNumConfigurations 1 | |
Configuration Descriptor: | |
bLength 9 | |
bDescriptorType 2 | |
wTotalLength 91 | |
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 5 keyboard | |
HID Device Descriptor: | |
bLength 9 | |
bDescriptorType 33 | |
bcdHID 1.11 | |
bCountryCode 0 Not supported | |
bNumDescriptors 1 | |
bDescriptorType 34 Report | |
wDescriptorLength 65 | |
Report Descriptor: (length is 65) | |
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= [ 0x07 ] 7 | |
Keyboard | |
Item(Local ): Usage Minimum, data= [ 0xe0 ] 224 | |
Control Left | |
Item(Local ): Usage Maximum, data= [ 0xe7 ] 231 | |
GUI Right | |
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= [ 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 Count, data= [ 0x01 ] 1 | |
Item(Global): Report Size, data= [ 0x08 ] 8 | |
Item(Main ): Input, data= [ 0x01 ] 1 | |
Constant Array Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Global): Report Count, data= [ 0x05 ] 5 | |
Item(Global): Report Size, data= [ 0x01 ] 1 | |
Item(Global): Usage Page, data= [ 0x08 ] 8 | |
LEDs | |
Item(Local ): Usage Minimum, data= [ 0x01 ] 1 | |
NumLock | |
Item(Local ): Usage Maximum, data= [ 0x05 ] 5 | |
Kana | |
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= [ 0x01 ] 1 | |
Item(Global): Report Size, data= [ 0x03 ] 3 | |
Item(Main ): Output, data= [ 0x03 ] 3 | |
Constant Variable Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Global): Report Count, data= [ 0x06 ] 6 | |
Item(Global): Report Size, data= [ 0x08 ] 8 | |
Item(Global): Logical Minimum, data= [ 0x00 ] 0 | |
Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 | |
Item(Global): Usage Page, data= [ 0x07 ] 7 | |
Keyboard | |
Item(Local ): Usage Minimum, data= [ 0x00 ] 0 | |
No Event | |
Item(Local ): Usage Maximum, data= [ 0xff 0x00 ] 255 | |
(null) | |
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 1 | |
Interface Descriptor: | |
bLength 9 | |
bDescriptorType 4 | |
bInterfaceNumber 1 | |
bAlternateSetting 0 | |
bNumEndpoints 1 | |
bInterfaceClass 3 Human Interface Device | |
bInterfaceSubClass 0 No Subclass | |
bInterfaceProtocol 0 None | |
iInterface 6 Multi-Media | |
HID Device Descriptor: | |
bLength 9 | |
bDescriptorType 33 | |
bcdHID 1.11 | |
bCountryCode 0 Not supported | |
bNumDescriptors 1 | |
bDescriptorType 34 Report | |
wDescriptorLength 119 | |
Report Descriptor: (length is 119) | |
Item(Global): Usage Page, data= [ 0x01 ] 1 | |
Generic Desktop Controls | |
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= [ 0x01 ] 1 | |
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= [ 0x07 ] 7 | |
Item(Local ): Usage, data= [ 0xcd ] 205 | |
Play/Pause | |
Item(Local ): Usage, data= [ 0xb7 ] 183 | |
Stop | |
Item(Local ): Usage, data= [ 0xb6 ] 182 | |
Scan Previous Track | |
Item(Local ): Usage, data= [ 0xb5 ] 181 | |
Scan Next Track | |
Item(Local ): Usage, data= [ 0xe2 ] 226 | |
Mute | |
Item(Local ): Usage, data= [ 0xea ] 234 | |
Volume Decrement | |
Item(Local ): Usage, data= [ 0xe9 ] 233 | |
Volume Increment | |
Item(Main ): Input, data= [ 0x02 ] 2 | |
Data Variable Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Global): Report Count, data= [ 0x01 ] 1 | |
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(Main ): End Collection, data=none | |
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): Report ID, data= [ 0x02 ] 2 | |
Item(Global): Usage Page, data= [ 0x07 ] 7 | |
Keyboard | |
Item(Global): Report Count, data= [ 0x01 ] 1 | |
Item(Global): Report Size, data= [ 0x08 ] 8 | |
Item(Main ): Input, data= [ 0x03 ] 3 | |
Constant Variable Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Global): Report Count, data= [ 0xe8 ] 232 | |
Item(Global): Report Size, data= [ 0x01 ] 1 | |
Item(Global): Logical Minimum, data= [ 0x00 ] 0 | |
Item(Global): Logical Maximum, data= [ 0x01 ] 1 | |
Item(Global): Usage Page, data= [ 0x07 ] 7 | |
Keyboard | |
Item(Local ): Usage Minimum, data= [ 0x00 ] 0 | |
No Event | |
Item(Local ): Usage Maximum, data= [ 0xe7 ] 231 | |
GUI Right | |
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(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= [ 0x03 ] 3 | |
Item(Global): Logical Minimum, data= [ 0x00 ] 0 | |
Item(Global): Logical Maximum, data= [ 0x01 ] 1 | |
Item(Global): Report Count, data= [ 0x06 ] 6 | |
Item(Global): Report Size, data= [ 0x01 ] 1 | |
Item(Local ): Usage, data= [ 0x23 0x02 ] 547 | |
AC Home | |
Item(Local ): Usage, data= [ 0x8a 0x01 ] 394 | |
AL Email Reader | |
Item(Local ): Usage, data= [ 0x92 0x01 ] 402 | |
AL Calculator | |
Item(Local ): Usage, data= [ 0x83 0x01 ] 387 | |
AL Consumer Control Configuration | |
Item(Local ): Usage, data= [ 0x94 0x01 ] 404 | |
AL Local Machine Browser | |
Item(Local ): Usage, data= [ 0x2a 0x02 ] 554 | |
(null) | |
Item(Main ): Input, data= [ 0x02 ] 2 | |
Data Variable Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Global): Report Count, data= [ 0x02 ] 2 | |
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(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 0x0020 1x 32 bytes | |
bInterval 1 | |
Interface Descriptor: | |
bLength 9 | |
bDescriptorType 4 | |
bInterfaceNumber 2 | |
bAlternateSetting 0 | |
bNumEndpoints 2 | |
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 34 | |
Report Descriptor: (length is 34) | |
Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 | |
(null) | |
Item(Local ): Usage, data= [ 0x01 ] 1 | |
(null) | |
Item(Main ): Collection, data= [ 0x01 ] 1 | |
Application | |
Item(Local ): Usage, data= [ 0x02 ] 2 | |
(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= [ 0x40 ] 64 | |
Item(Main ): Input, data= [ 0x02 ] 2 | |
Data Variable Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Local ): Usage, data= [ 0x03 ] 3 | |
(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= [ 0x40 ] 64 | |
Item(Main ): Output, data= [ 0x02 ] 2 | |
Data Variable 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 0x0040 1x 64 bytes | |
bInterval 1 | |
Endpoint Descriptor: | |
bLength 7 | |
bDescriptorType 5 | |
bEndpointAddress 0x04 EP 4 OUT | |
bmAttributes 3 | |
Transfer Type Interrupt | |
Synch Type None | |
Usage Type Data | |
wMaxPacketSize 0x0040 1x 64 bytes | |
bInterval 1 | |
Device Status: 0x0000 | |
(Bus Powered) | |
--------------------------- | |
usbhid-dump | |
--------------------------- | |
$ sudo usbhid-dump -d04fe:0020 -i0 | grep -v : | xxd -r -p | hidrd-convert -o spec | |
Usage Page (Desktop), ; Generic desktop controls (01h) | |
Usage (Keyboard), ; Keyboard (06h, application collection) | |
Collection (Application), | |
Usage Page (Keyboard), ; Keyboard/keypad (07h) | |
Usage Minimum (KB Leftcontrol), ; Keyboard left control (E0h, dynamic value) | |
Usage Maximum (KB Right GUI), ; Keyboard right GUI (E7h, dynamic value) | |
Logical Minimum (0), | |
Logical Maximum (1), | |
Report Size (1), | |
Report Count (8), | |
Input (Variable), | |
Report Count (1), | |
Report Size (8), | |
Input (Constant), | |
Report Count (5), | |
Report Size (1), | |
Usage Page (LED), ; LEDs (08h) | |
Usage Minimum (01h), | |
Usage Maximum (05h), | |
Output (Variable), | |
Report Count (1), | |
Report Size (3), | |
Output (Constant, Variable), | |
Report Count (6), | |
Report Size (8), | |
Logical Minimum (0), | |
Logical Maximum (255), | |
Usage Page (Keyboard), ; Keyboard/keypad (07h) | |
Usage Minimum (None), ; No event (00h, selector) | |
Usage Maximum (FFh), | |
Input, | |
End Collection | |
$ sudo usbhid-dump -d04fe:0020 -i1 | grep -v : | xxd -r -p | hidrd-convert -o spec | |
Usage Page (Desktop), ; Generic desktop controls (01h) | |
Usage Page (Consumer), ; Consumer (0Ch) | |
Usage (Consumer Control), ; Consumer control (01h, application collection) | |
Collection (Application), | |
Report ID (1), | |
Logical Minimum (0), | |
Logical Maximum (1), | |
Report Size (1), | |
Report Count (7), | |
Usage (Play Pause), ; Play/pause (CDh, one-shot control) | |
Usage (Stop), ; Stop (B7h, one-shot control) | |
Usage (Scan Previous Track), ; Scan previous track (B6h, one-shot control) | |
Usage (Scan Next Track), ; Scan next track (B5h, one-shot control) | |
Usage (Mute), ; Mute (E2h, on/off control) | |
Usage (Volume Dec), ; Volume decrement (EAh, re-trigger control) | |
Usage (Volume Inc), ; Volume increment (E9h, re-trigger control) | |
Input (Variable), | |
Report Count (1), | |
Report Size (1), | |
Input (Constant), | |
End Collection, | |
Usage Page (Desktop), ; Generic desktop controls (01h) | |
Usage (Keyboard), ; Keyboard (06h, application collection) | |
Collection (Application), | |
Report ID (2), | |
Usage Page (Keyboard), ; Keyboard/keypad (07h) | |
Report Count (1), | |
Report Size (8), | |
Input (Constant, Variable), | |
Report Count (232), | |
Report Size (1), | |
Logical Minimum (0), | |
Logical Maximum (1), | |
Usage Page (Keyboard), ; Keyboard/keypad (07h) | |
Usage Minimum (None), ; No event (00h, selector) | |
Usage Maximum (KB Right GUI), ; Keyboard right GUI (E7h, dynamic value) | |
Input, | |
End Collection, | |
Usage Page (Desktop), ; Generic desktop controls (01h) | |
Usage Page (Consumer), ; Consumer (0Ch) | |
Usage (Consumer Control), ; Consumer control (01h, application collection) | |
Collection (Application), | |
Report ID (3), | |
Logical Minimum (0), | |
Logical Maximum (1), | |
Report Count (6), | |
Report Size (1), | |
Usage (AC Home), ; AC home (0223h, selector) | |
Usage (AL Email Reader), ; AL email reader (018Ah, selector) | |
Usage (AL Calculator), ; AL calculator (0192h, selector) | |
Usage (AL Consumer Control Config), ; AL consumer control configuration (0183h, selector) | |
Usage (AL Local Machine Brwsr), ; AL local machine browser (0194h, selector) | |
Usage (AC Bookmarks), ; AC bookmarks (022Ah, selector) | |
Input (Variable), | |
Report Count (2), | |
Report Size (1), | |
Input (Constant), | |
End Collection | |
$ sudo usbhid-dump -d04fe:0020 -i2 | grep -v : | xxd -r -p | hidrd-convert -o spec | |
Usage Page (FF00h), ; FF00h, vendor-defined | |
Usage (01h), | |
Collection (Application), | |
Usage (02h), | |
Logical Minimum (0), | |
Logical Maximum (255), | |
Report Size (8), | |
Report Count (64), | |
Input (Variable), | |
Usage (03h), | |
Logical Minimum (0), | |
Logical Maximum (255), | |
Report Size (8), | |
Report Count (64), | |
Output (Variable), | |
End Collection |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DFU Bootloader | |
$ lsusb -v -d0483:df11 | |
Bus 003 Device 024: ID 0483:df11 STMicroelectronics STM Device in DFU Mode | |
Device Descriptor: | |
bLength 18 | |
bDescriptorType 1 | |
bcdUSB 1.00 | |
bDeviceClass 0 (Defined at Interface level) | |
bDeviceSubClass 0 | |
bDeviceProtocol 0 | |
bMaxPacketSize0 64 | |
idVendor 0x0483 STMicroelectronics | |
idProduct 0xdf11 STM Device in DFU Mode | |
bcdDevice 22.00 | |
iManufacturer 1 STMicroelectronics | |
iProduct 2 STM32 BOOTLOADER | |
iSerial 3 164738450000 | |
bNumConfigurations 1 | |
Configuration Descriptor: | |
bLength 9 | |
bDescriptorType 2 | |
wTotalLength 45 | |
bNumInterfaces 1 | |
bConfigurationValue 1 | |
iConfiguration 0 | |
bmAttributes 0xc0 | |
Self Powered | |
MaxPower 100mA | |
Interface Descriptor: | |
bLength 9 | |
bDescriptorType 4 | |
bInterfaceNumber 0 | |
bAlternateSetting 0 | |
bNumEndpoints 0 | |
bInterfaceClass 254 Application Specific Interface | |
bInterfaceSubClass 1 Device Firmware Update | |
bInterfaceProtocol 2 | |
iInterface 4 @Internal Flash /0x08000000/1536*128g | |
Interface Descriptor: | |
bLength 9 | |
bDescriptorType 4 | |
bInterfaceNumber 0 | |
bAlternateSetting 1 | |
bNumEndpoints 0 | |
bInterfaceClass 254 Application Specific Interface | |
bInterfaceSubClass 1 Device Firmware Update | |
bInterfaceProtocol 2 | |
iInterface 5 @Option Bytes /0x1FF80000/01*032 e | |
Interface Descriptor: | |
bLength 9 | |
bDescriptorType 4 | |
bInterfaceNumber 0 | |
bAlternateSetting 2 | |
bNumEndpoints 0 | |
bInterfaceClass 254 Application Specific Interface | |
bInterfaceSubClass 1 Device Firmware Update | |
bInterfaceProtocol 2 | |
iInterface 6 @DATA Memory /0x08080000/2*3Ke | |
Device Firmware Upgrade Interface Descriptor: | |
bLength 9 | |
bDescriptorType 33 | |
bmAttributes 11 | |
Will Detach | |
Manifestation Intolerant | |
Upload Supported | |
Download Supported | |
wDetachTimeout 255 milliseconds | |
wTransferSize 2048 bytes | |
bcdDFUVersion 1.1a | |
Device Status: 0x14d0 | |
(Bus Powered) | |
Debug Mode |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment