Zephyr API Documentation 4.2.0-rc2
A Scalable Open Source RTOS
 4.2.0-rc2
USB HID common definitions

hid.h API More...

Topics

 Mouse and keyboard report descriptors
 USB HID Item helpers

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_SENSORS   0x20
 HID Sensors 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.
#define HID_USAGE_SENSOR_TYPE_COLLECTION   0x001
 HID Sensors Collection Usage ID.
#define HID_USAGE_SENSORS_TYPE_ENVIRONMENTAL_TEMPERATURE   0x033
 HID Sensors Environmental Temperature Type Usage ID.
#define HID_USAGE_SENSORS_EVENT_SENSOR_STATE   0x201
 HID Sensors Event Sensor State Usage ID.
#define HID_USAGE_SENSORS_PROPERTY_FRIENDLY_NAME   0x301
 HID Sensors Friendly Name Property Usage ID.
#define HID_USAGE_SENSORS_DATA_ENVIRONMENTAL_TEMPERATURE   0x434
 HID Sensors Enviromental Temperature Data Usage ID.
#define HID_USAGE_SENSORS_PROPERTY_TIMESTAMP   0x529
 HID Sensors Timestamp Property Usage ID.
#define HID_USAGE_SENSORS_SENSOR_STATE_UNDEFINED   0x800
 HID Sensors Sensor State Undefined Usage ID.
#define HID_USAGE_SENSORS_SENSOR_STATE_READY   0x801
 HID Sensors Sensor State Ready Usage ID.
#define HID_USAGE_SENSORS_SENSOR_STATE_NOT_AVAILABLE   0x802
 HID Sensors Sensor State Not Available Usage ID.
#define HID_USAGE_SENSORS_SENSOR_STATE_NO_DATA   0x803
 HID Sensors Sensor State No Data Usage ID.
#define HID_USAGE_SENSORS_SENSOR_STATE_INITIALIZING   0x804
 HID Sensors Sensor State Initializing Usage ID.
#define HID_USAGE_SENSORS_SENSOR_STATE_ACCESS_DENIED   0x805
 HID Sensors Sensor State Access Denied Usage ID.
#define HID_USAGE_SENSORS_SENSOR_STATE_ERROR   0x806
 HID Sensors Sensor State Error Usage ID.

Detailed Description

hid.h API

Since
1.11
Version
1.0.0

Macro Definition Documentation

◆ HID_BOOT_IFACE_CODE_KEYBOARD

#define HID_BOOT_IFACE_CODE_KEYBOARD   1

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

USB HID Boot Interface Protocol (bInterfaceProtocol) Code Keyboard.

◆ HID_BOOT_IFACE_CODE_MOUSE

#define HID_BOOT_IFACE_CODE_MOUSE   2

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

USB HID Boot Interface Protocol (bInterfaceProtocol) Code Mouse.

◆ HID_BOOT_IFACE_CODE_NONE

#define HID_BOOT_IFACE_CODE_NONE   0

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

USB HID Boot Interface Protocol (bInterfaceProtocol) Code None.

◆ HID_COLLECTION_APPLICATION

#define HID_COLLECTION_APPLICATION   0x01

◆ HID_COLLECTION_LOGICAL

#define HID_COLLECTION_LOGICAL   0x02

◆ HID_COLLECTION_MODIFIER

#define HID_COLLECTION_MODIFIER   0x06

◆ HID_COLLECTION_NAMED_ARRAY

#define HID_COLLECTION_NAMED_ARRAY   0x04

◆ HID_COLLECTION_PHYSICAL

#define HID_COLLECTION_PHYSICAL   0x00

◆ HID_COLLECTION_REPORT

#define HID_COLLECTION_REPORT   0x03

◆ HID_COLLECTION_USAGE_SWITCH

#define HID_COLLECTION_USAGE_SWITCH   0x05

◆ HID_ITEM_TAG_COLLECTION

#define HID_ITEM_TAG_COLLECTION   0xA

◆ HID_ITEM_TAG_COLLECTION_END

#define HID_ITEM_TAG_COLLECTION_END   0xC

◆ HID_ITEM_TAG_FEATURE

#define HID_ITEM_TAG_FEATURE   0xB

◆ HID_ITEM_TAG_INPUT

#define HID_ITEM_TAG_INPUT   0x8

◆ HID_ITEM_TAG_LOGICAL_MAX

#define HID_ITEM_TAG_LOGICAL_MAX   0x2

◆ HID_ITEM_TAG_LOGICAL_MIN

#define HID_ITEM_TAG_LOGICAL_MIN   0x1

◆ HID_ITEM_TAG_OUTPUT

