qmk_firmware/internals_usb_hid_protocol.md

118 lines
6 KiB
Markdown

# group `usb_hid_protocol` {#group__usb__hid__protocol}
USB Human Interface Device (HID) protocol definitions.
protocol definitions
## Summary
Members | Descriptions
--------------------------------|---------------------------------------------
`enum `[`usb_reqid_hid`](#group__usb__hid__protocol_1gaa7c41bb1274630413fb8f1e9a8acb3e5) | Hid USB requests (bRequest)
`enum `[`usb_descriptor_type_hid`](#group__usb__hid__protocol_1ga75d07fddd98e94eee499e34ce80eebc7) | HID USB descriptor types.
`enum `[`usb_hid_item_report_type`](#group__usb__hid__protocol_1gab8c213eaa38f71a4aae0c2bb7341f170) | HID Type for report descriptor.
`enum `[`usb_hid_report_type`](#group__usb__hid__protocol_1ga5832b449d0ccdae41b51ee5436e8df28) | HID report type.
`enum `[`usb_hid_protocol`](#group__usb__hid__protocol_1gaf68d2167c72cb42e4788cbeba994c255) | HID protocol.
`struct `[`usb_hid_descriptor_t`](#structusb__hid__descriptor__t) | HID Descriptor.
## Members
#### `enum `[`usb_reqid_hid`](#group__usb__hid__protocol_1gaa7c41bb1274630413fb8f1e9a8acb3e5) {#group__usb__hid__protocol_1gaa7c41bb1274630413fb8f1e9a8acb3e5}
Values | Descriptions
--------------------------------|---------------------------------------------
USB_REQ_HID_GET_REPORT |
USB_REQ_HID_GET_IDLE |
USB_REQ_HID_GET_PROTOCOL |
USB_REQ_HID_SET_REPORT |
USB_REQ_HID_SET_IDLE |
USB_REQ_HID_SET_PROTOCOL |
Hid USB requests (bRequest)
#### `enum `[`usb_descriptor_type_hid`](#group__usb__hid__protocol_1ga75d07fddd98e94eee499e34ce80eebc7) {#group__usb__hid__protocol_1ga75d07fddd98e94eee499e34ce80eebc7}
Values | Descriptions
--------------------------------|---------------------------------------------
USB_DT_HID |
USB_DT_HID_REPORT |
USB_DT_HID_PHYSICAL |
HID USB descriptor types.
#### `enum `[`usb_hid_item_report_type`](#group__usb__hid__protocol_1gab8c213eaa38f71a4aae0c2bb7341f170) {#group__usb__hid__protocol_1gab8c213eaa38f71a4aae0c2bb7341f170}
Values | Descriptions
--------------------------------|---------------------------------------------
USB_HID_ITEM_REPORT_TYPE_MAIN |
USB_HID_ITEM_REPORT_TYPE_GLOBAL |
USB_HID_ITEM_REPORT_TYPE_LOCAL |
USB_HID_ITEM_REPORT_TYPE_LONG |
HID Type for report descriptor.
#### `enum `[`usb_hid_report_type`](#group__usb__hid__protocol_1ga5832b449d0ccdae41b51ee5436e8df28) {#group__usb__hid__protocol_1ga5832b449d0ccdae41b51ee5436e8df28}
Values | Descriptions
--------------------------------|---------------------------------------------
USB_HID_REPORT_TYPE_INPUT |
USB_HID_REPORT_TYPE_OUTPUT |
USB_HID_REPORT_TYPE_FEATURE |
HID report type.
#### `enum `[`usb_hid_protocol`](#group__usb__hid__protocol_1gaf68d2167c72cb42e4788cbeba994c255) {#group__usb__hid__protocol_1gaf68d2167c72cb42e4788cbeba994c255}
Values | Descriptions
--------------------------------|---------------------------------------------
USB_HID_PROCOTOL_BOOT |
USB_HID_PROCOTOL_REPORT |
HID protocol.
# struct `usb_hid_descriptor_t` {#structusb__hid__descriptor__t}
HID Descriptor.
## Summary
Members | Descriptions
--------------------------------|---------------------------------------------
`public uint8_t `[`bLength`](#structusb__hid__descriptor__t_1a1deca1f1d6e5815b290e6e1015bce5b8) | Size of this descriptor in bytes.
`public uint8_t `[`bDescriptorType`](#structusb__hid__descriptor__t_1a67d7027b9eb9ed268d28e84fbc675707) | HID descriptor type.
`public le16_t `[`bcdHID`](#structusb__hid__descriptor__t_1ab86c23448d45c6d68efec9f9af5d10de) | Binary Coded Decimal Spec. release.
`public uint8_t `[`bCountryCode`](#structusb__hid__descriptor__t_1a969a604033b72573d59a740badf6920e) | Hardware target country.
`public uint8_t `[`bNumDescriptors`](#structusb__hid__descriptor__t_1a86ff434026085d9c0c751185eb3700c5) | Number of HID class descriptors to follow.
`public uint8_t `[`bRDescriptorType`](#structusb__hid__descriptor__t_1a6da89ed91bee6e0a4f2c8cf3b40a7ede) | Report descriptor type.
`public le16_t `[`wDescriptorLength`](#structusb__hid__descriptor__t_1ab3d5c878a0abf618eecc7f860e9aeb62) | Total length of Report descriptor.
## Members
#### `public uint8_t `[`bLength`](#structusb__hid__descriptor__t_1a1deca1f1d6e5815b290e6e1015bce5b8) {#structusb__hid__descriptor__t_1a1deca1f1d6e5815b290e6e1015bce5b8}
Size of this descriptor in bytes.
#### `public uint8_t `[`bDescriptorType`](#structusb__hid__descriptor__t_1a67d7027b9eb9ed268d28e84fbc675707) {#structusb__hid__descriptor__t_1a67d7027b9eb9ed268d28e84fbc675707}
HID descriptor type.
#### `public le16_t `[`bcdHID`](#structusb__hid__descriptor__t_1ab86c23448d45c6d68efec9f9af5d10de) {#structusb__hid__descriptor__t_1ab86c23448d45c6d68efec9f9af5d10de}
Binary Coded Decimal Spec. release.
#### `public uint8_t `[`bCountryCode`](#structusb__hid__descriptor__t_1a969a604033b72573d59a740badf6920e) {#structusb__hid__descriptor__t_1a969a604033b72573d59a740badf6920e}
Hardware target country.
#### `public uint8_t `[`bNumDescriptors`](#structusb__hid__descriptor__t_1a86ff434026085d9c0c751185eb3700c5) {#structusb__hid__descriptor__t_1a86ff434026085d9c0c751185eb3700c5}
Number of HID class descriptors to follow.
#### `public uint8_t `[`bRDescriptorType`](#structusb__hid__descriptor__t_1a6da89ed91bee6e0a4f2c8cf3b40a7ede) {#structusb__hid__descriptor__t_1a6da89ed91bee6e0a4f2c8cf3b40a7ede}
Report descriptor type.
#### `public le16_t `[`wDescriptorLength`](#structusb__hid__descriptor__t_1ab3d5c878a0abf618eecc7f860e9aeb62) {#structusb__hid__descriptor__t_1ab3d5c878a0abf618eecc7f860e9aeb62}
Total length of Report descriptor.