• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# HidDdk
2
3
4## 概述
5
6提供HID DDK接口,包括创建设备、发送事件、销毁设备。
7
8**系统能力:** SystemCapability.Driver.HID.Extension
9
10**起始版本:** 11
11
12
13## 汇总
14
15
16### 文件
17
18| 名称 | 描述 |
19| -------- | -------- |
20| [hid_ddk_api.h](hid__ddk__api_8h.md) | 声明主机侧访问输入设备的HID DDK接口。  |
21| [hid_ddk_types.h](hid__ddk__types_8h.md) | 提供HID DDK中的枚举变量与结构体定义。  |
22
23
24### 结构体
25
26| 名称 | 描述 |
27| -------- | -------- |
28| [Hid_EmitItem](_hid___emit_item.md) | struct<br/>事件信息。  |
29| [Hid_Device](_hid___device.md) | struct<br/>设备基本信息。  |
30| [Hid_EventTypeArray](_hid___event_type_array.md) | struct<br/>事件类型编码数组。  |
31| [Hid_KeyCodeArray](_hid___key_code_array.md) | struct<br/>键值属性数组。  |
32| [Hid_AbsAxesArray](_hid___abs_axes_array.md) | struct<br/>绝对坐标属性数组。  |
33| [Hid_RelAxesArray](_hid___rel_axes_array.md) | struct<br/>相对坐标属性数组。  |
34| [Hid_MscEventArray](_hid___msc_event_array.md) | struct<br/>其它特殊事件属性数组。  |
35| [Hid_EventProperties](_hid___event_properties.md) | struct<br/>设备关注事件属性。  |
36
37
38### 类型定义
39
40| 名称 | 描述 |
41| -------- | -------- |
42| [Hid_EmitItem](#hid_emititem) | typedef struct [Hid_EmitItem](_hid___emit_item.md)<br/>事件信息。  |
43| [Hid_Device](#hid_device) | typedef struct [Hid_Device](_hid___device.md)<br/>设备基本信息。  |
44| [Hid_EventTypeArray](#hid_eventtypearray) | typedef struct [Hid_EventTypeArray](_hid___event_type_array.md)<br/>事件类型编码数组。  |
45| [Hid_KeyCodeArray](#hid_keycodearray) | typedef struct [Hid_KeyCodeArray](_hid___key_code_array.md)<br/>键值属性数组。  |
46| [Hid_AbsAxesArray](#hid_absaxesarray) | typedef struct [Hid_AbsAxesArray](_hid___abs_axes_array.md)<br/>绝对坐标属性数组。  |
47| [Hid_RelAxesArray](#hid_relaxesarray) | typedef struct [Hid_RelAxesArray](_hid___rel_axes_array.md)<br/>相对坐标属性数组。  |
48| [Hid_MscEventArray](#hid_msceventarray) | typedef struct [Hid_MscEventArray](_hid___msc_event_array.md)<br/>其它特殊事件属性数组。  |
49| [Hid_EventProperties](#hid_eventproperties) | typedef struct [Hid_EventProperties](_hid___event_properties.md)<br/>设备关注事件属性。  |
50
51
52### 枚举
53
54| 名称 | 描述 |
55| -------- | -------- |
56| [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/>} | 输入设备特性定义。  |
57| [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/>} | 事件类型。  |
58| [Hid_SynEvent](#hid_synevent) { HID_SYN_REPORT = 0, HID_SYN_CONFIG = 1, HID_SYN_MT_REPORT = 2, HID_SYN_DROPPED = 3 } | 同步事件编码。  |
59| [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/>} | 键值编码。  |
60| [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/>} | 绝对坐标编码。  |
61| [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/>} | 相对坐标编码。  |
62| [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/>} | 不适合其它类型的输入事件编码。  |
63| [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/>} | HID DDK错误码定义。  |
64
65
66### 函数
67
68| 名称 | 描述 |
69| -------- | -------- |
70| [OH_Hid_CreateDevice](#oh_hid_createdevice) ([Hid_Device](_hid___device.md) \*hidDevice, [Hid_EventProperties](_hid___event_properties.md) \*hidEventProperties) | int32_t<br/>创建设备。  |
71| [OH_Hid_EmitEvent](#oh_hid_emitevent) (int32_t deviceId, const [Hid_EmitItem](_hid___emit_item.md) items[], uint16_t length) | int32_t<br/>向指定设备发送事件列表。  |
72| [OH_Hid_DestroyDevice](#oh_hid_destroydevice) (int32_t deviceId) | int32_t<br/>销毁设备。  |
73
74
75### 变量
76
77| 名称 | 描述 |
78| -------- | -------- |
79| [Hid_EmitItem::type](#type) | uint16_t<br/>事件类型  |
80| [Hid_EmitItem::code](#code) | uint16_t<br/>事件编码  |
81| [Hid_EmitItem::value](#value) | uint32_t<br/>事件值  |
82| [Hid_Device::deviceName](#devicename) | const char \*<br/>设备名称  |
83| [Hid_Device::vendorId](#vendorid) | uint16_t<br/>厂商ID  |
84| [Hid_Device::productId](#productid) | uint16_t<br/>产品ID  |
85| [Hid_Device::version](#version) | uint16_t<br/>版本号  |
86| [Hid_Device::bustype](#bustype) | uint16_t<br/>总线类型  |
87| [Hid_Device::properties](#properties) | [Hid_DeviceProp](#hid_deviceprop) \*<br/>设备特性  |
88| [Hid_Device::propLength](#proplength) | uint16_t<br/>设备特性数量  |
89| [Hid_EventTypeArray::hidEventType](#hideventtype) | [Hid_EventType](#hid_eventtype) \*<br/>事件类型编码  |
90| [Hid_EventTypeArray::length](#length-15) | uint16_t<br/>数组长度  |
91| [Hid_KeyCodeArray::hidKeyCode](#hidkeycode) | [Hid_KeyCode](#hid_keycode) \*<br/>键值编码  |
92| [Hid_KeyCodeArray::length](#length-25) | uint16_t<br/>数组长度  |
93| [Hid_AbsAxesArray::hidAbsAxes](#hidabsaxes) | [Hid_AbsAxes](#hid_absaxes) \*<br/>绝对坐标属性编码  |
94| [Hid_AbsAxesArray::length](#length-35) | uint16_t<br/>数组长度  |
95| [Hid_RelAxesArray::hidRelAxes](#hidrelaxes) | [Hid_RelAxes](#hid_relaxes) \*<br/>相对坐标属性编码  |
96| [Hid_RelAxesArray::length](#length-45) | uint16_t<br/>数组长度  |
97| [Hid_MscEventArray::hidMscEvent](#hidmscevent) | [Hid_MscEvent](#hid_mscevent) \*<br/>其它特殊事件属性编码  |
98| [Hid_MscEventArray::length](#length-55) | uint16_t<br/>数组长度  |
99| [Hid_EventProperties::hidEventTypes](#hideventtypes) | struct [Hid_EventTypeArray](_hid___event_type_array.md)<br/>事件类型属性编码数组  |
100| [Hid_EventProperties::hidKeys](#hidkeys) | struct [Hid_KeyCodeArray](_hid___key_code_array.md)<br/>键值属性编码数组  |
101| [Hid_EventProperties::hidAbs](#hidabs) | struct [Hid_AbsAxesArray](_hid___abs_axes_array.md)<br/>绝对坐标属性编码数组  |
102| [Hid_EventProperties::hidRelBits](#hidrelbits) | struct [Hid_RelAxesArray](_hid___rel_axes_array.md)<br/>相对坐标属性编码数组  |
103| [Hid_EventProperties::hidMiscellaneous](#hidmiscellaneous) | struct [Hid_MscEventArray](_hid___msc_event_array.md)<br/>其它特殊事件属性编码数组  |
104| [Hid_EventProperties::hidAbsMax](#hidabsmax) [64] | int32_t<br/>绝对坐标属性最大值  |
105| [Hid_EventProperties::hidAbsMin](#hidabsmin) [64] | int32_t<br/>绝对坐标属性最小值  |
106| [Hid_EventProperties::hidAbsFuzz](#hidabsfuzz) [64] | int32_t<br/>绝对坐标属性模糊值  |
107| [Hid_EventProperties::hidAbsFlat](#hidabsflat) [64] | int32_t<br/>绝对坐标属性固定值  |
108
109
110## 类型定义说明
111
112
113### Hid_AbsAxesArray
114
115```
116typedef struct Hid_AbsAxesArrayHid_AbsAxesArray
117```
118**描述**
119绝对坐标属性数组。
120
121**起始版本:** 11
122
123
124### Hid_Device
125
126```
127typedef struct Hid_DeviceHid_Device
128```
129**描述**
130设备基本信息。
131
132**起始版本:** 11
133
134
135### Hid_EmitItem
136
137```
138typedef struct Hid_EmitItemHid_EmitItem
139```
140**描述**
141事件信息。
142
143**起始版本:** 11
144
145
146### Hid_EventProperties
147
148```
149typedef struct Hid_EventPropertiesHid_EventProperties
150```
151**描述**
152设备关注事件属性。
153
154**起始版本:** 11
155
156
157### Hid_EventTypeArray
158
159```
160typedef struct Hid_EventTypeArrayHid_EventTypeArray
161```
162**描述**
163事件类型编码数组。
164
165**起始版本:** 11
166
167
168### Hid_KeyCodeArray
169
170```
171typedef struct Hid_KeyCodeArrayHid_KeyCodeArray
172```
173**描述**
174键值属性数组。
175
176**起始版本:** 11
177
178
179### Hid_MscEventArray
180
181```
182typedef struct Hid_MscEventArrayHid_MscEventArray
183```
184**描述**
185其它特殊事件属性数组。
186
187**起始版本:** 11
188
189
190### Hid_RelAxesArray
191
192```
193typedef struct Hid_RelAxesArrayHid_RelAxesArray
194```
195**描述**
196相对坐标属性数组。
197
198**起始版本:** 11
199
200
201## 枚举类型说明
202
203
204### Hid_AbsAxes
205
206```
207enum Hid_AbsAxes
208```
209**描述**
210绝对坐标编码。
211
212**起始版本:** 11
213
214| 枚举值 | 描述 |
215| -------- | -------- |
216| HID_ABS_X  | X轴 |
217| HID_ABS_Y  | Y轴 |
218| HID_ABS_Z  | Z轴 |
219| HID_ABS_RX  | 右模拟摇杆的 X 轴 |
220| HID_ABS_RY  | 右模拟摇杆的 Y 轴 |
221| HID_ABS_RZ  | 右模拟摇杆的 Z 轴 |
222| HID_ABS_THROTTLE  | 油门 |
223| HID_ABS_RUDDER  | 舵 |
224| HID_ABS_WHEEL  | 滚轮 |
225| HID_ABS_GAS  | 气 |
226| HID_ABS_BRAKE  | 制动 |
227| HID_ABS_HAT0X  | HAT0X |
228| HID_ABS_HAT0Y  | HAT0Y |
229| HID_ABS_HAT1X  | HAT1X |
230| HID_ABS_HAT1Y  | HAT1Y |
231| HID_ABS_HAT2X  | HAT2X |
232| HID_ABS_HAT2Y  | HAT2Y |
233| HID_ABS_HAT3X  | HAT3X |
234| HID_ABS_HAT3Y  | HAT3Y |
235| HID_ABS_PRESSURE  | 压力 |
236| HID_ABS_DISTANCE  | 距离 |
237| HID_ABS_TILT_X  | X轴倾斜度 |
238| HID_ABS_TILT_Y  | Y轴倾斜度 |
239| HID_ABS_TOOL_WIDTH  | 触摸工具的宽度 |
240| HID_ABS_VOLUME  | 音量 |
241| HID_ABS_MISC  | 其它 |
242
243
244### Hid_DdkErrCode
245
246```
247enum Hid_DdkErrCode
248```
249**描述**
250HID DDK错误码定义。
251
252**起始版本:** 11
253
254| 枚举值 | 描述 |
255| -------- | -------- |
256| HID_DDK_SUCCESS  | 操作成功 |
257| HID_DDK_FAILURE  | 操作失败 |
258| HID_DDK_INVALID_PARAMETER  | 非法参数 |
259| HID_DDK_INVALID_OPERATION  | 非法操作 |
260| HID_DDK_NULL_PTR  | 空指针异常 |
261| HID_DDK_TIMEOUT  | 超时 |
262| HID_DDK_NO_PERM  | 没有权限 |
263
264
265### Hid_DeviceProp
266
267```
268enum Hid_DeviceProp
269```
270**描述**
271输入设备特性定义。
272
273**起始版本:** 11
274
275| 枚举值 | 描述 |
276| -------- | -------- |
277| HID_PROP_POINTER  | 指针设备 |
278| HID_PROP_DIRECT  | 直接输入设备 |
279| HID_PROP_BUTTON_PAD  | 底部按键触摸设备 |
280| HID_PROP_SEMI_MT  | 全多点触控设备 |
281| HID_PROP_TOP_BUTTON_PAD  | 顶部软按键触摸设备 |
282| HID_PROP_POINTING_STICK  | 指点杆设备 |
283| HID_PROP_ACCELEROMETER  | 加速度传感器设备 |
284
285
286### Hid_EventType
287
288```
289enum Hid_EventType
290```
291**描述**
292事件类型。
293
294**起始版本:** 11
295
296| 枚举值 | 描述 |
297| -------- | -------- |
298| HID_EV_SYN  | 同步事件 |
299| HID_EV_KEY  | 按键事件 |
300| HID_EV_REL  | 相对坐标事件 |
301| HID_EV_ABS  | 绝对坐标事件 |
302| HID_EV_MSC  | 特殊事件 |
303
304
305### Hid_KeyCode
306
307```
308enum Hid_KeyCode
309```
310**描述**
311键值编码。
312
313**起始版本:** 11
314
315| 枚举值 | 描述 |
316| -------- | -------- |
317| HID_KEY_A  | 键A |
318| HID_KEY_B  | 键B |
319| HID_KEY_C  | 键C |
320| HID_KEY_D  | 键D |
321| HID_KEY_E  | 键E |
322| HID_KEY_F  | 键F |
323| HID_KEY_G  | 键G |
324| HID_KEY_H  | 键H |
325| HID_KEY_I  | 键I |
326| HID_KEY_J  | 键J |
327| HID_KEY_K  | 键K |
328| HID_KEY_L  | 键L |
329| HID_KEY_M  | 键M |
330| HID_KEY_N  | 键N |
331| HID_KEY_O  | 键O |
332| HID_KEY_P  | 键P |
333| HID_KEY_Q  | 键Q |
334| HID_KEY_R  | 键R |
335| HID_KEY_S  | 键S |
336| HID_KEY_T  | 键T |
337| HID_KEY_U  | 键U |
338| HID_KEY_V  | 键V |
339| HID_KEY_W  | 键W |
340| HID_KEY_X  | 键X |
341| HID_KEY_Y  | 键Y |
342| HID_KEY_Z  | 键Z |
343| HID_KEY_ESC  | 键ESC |
344| HID_KEY_0  | 键0 |
345| HID_KEY_1  | 键1 |
346| HID_KEY_2  | 键2 |
347| HID_KEY_3  | 键3 |
348| HID_KEY_4  | 键4 |
349| HID_KEY_5  | 键5 |
350| HID_KEY_6  | 键6 |
351| HID_KEY_7  | 键7 |
352| HID_KEY_8  | 键8 |
353| HID_KEY_9  | 键9 |
354| HID_KEY_GRAVE  | 键` |
355| HID_KEY_MINUS  | 键- |
356| HID_KEY_EQUALS  | 键= |
357| HID_KEY_BACKSPACE  | 键退格 |
358| HID_KEY_LEFT_BRACKET  | 键[ |
359| HID_KEY_RIGHT_BRACKET  | 键] |
360| HID_KEY_ENTER  | 键回车 |
361| HID_KEY_LEFT_SHIFT  | 键左shift |
362| HID_KEY_BACKSLASH  | 键\ |
363| HID_KEY_SEMICOLON  | 键; |
364| HID_KEY_APOSTROPHE  | 键' |
365| HID_KEY_SPACE  | 键空格 |
366| HID_KEY_SLASH  | 键/ |
367| HID_KEY_COMMA  | 键, |
368| HID_KEY_PERIOD  | 键. |
369| HID_KEY_RIGHT_SHIFT  | 键右shift |
370| HID_KEY_NUMPAD_0  | 数字键0 |
371| HID_KEY_NUMPAD_1  | 数字键1 |
372| HID_KEY_NUMPAD_2  | 数字键2 |
373| HID_KEY_NUMPAD_3  | 数字键3 |
374| HID_KEY_NUMPAD_4  | 数字键4 |
375| HID_KEY_NUMPAD_5  | 数字键5 |
376| HID_KEY_NUMPAD_6  | 数字键6 |
377| HID_KEY_NUMPAD_7  | 数字键7 |
378| HID_KEY_NUMPAD_8  | 数字键8 |
379| HID_KEY_NUMPAD_9  | 数字键9 |
380| HID_KEY_NUMPAD_DIVIDE  | 数字键/ |
381| HID_KEY_NUMPAD_MULTIPLY  | 数字键\* |
382| HID_KEY_NUMPAD_SUBTRACT  | 数字键- |
383| HID_KEY_NUMPAD_ADD  | 数字键+ |
384| HID_KEY_NUMPAD_DOT  | 数字键. |
385| HID_KEY_SYSRQ  | 键ESC |
386| HID_KEY_MUTE  | 键静音 |
387| HID_KEY_VOLUME_DOWN  | 键音量- |
388| HID_KEY_VOLUME_UP  | 键音量+ |
389| HID_KEY_BRIGHTNESS_DOWN  | 键亮度- |
390| HID_KEY_BRIGHTNESS_UP  | 键亮度+ |
391| HID_BTN_0  | 按钮0 |
392| HID_BTN_1  | 按钮1 |
393| HID_BTN_2  | 按钮2 |
394| HID_BTN_3  | 按钮3 |
395| HID_BTN_4  | 按钮4 |
396| HID_BTN_5  | 按钮5 |
397| HID_BTN_6  | 按钮6 |
398| HID_BTN_7  | 按钮7 |
399| HID_BTN_8  | 按钮8 |
400| HID_BTN_9  | 按钮9 |
401| HID_BTN_LEFT  | 鼠标按键左键 |
402| HID_BTN_RIGHT  | 鼠标按键右键 |
403| HID_BTN_MIDDLE  | 鼠标按键中键 |
404| HID_BTN_SIDE  | 鼠标侧面按键 |
405| HID_BTN_EXTRA  | 鼠标附加按键 |
406| HID_BTN_FORWARD  | 鼠标向前按键 |
407| HID_BTN_BACKWARD  | 鼠标向后按键 |
408| HID_BTN_TASK  | 鼠标任务按键 |
409| HID_BTN_TOOL_PEN  | 画笔 |
410| HID_BTN_TOOL_RUBBER  | 橡皮擦 |
411| HID_BTN_TOOL_BRUSH  | 笔刷 |
412| HID_BTN_TOOL_PENCIL  | 钢笔 |
413| HID_BTN_TOOL_AIRBRUSH  | 喷枪 |
414| HID_BTN_TOOL_FINGER  | 手指 |
415| HID_BTN_TOOL_MOUSE  | 鼠标 |
416| HID_BTN_TOOL_LENS  | 镜头 |
417| HID_BTN_TOOL_QUINT_TAP  | 五指触控 |
418| HID_BTN_STYLUS3  | 手写笔3 |
419| HID_BTN_TOUCH  | 触摸 |
420| HID_BTN_STYLUS  | 手写笔 |
421| HID_BTN_STYLUS2  | 手写笔2 |
422| HID_BTN_TOOL_DOUBLE_TAP  | 二指触控 |
423| HID_BTN_TOOL_TRIPLE_TAP  | 三指触控 |
424| HID_BTN_TOOL_QUAD_TAP  | 四指触控 |
425| HID_BTN_WHEEL  | 滚轮 |
426
427
428### Hid_MscEvent
429
430```
431enum Hid_MscEvent
432```
433**描述**
434不适合其它类型的输入事件编码。
435
436**起始版本:** 11
437
438| 枚举值 | 描述 |
439| -------- | -------- |
440| HID_MSC_SERIAL  | 序列号 |
441| HID_MSC_PULSE_LED  | 脉冲 |
442| HID_MSC_GESTURE  | 手势 |
443| HID_MSC_RAW  | 开始事件 |
444| HID_MSC_SCAN  | 扫描 |
445| HID_MSC_TIMESTAMP  | 时间戳 |
446
447
448### Hid_RelAxes
449
450```
451enum Hid_RelAxes
452```
453**描述**
454相对坐标编码。
455
456**起始版本:** 11
457
458| 枚举值 | 描述 |
459| -------- | -------- |
460| HID_REL_X  | X轴 |
461| HID_REL_Y  | Y轴 |
462| HID_REL_Z  | Z轴 |
463| HID_REL_RX  | 右模拟摇杆的 X 轴 |
464| HID_REL_RY  | 右模拟摇杆的 Y 轴 |
465| HID_REL_RZ  | 右模拟摇杆的 Z 轴 |
466| HID_REL_HWHEEL  | 水平滚轮 |
467| HID_REL_DIAL  | 刻度 |
468| HID_REL_WHEEL  | 滚轮 |
469| HID_REL_MISC  | 其它 |
470| HID_REL_RESERVED  | 预留 |
471| HID_REL_WHEEL_HI_RES  | 高分辨率滚轮 |
472| HID_REL_HWHEEL_HI_RES  | 高分辨率水平滚轮 |
473
474
475### Hid_SynEvent
476
477```
478enum Hid_SynEvent
479```
480**描述**
481同步事件编码。
482
483**起始版本:** 11
484
485| 枚举值 | 描述 |
486| -------- | -------- |
487| HID_SYN_REPORT  | 表示一个事件的结束 |
488| HID_SYN_CONFIG  | 表示配置同步 |
489| HID_SYN_MT_REPORT  | 表示多点触摸的ABS数据包结束 |
490| HID_SYN_DROPPED  | 表示该事件被丢弃 |
491
492
493## 函数说明
494
495
496### OH_Hid_CreateDevice()
497
498```
499int32_t OH_Hid_CreateDevice (Hid_Device * hidDevice, Hid_EventProperties * hidEventProperties )
500```
501**描述**
502创建设备。
503
504**起始版本:** 11
505
506**参数:**
507
508| 名称 | 描述 |
509| -------- | -------- |
510| hidDevice | 创建设备需要的基本信息,包括设备名、厂商ID、产品ID等。  |
511| hidEventProperties | 创建的设备关注的事件,包括事件类型、按键事件属性、绝对坐标事件属性、相对坐标事件属性等。  |
512
513**Permission:**
514
515ohos.permission.ACCESS_DDK_HID
516
517**返回:**
518
519成功返回设备ID,非负数;否则返回负数。
520
521
522### OH_Hid_DestroyDevice()
523
524```
525int32_t OH_Hid_DestroyDevice (int32_t deviceId)
526```
527**描述**
528销毁设备。
529
530**起始版本:** 11
531
532**参数:**
533
534| 名称 | 描述 |
535| -------- | -------- |
536| deviceId | 设备ID。  |
537
538**Permission:**
539
540ohos.permission.ACCESS_DDK_HID
541
542**返回:**
543
544成功返回0,否则返回负数。
545
546
547### OH_Hid_EmitEvent()
548
549```
550int32_t OH_Hid_EmitEvent (int32_t deviceId, const Hid_EmitItem items[], uint16_t length )
551```
552**描述**
553向指定设备发送事件列表。
554
555**起始版本:** 11
556
557**参数:**
558
559| 名称 | 描述 |
560| -------- | -------- |
561| deviceId | 设备ID。  |
562| items | 发送的事件列表,事件包括类型(取值来源事件类型Hid_EventType)、编码(取值来源同步事件编码Hid_SynEvent、键值编码Hid_KeyCode、按钮编码HidBtnCode、 绝对坐标编码Hid_AbsAxes、相对坐标编码Hid_RelAxes、其它类型的输入事件编码Hid_MscEvent)、值(根据实际设备输入决定)。  |
563| length | 发送事件列表长度(一次发送事件个数)。  |
564
565**Permission:**
566
567ohos.permission.ACCESS_DDK_HID
568
569**返回:**
570
571成功返回0,否则返回负数。
572
573
574## 变量说明
575
576
577### bustype
578
579```
580uint16_t Hid_Device::bustype
581```
582**描述**
583总线类型
584
585
586### code
587
588```
589uint16_t Hid_EmitItem::code
590```
591**描述**
592事件编码
593
594
595### deviceName
596
597```
598const char* Hid_Device::deviceName
599```
600**描述**
601设备名称
602
603
604### hidAbs
605
606```
607struct Hid_AbsAxesArray Hid_EventProperties::hidAbs
608```
609**描述**
610绝对坐标属性编码数组
611
612
613### hidAbsAxes
614
615```
616Hid_AbsAxes* Hid_AbsAxesArray::hidAbsAxes
617```
618**描述**
619绝对坐标属性编码
620
621
622### hidAbsFlat
623
624```
625int32_t Hid_EventProperties::hidAbsFlat[64]
626```
627**描述**
628绝对坐标属性固定值
629
630
631### hidAbsFuzz
632
633```
634int32_t Hid_EventProperties::hidAbsFuzz[64]
635```
636**描述**
637绝对坐标属性模糊值
638
639
640### hidAbsMax
641
642```
643int32_t Hid_EventProperties::hidAbsMax[64]
644```
645**描述**
646绝对坐标属性最大值
647
648
649### hidAbsMin
650
651```
652int32_t Hid_EventProperties::hidAbsMin[64]
653```
654**描述**
655绝对坐标属性最小值
656
657
658### hidEventType
659
660```
661Hid_EventType* Hid_EventTypeArray::hidEventType
662```
663**描述**
664事件类型编码
665
666
667### hidEventTypes
668
669```
670struct Hid_EventTypeArray Hid_EventProperties::hidEventTypes
671```
672**描述**
673事件类型属性编码数组
674
675
676### hidKeyCode
677
678```
679Hid_KeyCode* Hid_KeyCodeArray::hidKeyCode
680```
681**描述**
682键值编码
683
684
685### hidKeys
686
687```
688struct Hid_KeyCodeArray Hid_EventProperties::hidKeys
689```
690**描述**
691键值属性编码数组
692
693
694### hidMiscellaneous
695
696```
697struct Hid_MscEventArray Hid_EventProperties::hidMiscellaneous
698```
699**描述**
700其它特殊事件属性编码数组
701
702
703### hidMscEvent
704
705```
706Hid_MscEvent* Hid_MscEventArray::hidMscEvent
707```
708**描述**
709其它特殊事件属性编码
710
711
712### hidRelAxes
713
714```
715Hid_RelAxes* Hid_RelAxesArray::hidRelAxes
716```
717**描述**
718相对坐标属性编码
719
720
721### hidRelBits
722
723```
724struct Hid_RelAxesArray Hid_EventProperties::hidRelBits
725```
726**描述**
727相对坐标属性编码数组
728
729
730### length [1/5]
731
732```
733uint16_t Hid_EventTypeArray::length
734```
735**描述**
736数组长度
737
738
739### length [2/5]
740
741```
742uint16_t Hid_KeyCodeArray::length
743```
744**描述**
745数组长度
746
747
748### length [3/5]
749
750```
751uint16_t Hid_AbsAxesArray::length
752```
753**描述**
754数组长度
755
756
757### length [4/5]
758
759```
760uint16_t Hid_RelAxesArray::length
761```
762**描述**
763数组长度
764
765
766### length [5/5]
767
768```
769uint16_t Hid_MscEventArray::length
770```
771**描述**
772数组长度
773
774
775### productId
776
777```
778uint16_t Hid_Device::productId
779```
780**描述**
781产品ID
782
783
784### properties
785
786```
787Hid_DeviceProp* Hid_Device::properties
788```
789**描述**
790设备特性
791
792
793### propLength
794
795```
796uint16_t Hid_Device::propLength
797```
798**描述**
799设备特性数量
800
801
802### type
803
804```
805uint16_t Hid_EmitItem::type
806```
807**描述**
808事件类型
809
810
811### value
812
813```
814uint32_t Hid_EmitItem::value
815```
816**描述**
817事件值
818
819
820### vendorId
821
822```
823uint16_t Hid_Device::vendorId
824```
825**描述**
826厂商ID
827
828
829### version
830
831```
832uint16_t Hid_Device::version
833```
834**描述**
835版本号
836