#define HID_ITEM_TAG_OUTPUT   0x9

◆ HID_ITEM_TAG_PHYSICAL_MAX

#define HID_ITEM_TAG_PHYSICAL_MAX   0x4

◆ HID_ITEM_TAG_PHYSICAL_MIN

#define HID_ITEM_TAG_PHYSICAL_MIN   0x3

◆ HID_ITEM_TAG_REPORT_COUNT

#define HID_ITEM_TAG_REPORT_COUNT   0x9

◆ HID_ITEM_TAG_REPORT_ID

#define HID_ITEM_TAG_REPORT_ID   0x8

◆ HID_ITEM_TAG_REPORT_SIZE

#define HID_ITEM_TAG_REPORT_SIZE   0x7

◆ HID_ITEM_TAG_UNIT

#define HID_ITEM_TAG_UNIT   0x6

◆ HID_ITEM_TAG_UNIT_EXPONENT

#define HID_ITEM_TAG_UNIT_EXPONENT   0x5

◆ HID_ITEM_TAG_USAGE

#define HID_ITEM_TAG_USAGE   0x0

◆ HID_ITEM_TAG_USAGE_MAX

#define HID_ITEM_TAG_USAGE_MAX   0x2

◆ HID_ITEM_TAG_USAGE_MIN

#define HID_ITEM_TAG_USAGE_MIN   0x1

◆ HID_ITEM_TAG_USAGE_PAGE

#define HID_ITEM_TAG_USAGE_PAGE   0x0

◆ HID_ITEM_TYPE_GLOBAL

#define HID_ITEM_TYPE_GLOBAL   0x1

◆ HID_ITEM_TYPE_LOCAL

#define HID_ITEM_TYPE_LOCAL   0x2

◆ HID_ITEM_TYPE_MAIN

#define HID_ITEM_TYPE_MAIN   0x0

◆ HID_PROTOCOL_BOOT

#define HID_PROTOCOL_BOOT   0

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

USB HID Class Boot protocol code.

◆ HID_PROTOCOL_REPORT

#define HID_PROTOCOL_REPORT   1

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

USB HID Class Report protocol code.

◆ HID_USAGE_GEN_BUTTON

#define HID_USAGE_GEN_BUTTON   0x09

◆ HID_USAGE_GEN_DESKTOP

#define HID_USAGE_GEN_DESKTOP   0x01

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Generic Desktop Controls Usage page.

◆ HID_USAGE_GEN_DESKTOP_GAMEPAD

#define HID_USAGE_GEN_DESKTOP_GAMEPAD   0x05

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Generic Desktop Gamepad Usage ID.

◆ HID_USAGE_GEN_DESKTOP_JOYSTICK

#define HID_USAGE_GEN_DESKTOP_JOYSTICK   0x04

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Generic Desktop Joystick Usage ID.

◆ HID_USAGE_GEN_DESKTOP_KEYBOARD

#define HID_USAGE_GEN_DESKTOP_KEYBOARD   0x06

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Generic Desktop Keyboard Usage ID.

◆ HID_USAGE_GEN_DESKTOP_KEYPAD

#define HID_USAGE_GEN_DESKTOP_KEYPAD   0x07

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Generic Desktop Keypad Usage ID.

◆ HID_USAGE_GEN_DESKTOP_MOUSE

#define HID_USAGE_GEN_DESKTOP_MOUSE   0x02

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Generic Desktop Mouse Usage ID.

◆ HID_USAGE_GEN_DESKTOP_POINTER

#define HID_USAGE_GEN_DESKTOP_POINTER   0x01

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Generic Desktop Pointer Usage ID.

◆ HID_USAGE_GEN_DESKTOP_UNDEFINED

#define HID_USAGE_GEN_DESKTOP_UNDEFINED   0x00

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Generic Desktop Undefined Usage ID.

◆ HID_USAGE_GEN_DESKTOP_WHEEL

#define HID_USAGE_GEN_DESKTOP_WHEEL   0x38

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Generic Desktop Wheel Usage ID.

◆ HID_USAGE_GEN_DESKTOP_X

#define HID_USAGE_GEN_DESKTOP_X   0x30

◆ HID_USAGE_GEN_DESKTOP_Y

#define HID_USAGE_GEN_DESKTOP_Y   0x31

◆ HID_USAGE_GEN_KEYBOARD

#define HID_USAGE_GEN_KEYBOARD   0x07

◆ HID_USAGE_GEN_LEDS

#define HID_USAGE_GEN_LEDS   0x08

◆ HID_USAGE_SENSOR_TYPE_COLLECTION

