Created
March 25, 2019 21:59
-
-
Save tmk/0626b78f73575d5c1efa86470c4cdb18 to your computer and use it in GitHub Desktop.
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
Apple Magic Keyboard model A1644 USB Descriptor | |
=============================================== | |
Bus 001 Device 011: ID 05ac:0267 Apple, Inc. | |
Device Descriptor: | |
bLength 18 | |
bDescriptorType 1 | |
bcdUSB 2.00 | |
bDeviceClass 0 | |
bDeviceSubClass 0 | |
bDeviceProtocol 0 | |
bMaxPacketSize0 64 | |
idVendor 0x05ac Apple, Inc. | |
idProduct 0x0267 | |
bcdDevice 8.05 | |
iManufacturer 1 Apple Inc. | |
iProduct 2 Magic Keyboard | |
iSerial 3 F0T63450049G9KPA4 | |
bNumConfigurations 1 | |
Configuration Descriptor: | |
bLength 9 | |
bDescriptorType 2 | |
wTotalLength 84 | |
bNumInterfaces 3 | |
bConfigurationValue 1 | |
iConfiguration 4 Keyboard | |
bmAttributes 0xa0 | |
(Bus Powered) | |
Remote Wakeup | |
MaxPower 500mA | |
Interface Descriptor: | |
bLength 9 | |
bDescriptorType 4 | |
bInterfaceNumber 0 | |
bAlternateSetting 0 | |
bNumEndpoints 1 | |
bInterfaceClass 3 Human Interface Device | |
bInterfaceSubClass 0 | |
bInterfaceProtocol 0 | |
iInterface 5 Device Management | |
HID Device Descriptor: | |
bLength 9 | |
bDescriptorType 33 | |
bcdHID 1.10 | |
bCountryCode 0 Not supported | |
bNumDescriptors 1 | |
bDescriptorType 34 Report | |
wDescriptorLength 83 | |
Report Descriptors: | |
** UNAVAILABLE ** | |
Endpoint Descriptor: | |
bLength 7 | |
bDescriptorType 5 | |
bEndpointAddress 0x81 EP 1 IN | |
bmAttributes 3 | |
Transfer Type Interrupt | |
Synch Type None | |
Usage Type Data | |
wMaxPacketSize 0x0010 1x 16 bytes | |
bInterval 8 | |
Interface Descriptor: | |
bLength 9 | |
bDescriptorType 4 | |
bInterfaceNumber 1 | |
bAlternateSetting 0 | |
bNumEndpoints 1 | |
bInterfaceClass 3 Human Interface Device | |
bInterfaceSubClass 1 Boot Interface Subclass | |
bInterfaceProtocol 1 Keyboard | |
iInterface 6 Keyboard / Boot | |
HID Device Descriptor: | |
bLength 9 | |
bDescriptorType 33 | |
bcdHID 1.10 | |
bCountryCode 33 US | |
bNumDescriptors 1 | |
bDescriptorType 34 Report | |
wDescriptorLength 182 | |
Report Descriptor: (length is 182) | |
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= [ 0x01 ] 1 | |
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= [ 0x01 ] 1 | |
Constant Array 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 ] 255 | |
(null) | |
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= [ 0x0c ] 12 | |
Consumer | |
Item(Global): Report Size, data= [ 0x01 ] 1 | |
Item(Global): Report Count, data= [ 0x01 ] 1 | |
Item(Local ): Usage, data= [ 0xb8 ] 184 | |
Eject | |
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): Usage Page, data= [ 0xff ] 255 | |
Vendor Specific | |
Item(Local ): Usage, data= [ 0x03 ] 3 | |
(null) | |
Item(Global): Report Size, data= [ 0x07 ] 7 | |
Item(Global): Report Count, data= [ 0x01 ] 1 | |
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= [ 0x0c ] 12 | |
Consumer | |
Item(Local ): Usage, data= [ 0x01 ] 1 | |
Consumer Control | |
Item(Main ): Collection, data= [ 0x01 ] 1 | |
Application | |
Item(Global): Report ID, data= [ 0x52 ] 82 | |
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= [ 0x01 ] 1 | |
Item(Local ): Usage, data= [ 0xcd ] 205 | |
Play/Pause | |
Item(Main ): Input, data= [ 0x02 ] 2 | |
Data Variable Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Local ): Usage, data= [ 0xb3 ] 179 | |
Fast Forward | |
Item(Main ): Input, data= [ 0x02 ] 2 | |
Data Variable Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Local ): Usage, data= [ 0xb4 ] 180 | |
Rewind | |
Item(Main ): Input, data= [ 0x02 ] 2 | |
Data Variable Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Local ): Usage, data= [ 0xb5 ] 181 | |
Scan Next Track | |
Item(Main ): Input, data= [ 0x02 ] 2 | |
Data Variable Absolute No_Wrap Linear | |
Preferred_State No_Null_Position Non_Volatile Bitfield | |
Item(Local ): Usage, data= [ 0xb6 ] 182 | |
Scan Previous Track | |
Item(Main ): Input, data= [ 0x02 ] 2 | |
Data Variable 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(Main ): Input, data= [ 0x01 ] 1 | |
Constant 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): Report ID, data= [ 0x09 ] 9 | |
Item(Global): Logical Minimum, data= [ 0x00 ] 0 | |
Item(Global): Logical Maximum, data= [ 0x01 ] 1 | |
Item(Global): Report Size, data= [ 0x08 ] 8 | |
Item(Global): Report Count, data= [ 0x01 ] 1 | |
Item(Global): Usage Page, data= [ 0x01 0xff ] 65281 | |
(null) | |
Item(Local ): Usage, data= [ 0x0b ] 11 | |
(null) | |
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= [ 0x08 ] 8 | |
Item(Global): Report Count, data= [ 0x02 ] 2 | |
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(Global): Usage Page, data= [ 0x00 0xff ] 65280 | |
(null) | |
Item(Local ): Usage, data= [ 0x06 ] 6 | |
(null) | |
Item(Main ): Collection, data= [ 0x01 ] 1 | |
Application | |
Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 | |
(null) | |
Item(Local ): Usage, data= [ 0x06 ] 6 | |
(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(Global): Report ID, data= [ 0x3f ] 63 | |
Item(Main ): Input, data= [ 0x22 ] 34 | |
Data Variable Absolute No_Wrap Linear | |
No_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 0x0010 1x 16 bytes | |
bInterval 8 | |
Interface Descriptor: | |
bLength 9 | |
bDescriptorType 4 | |
bInterfaceNumber 2 | |
bAlternateSetting 0 | |
bNumEndpoints 1 | |
bInterfaceClass 3 Human Interface Device | |
bInterfaceSubClass 0 | |
bInterfaceProtocol 0 | |
iInterface 7 Accelerometer | |
HID Device Descriptor: | |
bLength 9 | |
bDescriptorType 33 | |
bcdHID 1.10 | |
bCountryCode 0 Not supported | |
bNumDescriptors 1 | |
bDescriptorType 34 Report | |
wDescriptorLength 27 | |
Report Descriptors: | |
** UNAVAILABLE ** | |
Endpoint Descriptor: | |
bLength 7 | |
bDescriptorType 5 | |
bEndpointAddress 0x85 EP 5 IN | |
bmAttributes 3 | |
Transfer Type Interrupt | |
Synch Type None | |
Usage Type Data | |
wMaxPacketSize 0x0040 1x 64 bytes | |
bInterval 2 | |
Device Status: 0x0000 | |
(Bus Powered) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment