1e41f4b71Sopenharmony_ci# HID DDK 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci 4e41f4b71Sopenharmony_ci## Overview 5e41f4b71Sopenharmony_ci 6e41f4b71Sopenharmony_ciProvides HID driver development kit (DDK) functions, including those for creating a device, sending events to a device, and destroying a device. 7e41f4b71Sopenharmony_ci 8e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Driver.HID.Extension 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci**Since** 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci11 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci## Summary 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci### Files 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci| Name| Description| 20e41f4b71Sopenharmony_ci| -------- | -------- | 21e41f4b71Sopenharmony_ci| [hid_ddk_api.h](hid__ddk__api_8h.md) | Declares the HID DDK functions for accessing an input device from the host.<br>File to include: <hid/hid_ddk_api.h><br>Library: libhid.z.so| 22e41f4b71Sopenharmony_ci| [hid_ddk_types.h](hid__ddk__types_8h.md) | Defines the enum variables and structs used in the HID DDK.<br>File to include: <hid/hid_ddk_types.h><br>Library: libhid.z.so | 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci### Structs 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci| Name| Description| 28e41f4b71Sopenharmony_ci| -------- | -------- | 29e41f4b71Sopenharmony_ci| [Hid_EmitItem](_hid___emit_item.md) | Defines event information. | 30e41f4b71Sopenharmony_ci| [Hid_Device](_hid___device.md) | Defines basic device information. | 31e41f4b71Sopenharmony_ci| [Hid_EventTypeArray](_hid___event_type_array.md) | Defines an array of event types. | 32e41f4b71Sopenharmony_ci| [Hid_KeyCodeArray](_hid___key_code_array.md) | Defines an array of key codes. | 33e41f4b71Sopenharmony_ci| [Hid_AbsAxesArray](_hid___abs_axes_array.md) | Defines an array of absolute coordinates. | 34e41f4b71Sopenharmony_ci| [Hid_RelAxesArray](_hid___rel_axes_array.md) | Defines an array of relative coordinates. | 35e41f4b71Sopenharmony_ci| [Hid_MscEventArray](_hid___msc_event_array.md) | Defines an array of miscellaneous events. | 36e41f4b71Sopenharmony_ci| [Hid_EventProperties](_hid___event_properties.md) | Defines the event properties of a device. | 37e41f4b71Sopenharmony_ci 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci### Types 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci| Name| Description| 42e41f4b71Sopenharmony_ci| -------- | -------- | 43e41f4b71Sopenharmony_ci| [Hid_EmitItem](#hid_emititem) | Defines a struct for event information. | 44e41f4b71Sopenharmony_ci| [Hid_Device](#hid_device) | Defines a struct for basic device information. | 45e41f4b71Sopenharmony_ci| [Hid_EventTypeArray](#hid_eventtypearray) | Defines a struct for an array of event types. | 46e41f4b71Sopenharmony_ci| [Hid_KeyCodeArray](#hid_keycodearray) | Defines a struct for an array of key codes. | 47e41f4b71Sopenharmony_ci| [Hid_AbsAxesArray](#hid_absaxesarray) | Defines a struct for an array of absolute coordinates. | 48e41f4b71Sopenharmony_ci| [Hid_RelAxesArray](#hid_relaxesarray) | Defines a struct for an array of relative coordinates. | 49e41f4b71Sopenharmony_ci| [Hid_MscEventArray](#hid_msceventarray) | Defines a struct for an array of miscellaneous events. | 50e41f4b71Sopenharmony_ci| [Hid_EventProperties](#hid_eventproperties) | Defines a struct for the event properties of a device. | 51e41f4b71Sopenharmony_ci 52e41f4b71Sopenharmony_ci 53e41f4b71Sopenharmony_ci### Enums 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci| Name| Description| 56e41f4b71Sopenharmony_ci| -------- | -------- | 57e41f4b71Sopenharmony_ci| [Hid_DeviceProp](#hid_deviceprop) {<br>HID_PROP_POINTER = 0x00, HID_PROP_DIRECT = 0x01, HID_PROP_BUTTON_PAD = 0x02, HID_PROP_SEMI_MT = 0x03,<br>HID_PROP_TOP_BUTTON_PAD = 0x04, HID_PROP_POINTING_STICK = 0x05, HID_PROP_ACCELEROMETER = 0x06<br>} | Enumerates the properties of input devices. | 58e41f4b71Sopenharmony_ci| [Hid_EventType](#hid_eventtype) {<br>HID_EV_SYN = 0x00, HID_EV_KEY = 0x01, HID_EV_REL = 0x02, HID_EV_ABS = 0x03,<br>HID_EV_MSC = 0x04<br>} | Enumerates the event types. | 59e41f4b71Sopenharmony_ci| [Hid_SynEvent](#hid_synevent) { HID_SYN_REPORT = 0, HID_SYN_CONFIG = 1, HID_SYN_MT_REPORT = 2, HID_SYN_DROPPED = 3 } | Enumerates sync events. | 60e41f4b71Sopenharmony_ci| [Hid_KeyCode](#hid_keycode) {<br>HID_KEY_A = 30, HID_KEY_B = 48, HID_KEY_C = 46, HID_KEY_D = 32,<br>HID_KEY_E = 18, HID_KEY_F = 33, HID_KEY_G = 34, HID_KEY_H = 35,<br>HID_KEY_I = 23, HID_KEY_J = 36, HID_KEY_K = 37, HID_KEY_L = 38,<br>HID_KEY_M = 50, HID_KEY_N = 49, HID_KEY_O = 24, HID_KEY_P = 25,<br>HID_KEY_Q = 16, HID_KEY_R = 19, HID_KEY_S = 31, HID_KEY_T = 20,<br>HID_KEY_U = 22, HID_KEY_V = 47, HID_KEY_W = 17, HID_KEY_X = 45,<br>HID_KEY_Y = 21, HID_KEY_Z = 44, HID_KEY_ESC = 1, HID_KEY_0 = 11,<br>HID_KEY_1 = 2, HID_KEY_2 = 3, HID_KEY_3 = 4, HID_KEY_4 = 5,<br>HID_KEY_5 = 6, HID_KEY_6 = 7, HID_KEY_7 = 8, HID_KEY_8 = 9,<br>HID_KEY_9 = 10, HID_KEY_GRAVE = 41, HID_KEY_MINUS = 12, HID_KEY_EQUALS = 13,<br>HID_KEY_BACKSPACE = 14, HID_KEY_LEFT_BRACKET = 26, HID_KEY_RIGHT_BRACKET = 27, HID_KEY_ENTER = 28,<br>HID_KEY_LEFT_SHIFT = 42, HID_KEY_BACKSLASH = 43, HID_KEY_SEMICOLON = 39, HID_KEY_APOSTROPHE = 40,<br>HID_KEY_SPACE = 57, HID_KEY_SLASH = 53, HID_KEY_COMMA = 51, HID_KEY_PERIOD = 52,<br>HID_KEY_RIGHT_SHIFT = 54, HID_KEY_NUMPAD_0 = 82, HID_KEY_NUMPAD_1 = 79, HID_KEY_NUMPAD_2 = 80,<br>HID_KEY_NUMPAD_3 = 81, HID_KEY_NUMPAD_4 = 75, HID_KEY_NUMPAD_5 = 76, HID_KEY_NUMPAD_6 = 77,<br>HID_KEY_NUMPAD_7 = 71, HID_KEY_NUMPAD_8 = 72, HID_KEY_NUMPAD_9 = 73, HID_KEY_NUMPAD_DIVIDE = 70,<br>HID_KEY_NUMPAD_MULTIPLY = 55, HID_KEY_NUMPAD_SUBTRACT = 74, HID_KEY_NUMPAD_ADD = 78, HID_KEY_NUMPAD_DOT = 83,<br>HID_KEY_SYSRQ = 99, HID_KEY_MUTE = 113, HID_KEY_VOLUME_DOWN = 114, HID_KEY_VOLUME_UP = 115,<br>HID_KEY_BRIGHTNESS_DOWN = 224, HID_KEY_BRIGHTNESS_UP = 225, HID_BTN_0 = 0x100, HID_BTN_1 = 0x101,<br>HID_BTN_2 = 0x102, HID_BTN_3 = 0x103, HID_BTN_4 = 0x104, HID_BTN_5 = 0x105,<br>HID_BTN_6 = 0x106, HID_BTN_7 = 0x107, HID_BTN_8 = 0x108, HID_BTN_9 = 0x109,<br>HID_BTN_LEFT = 0x110, HID_BTN_RIGHT = 0x111, HID_BTN_MIDDLE = 0x112, HID_BTN_SIDE = 0x113,<br>HID_BTN_EXTRA = 0x114, HID_BTN_FORWARD = 0x115, HID_BTN_BACKWARD = 0x116, HID_BTN_TASK = 0x117,<br>HID_BTN_TOOL_PEN = 0x140, HID_BTN_TOOL_RUBBER = 0x141, HID_BTN_TOOL_BRUSH = 0x142, HID_BTN_TOOL_PENCIL = 0x143,<br>HID_BTN_TOOL_AIRBRUSH = 0x144, HID_BTN_TOOL_FINGER = 0x145, HID_BTN_TOOL_MOUSE = 0x146, HID_BTN_TOOL_LENS = 0x147,<br>HID_BTN_TOOL_QUINT_TAP = 0x148, HID_BTN_STYLUS3 = 0x149, HID_BTN_TOUCH = 0x14a, HID_BTN_STYLUS = 0x14b,<br>HID_BTN_STYLUS2 = 0x14c, HID_BTN_TOOL_DOUBLE_TAP = 0x14d, HID_BTN_TOOL_TRIPLE_TAP = 0x14e, HID_BTN_TOOL_QUAD_TAP = 0x14f,<br>HID_BTN_WHEEL = 0x150<br>} | Enumerates the key codes. | 61e41f4b71Sopenharmony_ci| [Hid_AbsAxes](#hid_absaxes) {<br>HID_ABS_X = 0x00, HID_ABS_Y = 0x01, HID_ABS_Z = 0x02, HID_ABS_RX = 0x03,<br>HID_ABS_RY = 0x04, HID_ABS_RZ = 0x05, HID_ABS_THROTTLE = 0x06, HID_ABS_RUDDER = 0x07,<br>HID_ABS_WHEEL = 0x08, HID_ABS_GAS = 0x09, HID_ABS_BRAKE = 0x0a, HID_ABS_HAT0X = 0x10,<br>HID_ABS_HAT0Y = 0x11, HID_ABS_HAT1X = 0x12, HID_ABS_HAT1Y = 0x13, HID_ABS_HAT2X = 0x14,<br>HID_ABS_HAT2Y = 0x15, HID_ABS_HAT3X = 0x16, HID_ABS_HAT3Y = 0x17, HID_ABS_PRESSURE = 0x18,<br>HID_ABS_DISTANCE = 0x19, HID_ABS_TILT_X = 0x1a, HID_ABS_TILT_Y = 0x1b, HID_ABS_TOOL_WIDTH = 0x1c,<br>HID_ABS_VOLUME = 0x20, HID_ABS_MISC = 0x28<br>} | Enumerates the absolute coordinates. | 62e41f4b71Sopenharmony_ci| [Hid_RelAxes](#hid_relaxes) {<br>HID_REL_X = 0x00, HID_REL_Y = 0x01, HID_REL_Z = 0x02, HID_REL_RX = 0x03,<br>HID_REL_RY = 0x04, HID_REL_RZ = 0x05, HID_REL_HWHEEL = 0x06, HID_REL_DIAL = 0x07,<br>HID_REL_WHEEL = 0x08, HID_REL_MISC = 0x09, HID_REL_RESERVED = 0x0a, HID_REL_WHEEL_HI_RES = 0x0b,<br>HID_REL_HWHEEL_HI_RES = 0x0c<br>} | Enumerates the relative coordinates. | 63e41f4b71Sopenharmony_ci| [Hid_MscEvent](#hid_mscevent) {<br>HID_MSC_SERIAL = 0x00, HID_MSC_PULSE_LED = 0x01, HID_MSC_GESTURE = 0x02, HID_MSC_RAW = 0x03,<br>HID_MSC_SCAN = 0x04, HID_MSC_TIMESTAMP = 0x05<br>} | Enumerates miscellaneous input events. | 64e41f4b71Sopenharmony_ci| [Hid_DdkErrCode](#hid_ddkerrcode) {<br>HID_DDK_SUCCESS = 0, HID_DDK_FAILURE = -1, HID_DDK_INVALID_PARAMETER = -2, HID_DDK_INVALID_OPERATION = -3,<br>HID_DDK_NULL_PTR = -4, HID_DDK_TIMEOUT = -5, HID_DDK_NO_PERM = -6<br>} | Enumerates the HID DDK error codes. | 65e41f4b71Sopenharmony_ci 66e41f4b71Sopenharmony_ci 67e41f4b71Sopenharmony_ci### Functions 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ci| Name| Description| 70e41f4b71Sopenharmony_ci| -------- | -------- | 71e41f4b71Sopenharmony_ci| [OH_Hid_CreateDevice](#oh_hid_createdevice) ([Hid_Device](_hid___device.md) \*hidDevice, [Hid_EventProperties](_hid___event_properties.md) \*hidEventProperties) | Creates a device. | 72e41f4b71Sopenharmony_ci| [OH_Hid_EmitEvent](#oh_hid_emitevent) (int32_t deviceId, const [Hid_EmitItem](_hid___emit_item.md) items[], uint16_t length) | Sends an event list to a device. | 73e41f4b71Sopenharmony_ci| [OH_Hid_DestroyDevice](#oh_hid_destroydevice) (int32_t deviceId) | Destroys a device. | 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_ci 76e41f4b71Sopenharmony_ci### Variables 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_ci| Name| Description| 79e41f4b71Sopenharmony_ci| -------- | -------- | 80e41f4b71Sopenharmony_ci| [Hid_EmitItem::type](#type) | Event type. | 81e41f4b71Sopenharmony_ci| [Hid_EmitItem::code](#code) | Event code. | 82e41f4b71Sopenharmony_ci| [Hid_EmitItem::value](#value) | Event value. | 83e41f4b71Sopenharmony_ci| [Hid_Device::deviceName](#devicename) | Device name. | 84e41f4b71Sopenharmony_ci| [Hid_Device::vendorId](#vendorid) | Vendor ID. | 85e41f4b71Sopenharmony_ci| [Hid_Device::productId](#productid) | Product ID. | 86e41f4b71Sopenharmony_ci| [Hid_Device::version](#version) | Version number. | 87e41f4b71Sopenharmony_ci| [Hid_Device::bustype](#bustype) | Bus type. | 88e41f4b71Sopenharmony_ci| [Hid_Device::properties](#properties) | Device properties. | 89e41f4b71Sopenharmony_ci| [Hid_Device::propLength](#proplength) | Number of device properties. | 90e41f4b71Sopenharmony_ci| [Hid_EventTypeArray::hidEventType](#hideventtype) | Event type. | 91e41f4b71Sopenharmony_ci| [Hid_EventTypeArray::length](#length-15) | Array length. | 92e41f4b71Sopenharmony_ci| [Hid_KeyCodeArray::hidKeyCode](#hidkeycode) | key code. | 93e41f4b71Sopenharmony_ci| [Hid_KeyCodeArray::length](#length-25) | Array length. | 94e41f4b71Sopenharmony_ci| [Hid_AbsAxesArray::hidAbsAxes](#hidabsaxes) | Array of absolute coordinates. | 95e41f4b71Sopenharmony_ci| [Hid_AbsAxesArray::length](#length-35) | Array length. | 96e41f4b71Sopenharmony_ci| [Hid_RelAxesArray::hidRelAxes](#hidrelaxes) | Array of relative coordinates. | 97e41f4b71Sopenharmony_ci| [Hid_RelAxesArray::length](#length-45) | Array length. | 98e41f4b71Sopenharmony_ci| [Hid_MscEventArray::hidMscEvent](#hidmscevent) | Miscellaneous event. | 99e41f4b71Sopenharmony_ci| [Hid_MscEventArray::length](#length-55) | Array length. | 100e41f4b71Sopenharmony_ci| [Hid_EventProperties::hidEventTypes](#hideventtypes) | Array of event types. | 101e41f4b71Sopenharmony_ci| [Hid_EventProperties::hidKeys](#hidkeys) | Array of key codes. | 102e41f4b71Sopenharmony_ci| [Hid_EventProperties::hidAbs](#hidabs) | Array of absolute coordinate properties. | 103e41f4b71Sopenharmony_ci| [Hid_EventProperties::hidRelBits](#hidrelbits) | Array of relative coordinate properties. | 104e41f4b71Sopenharmony_ci| [Hid_EventProperties::hidMiscellaneous](#hidmiscellaneous) | Array of miscellaneous events. | 105e41f4b71Sopenharmony_ci| [Hid_EventProperties::hidAbsMax](#hidabsmax) [64] | Maximum values of the absolute coordinates. | 106e41f4b71Sopenharmony_ci| [Hid_EventProperties::hidAbsMin](#hidabsmin) [64] | Minimum values of the absolute coordinates. | 107e41f4b71Sopenharmony_ci| [Hid_EventProperties::hidAbsFuzz](#hidabsfuzz) [64] | Fuzzy values of the absolute coordinates. | 108e41f4b71Sopenharmony_ci| [Hid_EventProperties::hidAbsFlat](#hidabsflat) [64] | Fixed values of the absolute coordinates. | 109e41f4b71Sopenharmony_ci 110e41f4b71Sopenharmony_ci 111e41f4b71Sopenharmony_ci## Type Description 112e41f4b71Sopenharmony_ci 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ci### Hid_AbsAxesArray 115e41f4b71Sopenharmony_ci 116e41f4b71Sopenharmony_ci``` 117e41f4b71Sopenharmony_citypedef struct Hid_AbsAxesArrayHid_AbsAxesArray 118e41f4b71Sopenharmony_ci``` 119e41f4b71Sopenharmony_ci**Description** 120e41f4b71Sopenharmony_ciDefines a struct for an array of absolute coordinates. 121e41f4b71Sopenharmony_ci 122e41f4b71Sopenharmony_ci**Since**: 11 123e41f4b71Sopenharmony_ci 124e41f4b71Sopenharmony_ci 125e41f4b71Sopenharmony_ci### Hid_Device 126e41f4b71Sopenharmony_ci 127e41f4b71Sopenharmony_ci``` 128e41f4b71Sopenharmony_citypedef struct Hid_DeviceHid_Device 129e41f4b71Sopenharmony_ci``` 130e41f4b71Sopenharmony_ci**Description** 131e41f4b71Sopenharmony_ciDefines a struct for basic device information. 132e41f4b71Sopenharmony_ci 133e41f4b71Sopenharmony_ci**Since**: 11 134e41f4b71Sopenharmony_ci 135e41f4b71Sopenharmony_ci 136e41f4b71Sopenharmony_ci### Hid_EmitItem 137e41f4b71Sopenharmony_ci 138e41f4b71Sopenharmony_ci``` 139e41f4b71Sopenharmony_citypedef struct Hid_EmitItemHid_EmitItem 140e41f4b71Sopenharmony_ci``` 141e41f4b71Sopenharmony_ci**Description** 142e41f4b71Sopenharmony_ciDefines a struct for event information. 143e41f4b71Sopenharmony_ci 144e41f4b71Sopenharmony_ci**Since**: 11 145e41f4b71Sopenharmony_ci 146e41f4b71Sopenharmony_ci 147e41f4b71Sopenharmony_ci### Hid_EventProperties 148e41f4b71Sopenharmony_ci 149e41f4b71Sopenharmony_ci``` 150e41f4b71Sopenharmony_citypedef struct Hid_EventPropertiesHid_EventProperties 151e41f4b71Sopenharmony_ci``` 152e41f4b71Sopenharmony_ci**Description** 153e41f4b71Sopenharmony_ciDefines a struct for the event properties of a device. 154e41f4b71Sopenharmony_ci 155e41f4b71Sopenharmony_ci**Since**: 11 156e41f4b71Sopenharmony_ci 157e41f4b71Sopenharmony_ci 158e41f4b71Sopenharmony_ci### Hid_EventTypeArray 159e41f4b71Sopenharmony_ci 160e41f4b71Sopenharmony_ci``` 161e41f4b71Sopenharmony_citypedef struct Hid_EventTypeArrayHid_EventTypeArray 162e41f4b71Sopenharmony_ci``` 163e41f4b71Sopenharmony_ci**Description** 164e41f4b71Sopenharmony_ciDefines a struct for an array of event types. 165e41f4b71Sopenharmony_ci 166e41f4b71Sopenharmony_ci**Since**: 11 167e41f4b71Sopenharmony_ci 168e41f4b71Sopenharmony_ci 169e41f4b71Sopenharmony_ci### Hid_KeyCodeArray 170e41f4b71Sopenharmony_ci 171e41f4b71Sopenharmony_ci``` 172e41f4b71Sopenharmony_citypedef struct Hid_KeyCodeArrayHid_KeyCodeArray 173e41f4b71Sopenharmony_ci``` 174e41f4b71Sopenharmony_ci**Description** 175e41f4b71Sopenharmony_ciDefines a struct for an array of key codes. 176e41f4b71Sopenharmony_ci 177e41f4b71Sopenharmony_ci**Since**: 11 178e41f4b71Sopenharmony_ci 179e41f4b71Sopenharmony_ci 180e41f4b71Sopenharmony_ci### Hid_MscEventArray 181e41f4b71Sopenharmony_ci 182e41f4b71Sopenharmony_ci``` 183e41f4b71Sopenharmony_citypedef struct Hid_MscEventArrayHid_MscEventArray 184e41f4b71Sopenharmony_ci``` 185e41f4b71Sopenharmony_ci**Description** 186e41f4b71Sopenharmony_ciDefines a struct for an array of miscellaneous events. 187e41f4b71Sopenharmony_ci 188e41f4b71Sopenharmony_ci**Since**: 11 189e41f4b71Sopenharmony_ci 190e41f4b71Sopenharmony_ci 191e41f4b71Sopenharmony_ci### Hid_RelAxesArray 192e41f4b71Sopenharmony_ci 193e41f4b71Sopenharmony_ci``` 194e41f4b71Sopenharmony_citypedef struct Hid_RelAxesArrayHid_RelAxesArray 195e41f4b71Sopenharmony_ci``` 196e41f4b71Sopenharmony_ci**Description** 197e41f4b71Sopenharmony_ciDefines a struct for an array of relative coordinates. 198e41f4b71Sopenharmony_ci 199e41f4b71Sopenharmony_ci**Since**: 11 200e41f4b71Sopenharmony_ci 201e41f4b71Sopenharmony_ci 202e41f4b71Sopenharmony_ci## Enum Description 203e41f4b71Sopenharmony_ci 204e41f4b71Sopenharmony_ci 205e41f4b71Sopenharmony_ci### Hid_AbsAxes 206e41f4b71Sopenharmony_ci 207e41f4b71Sopenharmony_ci``` 208e41f4b71Sopenharmony_cienum Hid_AbsAxes 209e41f4b71Sopenharmony_ci``` 210e41f4b71Sopenharmony_ci**Description** 211e41f4b71Sopenharmony_ciEnumerates the absolute coordinates. 212e41f4b71Sopenharmony_ci 213e41f4b71Sopenharmony_ci**Since**: 11 214e41f4b71Sopenharmony_ci 215e41f4b71Sopenharmony_ci| Value| Description| 216e41f4b71Sopenharmony_ci| -------- | -------- | 217e41f4b71Sopenharmony_ci| HID_ABS_X | X axis.| 218e41f4b71Sopenharmony_ci| HID_ABS_Y | Y axis.| 219e41f4b71Sopenharmony_ci| HID_ABS_Z | Z axis.| 220e41f4b71Sopenharmony_ci| HID_ABS_RX | X axis of the right analog stick.| 221e41f4b71Sopenharmony_ci| HID_ABS_RY | Y axis of the right analog stick.| 222e41f4b71Sopenharmony_ci| HID_ABS_RZ | Z axis of the right analog stick.| 223e41f4b71Sopenharmony_ci| HID_ABS_THROTTLE | Throttle.| 224e41f4b71Sopenharmony_ci| HID_ABS_RUDDER | Rudder.| 225e41f4b71Sopenharmony_ci| HID_ABS_WHEEL | Scroll wheel.| 226e41f4b71Sopenharmony_ci| HID_ABS_GAS | Gas.| 227e41f4b71Sopenharmony_ci| HID_ABS_BRAKE | Brake.| 228e41f4b71Sopenharmony_ci| HID_ABS_HAT0X | HAT0X | 229e41f4b71Sopenharmony_ci| HID_ABS_HAT0Y | HAT0Y | 230e41f4b71Sopenharmony_ci| HID_ABS_HAT1X | HAT1X | 231e41f4b71Sopenharmony_ci| HID_ABS_HAT1Y | HAT1Y | 232e41f4b71Sopenharmony_ci| HID_ABS_HAT2X | HAT2X | 233e41f4b71Sopenharmony_ci| HID_ABS_HAT2Y | HAT2Y | 234e41f4b71Sopenharmony_ci| HID_ABS_HAT3X | HAT3X | 235e41f4b71Sopenharmony_ci| HID_ABS_HAT3Y | HAT3Y | 236e41f4b71Sopenharmony_ci| HID_ABS_PRESSURE | Pressure.| 237e41f4b71Sopenharmony_ci| HID_ABS_DISTANCE | Distance.| 238e41f4b71Sopenharmony_ci| HID_ABS_TILT_X | Tilt of X axis.| 239e41f4b71Sopenharmony_ci| HID_ABS_TILT_Y | Tilt of Y axis.| 240e41f4b71Sopenharmony_ci| HID_ABS_TOOL_WIDTH | Width of the touch tool.| 241e41f4b71Sopenharmony_ci| HID_ABS_VOLUME | Volume.| 242e41f4b71Sopenharmony_ci| HID_ABS_MISC | Others.| 243e41f4b71Sopenharmony_ci 244e41f4b71Sopenharmony_ci 245e41f4b71Sopenharmony_ci### Hid_DdkErrCode 246e41f4b71Sopenharmony_ci 247e41f4b71Sopenharmony_ci``` 248e41f4b71Sopenharmony_cienum Hid_DdkErrCode 249e41f4b71Sopenharmony_ci``` 250e41f4b71Sopenharmony_ci**Description** 251e41f4b71Sopenharmony_ciEnumerates the HID DDK error codes. 252e41f4b71Sopenharmony_ci 253e41f4b71Sopenharmony_ci**Since**: 11 254e41f4b71Sopenharmony_ci 255e41f4b71Sopenharmony_ci| Value| Description| 256e41f4b71Sopenharmony_ci| -------- | -------- | 257e41f4b71Sopenharmony_ci| HID_DDK_SUCCESS | Operation successful.| 258e41f4b71Sopenharmony_ci| HID_DDK_FAILURE | Operation failed.| 259e41f4b71Sopenharmony_ci| HID_DDK_INVALID_PARAMETER | Invalid parameter.| 260e41f4b71Sopenharmony_ci| HID_DDK_INVALID_OPERATION | Invalid operation.| 261e41f4b71Sopenharmony_ci| HID_DDK_NULL_PTR | Null pointer.| 262e41f4b71Sopenharmony_ci| HID_DDK_TIMEOUT | Timeout.| 263e41f4b71Sopenharmony_ci| HID_DDK_NO_PERM | Permission denied.| 264e41f4b71Sopenharmony_ci 265e41f4b71Sopenharmony_ci 266e41f4b71Sopenharmony_ci### Hid_DeviceProp 267e41f4b71Sopenharmony_ci 268e41f4b71Sopenharmony_ci``` 269e41f4b71Sopenharmony_cienum Hid_DeviceProp 270e41f4b71Sopenharmony_ci``` 271e41f4b71Sopenharmony_ci**Description** 272e41f4b71Sopenharmony_ciEnumerates the properties of input devices. 273e41f4b71Sopenharmony_ci 274e41f4b71Sopenharmony_ci**Since**: 11 275e41f4b71Sopenharmony_ci 276e41f4b71Sopenharmony_ci| Value| Description| 277e41f4b71Sopenharmony_ci| -------- | -------- | 278e41f4b71Sopenharmony_ci| HID_PROP_POINTER | Pointer device.| 279e41f4b71Sopenharmony_ci| HID_PROP_DIRECT | Direct input device.| 280e41f4b71Sopenharmony_ci| HID_PROP_BUTTON_PAD | Touch device with bottom keys.| 281e41f4b71Sopenharmony_ci| HID_PROP_SEMI_MT | Full multi-touch device.| 282e41f4b71Sopenharmony_ci| HID_PROP_TOP_BUTTON_PAD | Touch device with top soft keys.| 283e41f4b71Sopenharmony_ci| HID_PROP_POINTING_STICK | Pointing stick.| 284e41f4b71Sopenharmony_ci| HID_PROP_ACCELEROMETER | Accelerometer.| 285e41f4b71Sopenharmony_ci 286e41f4b71Sopenharmony_ci 287e41f4b71Sopenharmony_ci### Hid_EventType 288e41f4b71Sopenharmony_ci 289e41f4b71Sopenharmony_ci``` 290e41f4b71Sopenharmony_cienum Hid_EventType 291e41f4b71Sopenharmony_ci``` 292e41f4b71Sopenharmony_ci**Description** 293e41f4b71Sopenharmony_ciEnumerates the event types. 294e41f4b71Sopenharmony_ci 295e41f4b71Sopenharmony_ci**Since**: 11 296e41f4b71Sopenharmony_ci 297e41f4b71Sopenharmony_ci| Value| Description| 298e41f4b71Sopenharmony_ci| -------- | -------- | 299e41f4b71Sopenharmony_ci| HID_EV_SYN | Sync event.| 300e41f4b71Sopenharmony_ci| HID_EV_KEY | Key event.| 301e41f4b71Sopenharmony_ci| HID_EV_REL | Relative coordinate event.| 302e41f4b71Sopenharmony_ci| HID_EV_ABS | Absolute coordinate event.| 303e41f4b71Sopenharmony_ci| HID_EV_MSC | Miscellaneous event.| 304e41f4b71Sopenharmony_ci 305e41f4b71Sopenharmony_ci 306e41f4b71Sopenharmony_ci### Hid_KeyCode 307e41f4b71Sopenharmony_ci 308e41f4b71Sopenharmony_ci``` 309e41f4b71Sopenharmony_cienum Hid_KeyCode 310e41f4b71Sopenharmony_ci``` 311e41f4b71Sopenharmony_ci**Description** 312e41f4b71Sopenharmony_ciEnumerates the key codes. 313e41f4b71Sopenharmony_ci 314e41f4b71Sopenharmony_ci**Since**: 11 315e41f4b71Sopenharmony_ci 316e41f4b71Sopenharmony_ci| Value| Description| 317e41f4b71Sopenharmony_ci| -------- | -------- | 318e41f4b71Sopenharmony_ci| HID_KEY_A | Key A.| 319e41f4b71Sopenharmony_ci| HID_KEY_B | Key B.| 320e41f4b71Sopenharmony_ci| HID_KEY_C | Key C.| 321e41f4b71Sopenharmony_ci| HID_KEY_D | Key D.| 322e41f4b71Sopenharmony_ci| HID_KEY_E | Key E.| 323e41f4b71Sopenharmony_ci| HID_KEY_F | Key F.| 324e41f4b71Sopenharmony_ci| HID_KEY_G | Key G.| 325e41f4b71Sopenharmony_ci| HID_KEY_H | Key H.| 326e41f4b71Sopenharmony_ci| HID_KEY_I | Key I.| 327e41f4b71Sopenharmony_ci| HID_KEY_J | Key J.| 328e41f4b71Sopenharmony_ci| HID_KEY_K | Key K.| 329e41f4b71Sopenharmony_ci| HID_KEY_L | Key L.| 330e41f4b71Sopenharmony_ci| HID_KEY_M | Key M.| 331e41f4b71Sopenharmony_ci| HID_KEY_N | Key N.| 332e41f4b71Sopenharmony_ci| HID_KEY_O | Key O.| 333e41f4b71Sopenharmony_ci| HID_KEY_P | Key P.| 334e41f4b71Sopenharmony_ci| HID_KEY_Q | Key Q.| 335e41f4b71Sopenharmony_ci| HID_KEY_R | Key R.| 336e41f4b71Sopenharmony_ci| HID_KEY_S | Key S.| 337e41f4b71Sopenharmony_ci| HID_KEY_T | Key T.| 338e41f4b71Sopenharmony_ci| HID_KEY_U | Key U.| 339e41f4b71Sopenharmony_ci| HID_KEY_V | Key V.| 340e41f4b71Sopenharmony_ci| HID_KEY_W | Key W.| 341e41f4b71Sopenharmony_ci| HID_KEY_X | Key X.| 342e41f4b71Sopenharmony_ci| HID_KEY_Y | Key Y.| 343e41f4b71Sopenharmony_ci| HID_KEY_Z | Key Z.| 344e41f4b71Sopenharmony_ci| HID_KEY_ESC | Key Esc.| 345e41f4b71Sopenharmony_ci| HID_KEY_0 | Key 0.| 346e41f4b71Sopenharmony_ci| HID_KEY_1 | Key 1.| 347e41f4b71Sopenharmony_ci| HID_KEY_2 | Key 2.| 348e41f4b71Sopenharmony_ci| HID_KEY_3 | Key 3.| 349e41f4b71Sopenharmony_ci| HID_KEY_4 | Key 4.| 350e41f4b71Sopenharmony_ci| HID_KEY_5 | Key 5.| 351e41f4b71Sopenharmony_ci| HID_KEY_6 | Key 6.| 352e41f4b71Sopenharmony_ci| HID_KEY_7 | Key 7.| 353e41f4b71Sopenharmony_ci| HID_KEY_8 | Key 8.| 354e41f4b71Sopenharmony_ci| HID_KEY_9 | Key 9.| 355e41f4b71Sopenharmony_ci| HID_KEY_GRAVE | Key grave (`).| 356e41f4b71Sopenharmony_ci| HID_KEY_MINUS | Key minus (-).| 357e41f4b71Sopenharmony_ci| HID_KEY_EQUALS | Key equals (=).| 358e41f4b71Sopenharmony_ci| HID_KEY_BACKSPACE | key Backspace.| 359e41f4b71Sopenharmony_ci| HID_KEY_LEFT_BRACKET | Key left bracket ([).| 360e41f4b71Sopenharmony_ci| HID_KEY_RIGHT_BRACKET | Key right bracket (]).| 361e41f4b71Sopenharmony_ci| HID_KEY_ENTER | Key Enter.| 362e41f4b71Sopenharmony_ci| HID_KEY_LEFT_SHIFT | Left Shift.| 363e41f4b71Sopenharmony_ci| HID_KEY_BACKSLASH | Key backslash (\).| 364e41f4b71Sopenharmony_ci| HID_KEY_SEMICOLON | Key semicolon (;).| 365e41f4b71Sopenharmony_ci| HID_KEY_APOSTROPHE | Key apostrophe (').| 366e41f4b71Sopenharmony_ci| HID_KEY_SPACE | Key Space.| 367e41f4b71Sopenharmony_ci| HID_KEY_SLASH | Key slash (/).| 368e41f4b71Sopenharmony_ci| HID_KEY_COMMA | Key comma (,).| 369e41f4b71Sopenharmony_ci| HID_KEY_PERIOD | Key period (.).| 370e41f4b71Sopenharmony_ci| HID_KEY_RIGHT_SHIFT | Right Shift.| 371e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_0 | Numeral 0 on the numeric keypad.| 372e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_1 | Numeral 1 on the numeric keypad.| 373e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_2 | Numeral 2 on the numeric keypad.| 374e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_3 | Numeral 3 on the numeric keypad.| 375e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_4 | Numeral 4 on the numeric keypad.| 376e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_5 | Numeral 5 on the numeric keypad.| 377e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_6 | Numeral 6 on the numeric keypad.| 378e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_7 | Numeral 7 on the numeric keypad.| 379e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_8 | Numeral 8 on the numeric keypad.| 380e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_9 | Numeral 9 on the numeric keypad.| 381e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_DIVIDE | Arithmetic operator / (division) on the numeric keypad.| 382e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_MULTIPLY | Arithmetic operator * (multiplication) on the numeric keypad.| 383e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_SUBTRACT | Arithmetic operator - (subtraction) on the numeric keypad.| 384e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_ADD | Arithmetic operator + (addition) on the numeric keypad.| 385e41f4b71Sopenharmony_ci| HID_KEY_NUMPAD_DOT | Decimal point (.) on the numeric keypad. | 386e41f4b71Sopenharmony_ci| HID_KEY_SYSRQ | Key **Print Screen**.| 387e41f4b71Sopenharmony_ci| HID_KEY_MUTE | Mute key.| 388e41f4b71Sopenharmony_ci| HID_KEY_VOLUME_DOWN | Key for decreasing volume.| 389e41f4b71Sopenharmony_ci| HID_KEY_VOLUME_UP | Key for increasing volume.| 390e41f4b71Sopenharmony_ci| HID_KEY_BRIGHTNESS_DOWN | Key for making the screen dimmer.| 391e41f4b71Sopenharmony_ci| HID_KEY_BRIGHTNESS_UP | Key for making the screen brighter.| 392e41f4b71Sopenharmony_ci| HID_BTN_0 | Button 0.| 393e41f4b71Sopenharmony_ci| HID_BTN_1 | Button 1| 394e41f4b71Sopenharmony_ci| HID_BTN_2 | Button 2.| 395e41f4b71Sopenharmony_ci| HID_BTN_3 | Button 3.| 396e41f4b71Sopenharmony_ci| HID_BTN_4 | Button 4.| 397e41f4b71Sopenharmony_ci| HID_BTN_5 | Button 5.| 398e41f4b71Sopenharmony_ci| HID_BTN_6 | Button 6.| 399e41f4b71Sopenharmony_ci| HID_BTN_7 | Button 7.| 400e41f4b71Sopenharmony_ci| HID_BTN_8 | Button 8.| 401e41f4b71Sopenharmony_ci| HID_BTN_9 | Button 9.| 402e41f4b71Sopenharmony_ci| HID_BTN_LEFT | Left mouse button.| 403e41f4b71Sopenharmony_ci| HID_BTN_RIGHT | Right mouse button.| 404e41f4b71Sopenharmony_ci| HID_BTN_MIDDLE | Middle mouse button.| 405e41f4b71Sopenharmony_ci| HID_BTN_SIDE | Side mouse button.| 406e41f4b71Sopenharmony_ci| HID_BTN_EXTRA | Extra mouse button.| 407e41f4b71Sopenharmony_ci| HID_BTN_FORWARD | Mouse forward button.| 408e41f4b71Sopenharmony_ci| HID_BTN_BACKWARD | Mouse backward button.| 409e41f4b71Sopenharmony_ci| HID_BTN_TASK | Mouse task button.| 410e41f4b71Sopenharmony_ci| HID_BTN_TOOL_PEN | Pen.| 411e41f4b71Sopenharmony_ci| HID_BTN_TOOL_RUBBER | Eraser.| 412e41f4b71Sopenharmony_ci| HID_BTN_TOOL_BRUSH | Brush.| 413e41f4b71Sopenharmony_ci| HID_BTN_TOOL_PENCIL | Pencil.| 414e41f4b71Sopenharmony_ci| HID_BTN_TOOL_AIRBRUSH | Air brush.| 415e41f4b71Sopenharmony_ci| HID_BTN_TOOL_FINGER | Finger.| 416e41f4b71Sopenharmony_ci| HID_BTN_TOOL_MOUSE | Mouse.| 417e41f4b71Sopenharmony_ci| HID_BTN_TOOL_LENS | Lens.| 418e41f4b71Sopenharmony_ci| HID_BTN_TOOL_QUINT_TAP | Five-finger touch.| 419e41f4b71Sopenharmony_ci| HID_BTN_STYLUS3 | Stylus 3.| 420e41f4b71Sopenharmony_ci| HID_BTN_TOUCH | Touch.| 421e41f4b71Sopenharmony_ci| HID_BTN_STYLUS | Stylus.| 422e41f4b71Sopenharmony_ci| HID_BTN_STYLUS2 | Stylus 2.| 423e41f4b71Sopenharmony_ci| HID_BTN_TOOL_DOUBLE_TAP | Two-finger touch.| 424e41f4b71Sopenharmony_ci| HID_BTN_TOOL_TRIPLE_TAP | Three-finger touch.| 425e41f4b71Sopenharmony_ci| HID_BTN_TOOL_QUAD_TAP | Four-finger touch.| 426e41f4b71Sopenharmony_ci| HID_BTN_WHEEL | Scroll wheel.| 427e41f4b71Sopenharmony_ci 428e41f4b71Sopenharmony_ci 429e41f4b71Sopenharmony_ci### Hid_MscEvent 430e41f4b71Sopenharmony_ci 431e41f4b71Sopenharmony_ci``` 432e41f4b71Sopenharmony_cienum Hid_MscEvent 433e41f4b71Sopenharmony_ci``` 434e41f4b71Sopenharmony_ci**Description** 435e41f4b71Sopenharmony_ciEnumerates miscellaneous input events. 436e41f4b71Sopenharmony_ci 437e41f4b71Sopenharmony_ci**Since**: 11 438e41f4b71Sopenharmony_ci 439e41f4b71Sopenharmony_ci| Value| Description| 440e41f4b71Sopenharmony_ci| -------- | -------- | 441e41f4b71Sopenharmony_ci| HID_MSC_SERIAL | Serial number.| 442e41f4b71Sopenharmony_ci| HID_MSC_PULSE_LED | Pulse.| 443e41f4b71Sopenharmony_ci| HID_MSC_GESTURE | Gesture.| 444e41f4b71Sopenharmony_ci| HID_MSC_RAW | Start event.| 445e41f4b71Sopenharmony_ci| HID_MSC_SCAN | Scan.| 446e41f4b71Sopenharmony_ci| HID_MSC_TIMESTAMP | Timestamp.| 447e41f4b71Sopenharmony_ci 448e41f4b71Sopenharmony_ci 449e41f4b71Sopenharmony_ci### Hid_RelAxes 450e41f4b71Sopenharmony_ci 451e41f4b71Sopenharmony_ci``` 452e41f4b71Sopenharmony_cienum Hid_RelAxes 453e41f4b71Sopenharmony_ci``` 454e41f4b71Sopenharmony_ci**Description** 455e41f4b71Sopenharmony_ciEnumerates the relative coordinates. 456e41f4b71Sopenharmony_ci 457e41f4b71Sopenharmony_ci**Since**: 11 458e41f4b71Sopenharmony_ci 459e41f4b71Sopenharmony_ci| Value| Description| 460e41f4b71Sopenharmony_ci| -------- | -------- | 461e41f4b71Sopenharmony_ci| HID_REL_X | X axis.| 462e41f4b71Sopenharmony_ci| HID_REL_Y | Y axis.| 463e41f4b71Sopenharmony_ci| HID_REL_Z | Z axis.| 464e41f4b71Sopenharmony_ci| HID_REL_RX | X axis of the right analog stick.| 465e41f4b71Sopenharmony_ci| HID_REL_RY | Y axis of the right analog stick.| 466e41f4b71Sopenharmony_ci| HID_REL_RZ | Z axis of the right analog stick.| 467e41f4b71Sopenharmony_ci| HID_REL_HWHEEL | Horizontal scroll wheel.| 468e41f4b71Sopenharmony_ci| HID_REL_DIAL | Scale.| 469e41f4b71Sopenharmony_ci| HID_REL_WHEEL | Scroll wheel.| 470e41f4b71Sopenharmony_ci| HID_REL_MISC | Others.| 471e41f4b71Sopenharmony_ci| HID_REL_RESERVED | Reserved.| 472e41f4b71Sopenharmony_ci| HID_REL_WHEEL_HI_RES | High-resolution scroll wheel.| 473e41f4b71Sopenharmony_ci| HID_REL_HWHEEL_HI_RES | High-resolution horizontal scroll wheel.| 474e41f4b71Sopenharmony_ci 475e41f4b71Sopenharmony_ci 476e41f4b71Sopenharmony_ci### Hid_SynEvent 477e41f4b71Sopenharmony_ci 478e41f4b71Sopenharmony_ci``` 479e41f4b71Sopenharmony_cienum Hid_SynEvent 480e41f4b71Sopenharmony_ci``` 481e41f4b71Sopenharmony_ci**Description** 482e41f4b71Sopenharmony_ciEnumerates sync events. 483e41f4b71Sopenharmony_ci 484e41f4b71Sopenharmony_ci**Since**: 11 485e41f4b71Sopenharmony_ci 486e41f4b71Sopenharmony_ci| Value| Description| 487e41f4b71Sopenharmony_ci| -------- | -------- | 488e41f4b71Sopenharmony_ci| HID_SYN_REPORT | Indicates the end of an event.| 489e41f4b71Sopenharmony_ci| HID_SYN_CONFIG | Indicates configuration synchronization.| 490e41f4b71Sopenharmony_ci| HID_SYN_MT_REPORT | Indicates the end of a multi-touch ABS data packet.| 491e41f4b71Sopenharmony_ci| HID_SYN_DROPPED | Indicates that the event is discarded.| 492e41f4b71Sopenharmony_ci 493e41f4b71Sopenharmony_ci 494e41f4b71Sopenharmony_ci## Function Description 495e41f4b71Sopenharmony_ci 496e41f4b71Sopenharmony_ci 497e41f4b71Sopenharmony_ci### OH_Hid_CreateDevice() 498e41f4b71Sopenharmony_ci 499e41f4b71Sopenharmony_ci``` 500e41f4b71Sopenharmony_ciint32_t OH_Hid_CreateDevice (Hid_Device * hidDevice, Hid_EventProperties * hidEventProperties ) 501e41f4b71Sopenharmony_ci``` 502e41f4b71Sopenharmony_ci**Description** 503e41f4b71Sopenharmony_ciCreates a device. 504e41f4b71Sopenharmony_ci 505e41f4b71Sopenharmony_ci**Since**: 11 506e41f4b71Sopenharmony_ci 507e41f4b71Sopenharmony_ci**Parameters** 508e41f4b71Sopenharmony_ci 509e41f4b71Sopenharmony_ci| Name| Description| 510e41f4b71Sopenharmony_ci| -------- | -------- | 511e41f4b71Sopenharmony_ci| hidDevice | Pointer to the basic information about the device to create, including the device name, vendor ID, and product ID. | 512e41f4b71Sopenharmony_ci| hidEventProperties | Pointer to the event properties related to the device to create, including the event type, key event properties, absolute coordinate event properties, and relative coordinate event properties. | 513e41f4b71Sopenharmony_ci 514e41f4b71Sopenharmony_ci**Required Permissions** 515e41f4b71Sopenharmony_ci 516e41f4b71Sopenharmony_ciohos.permission.ACCESS_DDK_HID 517e41f4b71Sopenharmony_ci 518e41f4b71Sopenharmony_ci**Returns** 519e41f4b71Sopenharmony_ci 520e41f4b71Sopenharmony_ciReturns the device ID (a non-negative number) if the operation is successful; returns a negative number otherwise. 521e41f4b71Sopenharmony_ci 522e41f4b71Sopenharmony_ci 523e41f4b71Sopenharmony_ci### OH_Hid_DestroyDevice() 524e41f4b71Sopenharmony_ci 525e41f4b71Sopenharmony_ci``` 526e41f4b71Sopenharmony_ciint32_t OH_Hid_DestroyDevice (int32_t deviceId) 527e41f4b71Sopenharmony_ci``` 528e41f4b71Sopenharmony_ci**Description** 529e41f4b71Sopenharmony_ciDestroys a device. 530e41f4b71Sopenharmony_ci 531e41f4b71Sopenharmony_ci**Since**: 11 532e41f4b71Sopenharmony_ci 533e41f4b71Sopenharmony_ci**Parameters** 534e41f4b71Sopenharmony_ci 535e41f4b71Sopenharmony_ci| Name| Description| 536e41f4b71Sopenharmony_ci| -------- | -------- | 537e41f4b71Sopenharmony_ci| deviceId | ID of the device to destroy. | 538e41f4b71Sopenharmony_ci 539e41f4b71Sopenharmony_ci**Required Permissions** 540e41f4b71Sopenharmony_ci 541e41f4b71Sopenharmony_ciohos.permission.ACCESS_DDK_HID 542e41f4b71Sopenharmony_ci 543e41f4b71Sopenharmony_ci**Returns** 544e41f4b71Sopenharmony_ci 545e41f4b71Sopenharmony_ciReturns **0** if the operation is successful; returns a negative value otherwise. 546e41f4b71Sopenharmony_ci 547e41f4b71Sopenharmony_ci 548e41f4b71Sopenharmony_ci### OH_Hid_EmitEvent() 549e41f4b71Sopenharmony_ci 550e41f4b71Sopenharmony_ci``` 551e41f4b71Sopenharmony_ciint32_t OH_Hid_EmitEvent (int32_t deviceId, const Hid_EmitItem items[], uint16_t length ) 552e41f4b71Sopenharmony_ci``` 553e41f4b71Sopenharmony_ci**Description** 554e41f4b71Sopenharmony_ciSends an event list to a device. 555e41f4b71Sopenharmony_ci 556e41f4b71Sopenharmony_ci**Since**: 11 557e41f4b71Sopenharmony_ci 558e41f4b71Sopenharmony_ci**Parameters** 559e41f4b71Sopenharmony_ci 560e41f4b71Sopenharmony_ci| Name| Description| 561e41f4b71Sopenharmony_ci| -------- | -------- | 562e41f4b71Sopenharmony_ci| deviceId | ID of the target device. | 563e41f4b71Sopenharmony_ci| items | List of the events to send. The event information includes the event type (**Hid_EventType**), code (**Hid_SynEvent**, **Hid_KeyCode**, **HidBtnCode**, **Hid_AbsAxes**, **Hid_RelAxes**, or **Hid_MscEvent**), and value (depending on the actual device input). | 564e41f4b71Sopenharmony_ci| length | Length of the event list (number of events to be sent at a time). | 565e41f4b71Sopenharmony_ci 566e41f4b71Sopenharmony_ci**Required Permissions** 567e41f4b71Sopenharmony_ci 568e41f4b71Sopenharmony_ciohos.permission.ACCESS_DDK_HID 569e41f4b71Sopenharmony_ci 570e41f4b71Sopenharmony_ci**Returns** 571e41f4b71Sopenharmony_ci 572e41f4b71Sopenharmony_ciReturns **0** if the operation is successful; returns a negative value otherwise. 573e41f4b71Sopenharmony_ci 574e41f4b71Sopenharmony_ci 575e41f4b71Sopenharmony_ci## Variable Description 576e41f4b71Sopenharmony_ci 577e41f4b71Sopenharmony_ci 578e41f4b71Sopenharmony_ci### bustype 579e41f4b71Sopenharmony_ci 580e41f4b71Sopenharmony_ci``` 581e41f4b71Sopenharmony_ciuint16_t Hid_Device::bustype 582e41f4b71Sopenharmony_ci``` 583e41f4b71Sopenharmony_ci**Description** 584e41f4b71Sopenharmony_ciBus type. 585e41f4b71Sopenharmony_ci 586e41f4b71Sopenharmony_ci 587e41f4b71Sopenharmony_ci### code 588e41f4b71Sopenharmony_ci 589e41f4b71Sopenharmony_ci``` 590e41f4b71Sopenharmony_ciuint16_t Hid_EmitItem::code 591e41f4b71Sopenharmony_ci``` 592e41f4b71Sopenharmony_ci**Description** 593e41f4b71Sopenharmony_ciEvent code. 594e41f4b71Sopenharmony_ci 595e41f4b71Sopenharmony_ci 596e41f4b71Sopenharmony_ci### deviceName 597e41f4b71Sopenharmony_ci 598e41f4b71Sopenharmony_ci``` 599e41f4b71Sopenharmony_ciconst char* Hid_Device::deviceName 600e41f4b71Sopenharmony_ci``` 601e41f4b71Sopenharmony_ci**Description** 602e41f4b71Sopenharmony_ciDevice name. 603e41f4b71Sopenharmony_ci 604e41f4b71Sopenharmony_ci 605e41f4b71Sopenharmony_ci### hidAbs 606e41f4b71Sopenharmony_ci 607e41f4b71Sopenharmony_ci``` 608e41f4b71Sopenharmony_cistruct Hid_AbsAxesArray Hid_EventProperties::hidAbs 609e41f4b71Sopenharmony_ci``` 610e41f4b71Sopenharmony_ci**Description** 611e41f4b71Sopenharmony_ciArray of absolute coordinates. 612e41f4b71Sopenharmony_ci 613e41f4b71Sopenharmony_ci 614e41f4b71Sopenharmony_ci### hidAbsAxes 615e41f4b71Sopenharmony_ci 616e41f4b71Sopenharmony_ci``` 617e41f4b71Sopenharmony_ciHid_AbsAxes* Hid_AbsAxesArray::hidAbsAxes 618e41f4b71Sopenharmony_ci``` 619e41f4b71Sopenharmony_ci**Description** 620e41f4b71Sopenharmony_ciAbsolute coordinates. 621e41f4b71Sopenharmony_ci 622e41f4b71Sopenharmony_ci 623e41f4b71Sopenharmony_ci### hidAbsFlat 624e41f4b71Sopenharmony_ci 625e41f4b71Sopenharmony_ci``` 626e41f4b71Sopenharmony_ciint32_t Hid_EventProperties::hidAbsFlat[64] 627e41f4b71Sopenharmony_ci``` 628e41f4b71Sopenharmony_ci**Description** 629e41f4b71Sopenharmony_ciFixed values of the absolute coordinates. 630e41f4b71Sopenharmony_ci 631e41f4b71Sopenharmony_ci 632e41f4b71Sopenharmony_ci### hidAbsFuzz 633e41f4b71Sopenharmony_ci 634e41f4b71Sopenharmony_ci``` 635e41f4b71Sopenharmony_ciint32_t Hid_EventProperties::hidAbsFuzz[64] 636e41f4b71Sopenharmony_ci``` 637e41f4b71Sopenharmony_ci**Description** 638e41f4b71Sopenharmony_ciFuzzy values of the absolute coordinates. 639e41f4b71Sopenharmony_ci 640e41f4b71Sopenharmony_ci 641e41f4b71Sopenharmony_ci### hidAbsMax 642e41f4b71Sopenharmony_ci 643e41f4b71Sopenharmony_ci``` 644e41f4b71Sopenharmony_ciint32_t Hid_EventProperties::hidAbsMax[64] 645e41f4b71Sopenharmony_ci``` 646e41f4b71Sopenharmony_ci**Description** 647e41f4b71Sopenharmony_ciMaximum values of the absolute coordinates. 648e41f4b71Sopenharmony_ci 649e41f4b71Sopenharmony_ci 650e41f4b71Sopenharmony_ci### hidAbsMin 651e41f4b71Sopenharmony_ci 652e41f4b71Sopenharmony_ci``` 653e41f4b71Sopenharmony_ciint32_t Hid_EventProperties::hidAbsMin[64] 654e41f4b71Sopenharmony_ci``` 655e41f4b71Sopenharmony_ci**Description** 656e41f4b71Sopenharmony_ciMinimum values of the absolute coordinates. 657e41f4b71Sopenharmony_ci 658e41f4b71Sopenharmony_ci 659e41f4b71Sopenharmony_ci### hidEventType 660e41f4b71Sopenharmony_ci 661e41f4b71Sopenharmony_ci``` 662e41f4b71Sopenharmony_ciHid_EventType* Hid_EventTypeArray::hidEventType 663e41f4b71Sopenharmony_ci``` 664e41f4b71Sopenharmony_ci**Description** 665e41f4b71Sopenharmony_ciEvent type. 666e41f4b71Sopenharmony_ci 667e41f4b71Sopenharmony_ci 668e41f4b71Sopenharmony_ci### hidEventTypes 669e41f4b71Sopenharmony_ci 670e41f4b71Sopenharmony_ci``` 671e41f4b71Sopenharmony_cistruct Hid_EventTypeArray Hid_EventProperties::hidEventTypes 672e41f4b71Sopenharmony_ci``` 673e41f4b71Sopenharmony_ci**Description** 674e41f4b71Sopenharmony_ciArray of event types. 675e41f4b71Sopenharmony_ci 676e41f4b71Sopenharmony_ci 677e41f4b71Sopenharmony_ci### hidKeyCode 678e41f4b71Sopenharmony_ci 679e41f4b71Sopenharmony_ci``` 680e41f4b71Sopenharmony_ciHid_KeyCode* Hid_KeyCodeArray::hidKeyCode 681e41f4b71Sopenharmony_ci``` 682e41f4b71Sopenharmony_ci**Description** 683e41f4b71Sopenharmony_ciKey code. 684e41f4b71Sopenharmony_ci 685e41f4b71Sopenharmony_ci 686e41f4b71Sopenharmony_ci### hidKeys 687e41f4b71Sopenharmony_ci 688e41f4b71Sopenharmony_ci``` 689e41f4b71Sopenharmony_cistruct Hid_KeyCodeArray Hid_EventProperties::hidKeys 690e41f4b71Sopenharmony_ci``` 691e41f4b71Sopenharmony_ci**Description** 692e41f4b71Sopenharmony_ciArray of key codes. 693e41f4b71Sopenharmony_ci 694e41f4b71Sopenharmony_ci 695e41f4b71Sopenharmony_ci### hidMiscellaneous 696e41f4b71Sopenharmony_ci 697e41f4b71Sopenharmony_ci``` 698e41f4b71Sopenharmony_cistruct Hid_MscEventArray Hid_EventProperties::hidMiscellaneous 699e41f4b71Sopenharmony_ci``` 700e41f4b71Sopenharmony_ci**Description** 701e41f4b71Sopenharmony_ciArray of miscellaneous events. 702e41f4b71Sopenharmony_ci 703e41f4b71Sopenharmony_ci 704e41f4b71Sopenharmony_ci### hidMscEvent 705e41f4b71Sopenharmony_ci 706e41f4b71Sopenharmony_ci``` 707e41f4b71Sopenharmony_ciHid_MscEvent* Hid_MscEventArray::hidMscEvent 708e41f4b71Sopenharmony_ci``` 709e41f4b71Sopenharmony_ci**Description** 710e41f4b71Sopenharmony_ciMiscellaneous event. 711e41f4b71Sopenharmony_ci 712e41f4b71Sopenharmony_ci 713e41f4b71Sopenharmony_ci### hidRelAxes 714e41f4b71Sopenharmony_ci 715e41f4b71Sopenharmony_ci``` 716e41f4b71Sopenharmony_ciHid_RelAxes* Hid_RelAxesArray::hidRelAxes 717e41f4b71Sopenharmony_ci``` 718e41f4b71Sopenharmony_ci**Description** 719e41f4b71Sopenharmony_ciRelative coordinates. 720e41f4b71Sopenharmony_ci 721e41f4b71Sopenharmony_ci 722e41f4b71Sopenharmony_ci### hidRelBits 723e41f4b71Sopenharmony_ci 724e41f4b71Sopenharmony_ci``` 725e41f4b71Sopenharmony_cistruct Hid_RelAxesArray Hid_EventProperties::hidRelBits 726e41f4b71Sopenharmony_ci``` 727e41f4b71Sopenharmony_ci**Description** 728e41f4b71Sopenharmony_ciArray of relative coordinates. 729e41f4b71Sopenharmony_ci 730e41f4b71Sopenharmony_ci 731e41f4b71Sopenharmony_ci### length [1/5] 732e41f4b71Sopenharmony_ci 733e41f4b71Sopenharmony_ci``` 734e41f4b71Sopenharmony_ciuint16_t Hid_EventTypeArray::length 735e41f4b71Sopenharmony_ci``` 736e41f4b71Sopenharmony_ci**Description** 737e41f4b71Sopenharmony_ciLength of the event type array. 738e41f4b71Sopenharmony_ci 739e41f4b71Sopenharmony_ci 740e41f4b71Sopenharmony_ci### length [2/5] 741e41f4b71Sopenharmony_ci 742e41f4b71Sopenharmony_ci``` 743e41f4b71Sopenharmony_ciuint16_t Hid_KeyCodeArray::length 744e41f4b71Sopenharmony_ci``` 745e41f4b71Sopenharmony_ci**Description** 746e41f4b71Sopenharmony_ciLength of the key code array. 747e41f4b71Sopenharmony_ci 748e41f4b71Sopenharmony_ci 749e41f4b71Sopenharmony_ci### length [3/5] 750e41f4b71Sopenharmony_ci 751e41f4b71Sopenharmony_ci``` 752e41f4b71Sopenharmony_ciuint16_t Hid_AbsAxesArray::length 753e41f4b71Sopenharmony_ci``` 754e41f4b71Sopenharmony_ci**Description** 755e41f4b71Sopenharmony_ciLength of the absolute coordinate array. 756e41f4b71Sopenharmony_ci 757e41f4b71Sopenharmony_ci 758e41f4b71Sopenharmony_ci### length [4/5] 759e41f4b71Sopenharmony_ci 760e41f4b71Sopenharmony_ci``` 761e41f4b71Sopenharmony_ciuint16_t Hid_RelAxesArray::length 762e41f4b71Sopenharmony_ci``` 763e41f4b71Sopenharmony_ci**Description** 764e41f4b71Sopenharmony_ciLength of the relative coordinate array. 765e41f4b71Sopenharmony_ci 766e41f4b71Sopenharmony_ci 767e41f4b71Sopenharmony_ci### length [5/5] 768e41f4b71Sopenharmony_ci 769e41f4b71Sopenharmony_ci``` 770e41f4b71Sopenharmony_ciuint16_t Hid_MscEventArray::length 771e41f4b71Sopenharmony_ci``` 772e41f4b71Sopenharmony_ci**Description** 773e41f4b71Sopenharmony_ciLength of the miscellaneous event array. 774e41f4b71Sopenharmony_ci 775e41f4b71Sopenharmony_ci 776e41f4b71Sopenharmony_ci### productId 777e41f4b71Sopenharmony_ci 778e41f4b71Sopenharmony_ci``` 779e41f4b71Sopenharmony_ciuint16_t Hid_Device::productId 780e41f4b71Sopenharmony_ci``` 781e41f4b71Sopenharmony_ci**Description** 782e41f4b71Sopenharmony_ciProduct ID. 783e41f4b71Sopenharmony_ci 784e41f4b71Sopenharmony_ci 785e41f4b71Sopenharmony_ci### properties 786e41f4b71Sopenharmony_ci 787e41f4b71Sopenharmony_ci``` 788e41f4b71Sopenharmony_ciHid_DeviceProp* Hid_Device::properties 789e41f4b71Sopenharmony_ci``` 790e41f4b71Sopenharmony_ci**Description** 791e41f4b71Sopenharmony_ciDevice properties. 792e41f4b71Sopenharmony_ci 793e41f4b71Sopenharmony_ci 794e41f4b71Sopenharmony_ci### propLength 795e41f4b71Sopenharmony_ci 796e41f4b71Sopenharmony_ci``` 797e41f4b71Sopenharmony_ciuint16_t Hid_Device::propLength 798e41f4b71Sopenharmony_ci``` 799e41f4b71Sopenharmony_ci**Description** 800e41f4b71Sopenharmony_ciNumber of device properties. 801e41f4b71Sopenharmony_ci 802e41f4b71Sopenharmony_ci 803e41f4b71Sopenharmony_ci### type 804e41f4b71Sopenharmony_ci 805e41f4b71Sopenharmony_ci``` 806e41f4b71Sopenharmony_ciuint16_t Hid_EmitItem::type 807e41f4b71Sopenharmony_ci``` 808e41f4b71Sopenharmony_ci**Description** 809e41f4b71Sopenharmony_ciEvent type. 810e41f4b71Sopenharmony_ci 811e41f4b71Sopenharmony_ci 812e41f4b71Sopenharmony_ci### value 813e41f4b71Sopenharmony_ci 814e41f4b71Sopenharmony_ci``` 815e41f4b71Sopenharmony_ciuint32_t Hid_EmitItem::value 816e41f4b71Sopenharmony_ci``` 817e41f4b71Sopenharmony_ci**Description** 818e41f4b71Sopenharmony_ciEvent value. 819e41f4b71Sopenharmony_ci 820e41f4b71Sopenharmony_ci 821e41f4b71Sopenharmony_ci### vendorId 822e41f4b71Sopenharmony_ci 823e41f4b71Sopenharmony_ci``` 824e41f4b71Sopenharmony_ciuint16_t Hid_Device::vendorId 825e41f4b71Sopenharmony_ci``` 826e41f4b71Sopenharmony_ci**Description** 827e41f4b71Sopenharmony_ciVendor ID. 828e41f4b71Sopenharmony_ci 829e41f4b71Sopenharmony_ci 830e41f4b71Sopenharmony_ci### version 831e41f4b71Sopenharmony_ci 832e41f4b71Sopenharmony_ci``` 833e41f4b71Sopenharmony_ciuint16_t Hid_Device::version 834e41f4b71Sopenharmony_ci``` 835e41f4b71Sopenharmony_ci**Description** 836e41f4b71Sopenharmony_ciVersion number. 837