Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
USB Human Interface Device (HID) common definitions header. More...
Go to the source code of this file.
Macros | |
#define | HID_ITEM(bTag, bType, bSize) |
Define HID short item. | |
#define | HID_INPUT(a) HID_ITEM(HID_ITEM_TAG_INPUT, HID_ITEM_TYPE_MAIN, 1), a |
Define HID Input item with the data length of one byte. | |
#define | HID_OUTPUT(a) HID_ITEM(HID_ITEM_TAG_OUTPUT, HID_ITEM_TYPE_MAIN, 1), a |
Define HID Output item with the data length of one byte. | |
#define | HID_FEATURE(a) HID_ITEM(HID_ITEM_TAG_FEATURE, HID_ITEM_TYPE_MAIN, 1), a |
Define HID Feature item with the data length of one byte. | |
#define | HID_COLLECTION(a) HID_ITEM(HID_ITEM_TAG_COLLECTION, HID_ITEM_TYPE_MAIN, 1), a |
Define HID Collection item with the data length of one byte. | |
#define | HID_END_COLLECTION HID_ITEM(HID_ITEM_TAG_COLLECTION_END, HID_ITEM_TYPE_MAIN, 0) |
Define HID End Collection (non-data) item. | |
#define | HID_USAGE_PAGE(page) HID_ITEM(HID_ITEM_TAG_USAGE_PAGE, HID_ITEM_TYPE_GLOBAL, 1), page |
Define HID Usage Page item. | |
#define | HID_LOGICAL_MIN8(a) HID_ITEM(HID_ITEM_TAG_LOGICAL_MIN, HID_ITEM_TYPE_GLOBAL, 1), a |
Define HID Logical Minimum item with the data length of one byte. | |
#define | HID_LOGICAL_MAX8(a) HID_ITEM(HID_ITEM_TAG_LOGICAL_MAX, HID_ITEM_TYPE_GLOBAL, 1), a |
Define HID Logical Maximum item with the data length of one byte. | |
#define | HID_LOGICAL_MIN16(a, b) HID_ITEM(HID_ITEM_TAG_LOGICAL_MIN, HID_ITEM_TYPE_GLOBAL, 2), a, b |
Define HID Logical Minimum item with the data length of two bytes. | |
#define | HID_LOGICAL_MAX16(a, b) HID_ITEM(HID_ITEM_TAG_LOGICAL_MAX, HID_ITEM_TYPE_GLOBAL, 2), a, b |
Define HID Logical Maximum item with the data length of two bytes. | |
#define | HID_LOGICAL_MIN32(a, b, c, d) HID_ITEM(HID_ITEM_TAG_LOGICAL_MIN, HID_ITEM_TYPE_GLOBAL, 3), a, b, c, d |
Define HID Logical Minimum item with the data length of four bytes. | |
#define | HID_LOGICAL_MAX32(a, b, c, d) HID_ITEM(HID_ITEM_TAG_LOGICAL_MAX, HID_ITEM_TYPE_GLOBAL, 3), a, b, c, d |
Define HID Logical Maximum item with the data length of four bytes. | |
#define | HID_REPORT_SIZE(size) HID_ITEM(HID_ITEM_TAG_REPORT_SIZE, HID_ITEM_TYPE_GLOBAL, 1), size |
Define HID Report Size item with the data length of one byte. | |
#define | HID_REPORT_ID(id) HID_ITEM(HID_ITEM_TAG_REPORT_ID, HID_ITEM_TYPE_GLOBAL, 1), id |
Define HID Report ID item with the data length of one byte. | |
#define | HID_REPORT_COUNT(count) HID_ITEM(HID_ITEM_TAG_REPORT_COUNT, HID_ITEM_TYPE_GLOBAL, 1), count |
Define HID Report Count item with the data length of one byte. | |
#define | HID_USAGE(idx) HID_ITEM(HID_ITEM_TAG_USAGE, HID_ITEM_TYPE_LOCAL, 1), idx |
Define HID Usage Index item with the data length of one byte. | |
#define | HID_USAGE_MIN8(a) HID_ITEM(HID_ITEM_TAG_USAGE_MIN, HID_ITEM_TYPE_LOCAL, 1), a |
Define HID Usage Minimum item with the data length of one byte. | |
#define | HID_USAGE_MAX8(a) HID_ITEM(HID_ITEM_TAG_USAGE_MAX, HID_ITEM_TYPE_LOCAL, 1), a |
Define HID Usage Maximum item with the data length of one byte. | |
#define | HID_USAGE_MIN16(a, b) HID_ITEM(HID_ITEM_TAG_USAGE_MIN, HID_ITEM_TYPE_LOCAL, 2), a, b |
Define HID Usage Minimum item with the data length of two bytes. | |
#define | HID_USAGE_MAX16(a, b) HID_ITEM(HID_ITEM_TAG_USAGE_MAX, HID_ITEM_TYPE_LOCAL, 2), a, b |
Define HID Usage Maximum item with the data length of two bytes. | |
#define | HID_MOUSE_REPORT_DESC(bcnt) |
Simple HID mouse report descriptor for n button mouse. | |
#define | HID_KEYBOARD_REPORT_DESC() |
Simple HID keyboard report descriptor. | |
USB HID types and values | |
#define | USB_HID_VERSION 0x0111 |
HID Specification release v1.11. | |
#define | USB_DESC_HID 0x21 |
USB HID Class HID descriptor type. | |
#define | USB_DESC_HID_REPORT 0x22 |
USB HID Class Report descriptor type. | |
#define | USB_DESC_HID_PHYSICAL 0x23 |
USB HID Class physical descriptor type. | |
#define | USB_HID_GET_REPORT 0x01 |
USB HID Class GetReport bRequest value. | |
#define | USB_HID_GET_IDLE 0x02 |
USB HID Class GetIdle bRequest value. | |
#define | USB_HID_GET_PROTOCOL 0x03 |
USB HID Class GetProtocol bRequest value. | |
#define | USB_HID_SET_REPORT 0x09 |
USB HID Class SetReport bRequest value. | |
#define | USB_HID_SET_IDLE 0x0A |
USB HID Class SetIdle bRequest value. | |
#define | USB_HID_SET_PROTOCOL 0x0B |
USB HID Class SetProtocol bRequest value. | |
#define | HID_BOOT_IFACE_CODE_NONE 0 |
USB HID Boot Interface Protocol (bInterfaceProtocol) Code None. | |
#define | HID_BOOT_IFACE_CODE_KEYBOARD 1 |
USB HID Boot Interface Protocol (bInterfaceProtocol) Code Keyboard. | |
#define | HID_BOOT_IFACE_CODE_MOUSE 2 |
USB HID Boot Interface Protocol (bInterfaceProtocol) Code Mouse. | |
#define | HID_PROTOCOL_BOOT 0 |
USB HID Class Boot protocol code. | |
#define | HID_PROTOCOL_REPORT 1 |
USB HID Class Report protocol code. | |
#define | HID_ITEM_TYPE_MAIN 0x0 |
HID Main item type. | |
#define | HID_ITEM_TYPE_GLOBAL 0x1 |
HID Global item type. | |
#define | HID_ITEM_TYPE_LOCAL 0x2 |
HID Local item type. | |
#define | HID_ITEM_TAG_INPUT 0x8 |
HID Input item tag. | |
#define | HID_ITEM_TAG_OUTPUT 0x9 |
HID Output item tag. | |
#define | HID_ITEM_TAG_COLLECTION 0xA |
HID Collection item tag. | |
#define | HID_ITEM_TAG_FEATURE 0xB |
HID Feature item tag. | |
#define | HID_ITEM_TAG_COLLECTION_END 0xC |
HID End Collection item tag. | |
#define | HID_ITEM_TAG_USAGE_PAGE 0x0 |
HID Usage Page item tag. | |
#define | HID_ITEM_TAG_LOGICAL_MIN 0x1 |
HID Logical Minimum item tag. | |
#define | HID_ITEM_TAG_LOGICAL_MAX 0x2 |
HID Logical Maximum item tag. | |
#define | HID_ITEM_TAG_PHYSICAL_MIN 0x3 |
HID Physical Minimum item tag. | |
#define | HID_ITEM_TAG_PHYSICAL_MAX 0x4 |
HID Physical Maximum item tag. | |
#define | HID_ITEM_TAG_UNIT_EXPONENT 0x5 |
HID Unit Exponent item tag. | |
#define | HID_ITEM_TAG_UNIT 0x6 |
HID Unit item tag. | |
#define | HID_ITEM_TAG_REPORT_SIZE 0x7 |
HID Report Size item tag. | |
#define | HID_ITEM_TAG_REPORT_ID 0x8 |
HID Report ID item tag. | |
#define | HID_ITEM_TAG_REPORT_COUNT 0x9 |
HID Report count item tag. | |
#define | HID_ITEM_TAG_USAGE 0x0 |
HID Usage item tag. | |
#define | HID_ITEM_TAG_USAGE_MIN 0x1 |
HID Usage Minimum item tag. | |
#define | HID_ITEM_TAG_USAGE_MAX 0x2 |
HID Usage Maximum item tag. | |
#define | HID_COLLECTION_PHYSICAL 0x00 |
Physical collection type. | |
#define | HID_COLLECTION_APPLICATION 0x01 |
Application collection type. | |
#define | HID_COLLECTION_LOGICAL 0x02 |
Logical collection type. | |
#define | HID_COLLECTION_REPORT 0x03 |
Report collection type. | |
#define | HID_COLLECTION_NAMED_ARRAY 0x04 |
Named Array collection type. | |
#define | HID_COLLECTION_USAGE_SWITCH 0x05 |
Usage Switch collection type. | |
#define | HID_COLLECTION_MODIFIER 0x06 |
Modifier collection type. | |
#define | HID_USAGE_GEN_DESKTOP 0x01 |
HID Generic Desktop Controls Usage page. | |
#define | HID_USAGE_GEN_KEYBOARD 0x07 |
HID Keyboard Usage page. | |
#define | HID_USAGE_GEN_LEDS 0x08 |
HID LEDs Usage page. | |
#define | HID_USAGE_GEN_BUTTON 0x09 |
HID Button Usage page. | |
#define | HID_USAGE_GEN_DESKTOP_UNDEFINED 0x00 |
HID Generic Desktop Undefined Usage ID. | |
#define | HID_USAGE_GEN_DESKTOP_POINTER 0x01 |
HID Generic Desktop Pointer Usage ID. | |
#define | HID_USAGE_GEN_DESKTOP_MOUSE 0x02 |
HID Generic Desktop Mouse Usage ID. | |
#define | HID_USAGE_GEN_DESKTOP_JOYSTICK 0x04 |
HID Generic Desktop Joystick Usage ID. | |
#define | HID_USAGE_GEN_DESKTOP_GAMEPAD 0x05 |
HID Generic Desktop Gamepad Usage ID. | |
#define | HID_USAGE_GEN_DESKTOP_KEYBOARD 0x06 |
HID Generic Desktop Keyboard Usage ID. | |
#define | HID_USAGE_GEN_DESKTOP_KEYPAD 0x07 |
HID Generic Desktop Keypad Usage ID. | |
#define | HID_USAGE_GEN_DESKTOP_X 0x30 |
HID Generic Desktop X Usage ID. | |
#define | HID_USAGE_GEN_DESKTOP_Y 0x31 |
HID Generic Desktop Y Usage ID. | |
#define | HID_USAGE_GEN_DESKTOP_WHEEL 0x38 |
HID Generic Desktop Wheel Usage ID. | |
USB Human Interface Device (HID) common definitions header.
Header follows Device Class Definition for Human Interface Devices (HID) Version 1.11 document (HID1_11-1.pdf).