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: &lt;hid/hid_ddk_api.h&gt;<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: &lt;hid/hid_ddk_types.h&gt;<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