#define HID_USAGE_SENSOR_TYPE_COLLECTION   0x001

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Sensors Collection Usage ID.

◆ HID_USAGE_SENSORS

#define HID_USAGE_SENSORS   0x20

◆ HID_USAGE_SENSORS_DATA_ENVIRONMENTAL_TEMPERATURE

#define HID_USAGE_SENSORS_DATA_ENVIRONMENTAL_TEMPERATURE   0x434

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Sensors Enviromental Temperature Data Usage ID.

◆ HID_USAGE_SENSORS_EVENT_SENSOR_STATE

#define HID_USAGE_SENSORS_EVENT_SENSOR_STATE   0x201

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Sensors Event Sensor State Usage ID.

◆ HID_USAGE_SENSORS_PROPERTY_FRIENDLY_NAME

#define HID_USAGE_SENSORS_PROPERTY_FRIENDLY_NAME   0x301

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Sensors Friendly Name Property Usage ID.

◆ HID_USAGE_SENSORS_PROPERTY_TIMESTAMP

#define HID_USAGE_SENSORS_PROPERTY_TIMESTAMP   0x529

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Sensors Timestamp Property Usage ID.

◆ HID_USAGE_SENSORS_SENSOR_STATE_ACCESS_DENIED

#define HID_USAGE_SENSORS_SENSOR_STATE_ACCESS_DENIED   0x805

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Sensors Sensor State Access Denied Usage ID.

◆ HID_USAGE_SENSORS_SENSOR_STATE_ERROR

#define HID_USAGE_SENSORS_SENSOR_STATE_ERROR   0x806

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Sensors Sensor State Error Usage ID.

◆ HID_USAGE_SENSORS_SENSOR_STATE_INITIALIZING

#define HID_USAGE_SENSORS_SENSOR_STATE_INITIALIZING   0x804

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Sensors Sensor State Initializing Usage ID.

◆ HID_USAGE_SENSORS_SENSOR_STATE_NO_DATA

#define HID_USAGE_SENSORS_SENSOR_STATE_NO_DATA   0x803

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Sensors Sensor State No Data Usage ID.

◆ HID_USAGE_SENSORS_SENSOR_STATE_NOT_AVAILABLE

#define HID_USAGE_SENSORS_SENSOR_STATE_NOT_AVAILABLE   0x802

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Sensors Sensor State Not Available Usage ID.

◆ HID_USAGE_SENSORS_SENSOR_STATE_READY

#define HID_USAGE_SENSORS_SENSOR_STATE_READY   0x801

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Sensors Sensor State Ready Usage ID.

◆ HID_USAGE_SENSORS_SENSOR_STATE_UNDEFINED

#define HID_USAGE_SENSORS_SENSOR_STATE_UNDEFINED   0x800

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Sensors Sensor State Undefined Usage ID.

◆ HID_USAGE_SENSORS_TYPE_ENVIRONMENTAL_TEMPERATURE

#define HID_USAGE_SENSORS_TYPE_ENVIRONMENTAL_TEMPERATURE   0x033

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Sensors Environmental Temperature Type Usage ID.

◆ USB_DESC_HID

#define USB_DESC_HID   0x21

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

USB HID Class HID descriptor type.

◆ USB_DESC_HID_PHYSICAL

#define USB_DESC_HID_PHYSICAL   0x23

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

USB HID Class physical descriptor type.

◆ USB_DESC_HID_REPORT

#define USB_DESC_HID_REPORT   0x22

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

USB HID Class Report descriptor type.

◆ USB_HID_GET_IDLE

#define USB_HID_GET_IDLE   0x02

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

USB HID Class GetIdle bRequest value.

◆ USB_HID_GET_PROTOCOL

#define USB_HID_GET_PROTOCOL   0x03

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

USB HID Class GetProtocol bRequest value.

◆ USB_HID_GET_REPORT

#define USB_HID_GET_REPORT   0x01

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

USB HID Class GetReport bRequest value.

◆ USB_HID_SET_IDLE

#define USB_HID_SET_IDLE   0x0A

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

USB HID Class SetIdle bRequest value.

◆ USB_HID_SET_PROTOCOL

#define USB_HID_SET_PROTOCOL   0x0B

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

USB HID Class SetProtocol bRequest value.

◆ USB_HID_SET_REPORT

#define USB_HID_SET_REPORT   0x09

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

USB HID Class SetReport bRequest value.

◆ USB_HID_VERSION

#define USB_HID_VERSION   0x0111

#include </home/runner/work/zephyr/zephyr/zephyr/include/zephyr/usb/class/hid.h>

HID Specification release v1.11.