• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Input
2
3
4## **概述**
5
6Input模块驱动接口声明。
7
8本模块为Input服务提供相关驱动接口,包括Input设备的打开和关闭、Input事件获取、设备信息查询、回调函数注册、特性状态控制等接口。
9
10**Since**:
11
121.0
13
14**Version**:
15
161.0
17
18
19## **汇总**
20
21
22### 文件
23
24  | 名称 | 描述 |
25| -------- | -------- |
26| [input_controller.h](input__controller_8h.md) | 描述Input设备业务控制相关的接口声明。 |
27| [input_manager.h](input__manager_8h.md) | 描述Input设备管理相关的接口声明。 |
28| [input_reporter.h](input__reporter_8h.md) | 描述Input设备数据上报相关的接口声明。 |
29| [input_type.h](input__type_8h.md) | Input设备相关的类型定义,定义了Input设备驱动接口所使用的结构体及枚举类型。 |
30
31
32### 类
33
34  | 名称 | 描述 |
35| -------- | -------- |
36| [InputController](_input_controller.md) | 提供Input设备业务控制相关的接口。 |
37| [InputManager](_input_manager.md) | 提供Input设备管理相关的接口。 |
38| [IInputInterface](_i_input_interface.md) | 定义用于提供Input设备驱动程序功能的接口。 |
39| [InputReporter](_input_reporter.md) | 提供Input设备数据上报相关的接口。 |
40| [InputEventPackage](_input_event_package.md) | Input事件数据包结构。 |
41| [InputHotPlugEvent](_input_hot_plug_event.md) | 热插拔事件数据包结构。 |
42| [InputDevDesc](_input_dev_desc.md) | Input设备描述信息。 |
43| [InputEventCb](_input_event_cb.md) | 此结构体定义了输入事件回调函数并提供给Input服务使用。 |
44| [InputHostCb](_input_host_cb.md) | 此结构体定义了热插拔事件上报回调函数并提供给Input服务使用。 |
45| [InputDevAbility](_input_dev_ability.md) | Input设备的能力属性,存储支持事件的位图。 |
46| [InputDimensionInfo](_input_dimension_info.md) | Input设备的维度信息。 |
47| [InputDevIdentify](_input_dev_identify.md) | Input设备的识别信息。 |
48| [InputDevAttr](_input_dev_attr.md) | Input设备属性。 |
49| [InputDeviceInfo](_input_device_info.md) | Input设备基础设备信息。 |
50| [InputExtraCmd](_input_extra_cmd.md) | 扩展指令的数据结构。 |
51
52
53### 宏定义
54
55  | 名称 | 描述 |
56| -------- | -------- |
57| [MAX_INPUT_DEV_NUM](#max_input_dev_num)   32 | Input设备数量的最大值。 |
58| [CHIP_INFO_LEN](#chip_info_len)   10 | 芯片信息长度。 |
59| [CHIP_NAME_LEN](#chip_name_len)   10 | 芯片名称长度。 |
60| [VENDOR_NAME_LEN](#vendor_name_len)   10 | 厂商名称长度。 |
61| [DEV_NAME_LEN](#dev_name_len)   64 | Input设备名称长度。 |
62| [SELF_TEST_RESULT_LEN](#self_test_result_len)   20 | 自测结果长度。 |
63| [DEV_MANAGER_SERVICE_NAME](#dev_manager_service_name)   "hdf_input_host" | Input设备节点服务名称。 |
64| [DIV_ROUND_UP](#div_round_up)(nr, d)   (((nr) + (d) - 1) / (d)) | 向上取整计算公式。 |
65| [BYTE_HAS_BITS](#byte_has_bits)   8 | 一个字节所包含的比特数。 |
66| [BITS_TO_UINT64](#bits_to_uint64)(count)   [DIV_ROUND_UP](#div_round_up)(count, [BYTE_HAS_BITS](#byte_has_bits) \* sizeof(uint64_t)) | 比特与64位无符号整数的转换公式。 |
67| [HDF_FF_CNT](#hdf_ff_cnt)   (0x7f + 1) | Input设备发送力反馈命令的数量最大值。 |
68
69
70### 枚举
71
72  | 名称 | 描述 |
73| -------- | -------- |
74| [RetStatus](#retstatus) {   INPUT_SUCCESS = 0, INPUT_FAILURE = -1, INPUT_INVALID_PARAM = -2, INPUT_NOMEM = -3,   INPUT_NULL_PTR = -4, INPUT_TIMEOUT = -5, INPUT_UNSUPPORTED = -6 } | 定义返回值类型。 |
75| [InputDevType](#inputdevtype) {   INDEV_TYPE_TOUCH, INDEV_TYPE_KEY, INDEV_TYPE_KEYBOARD, INDEV_TYPE_MOUSE,   INDEV_TYPE_BUTTON, INDEV_TYPE_CROWN, INDEV_TYPE_ENCODER, INDEV_TYPE_UNKNOWN } | 定义Input设备类型。 |
76| [PowerStatus](#powerstatus) { INPUT_RESUME, INPUT_SUSPEND, INPUT_LOW_POWER, INPUT_POWER_STATUS_UNKNOWN } | 定义电源状态。 |
77| [CapacitanceTest](#capacitancetest) {   BASE_TEST, FULL_TEST, MMI_TEST, RUNNING_TEST,   TEST_TYPE_UNKNOWN } | 定义容值测试类型。 |
78
79
80### 函数
81
82  | 名称 | 描述 |
83| -------- | -------- |
84| [GetInputInterface](#getinputinterface) ([IInputInterface](_i_input_interface.md) \*\*interface) | Input服务通过调用此接口获取操作Input设备的所有接口。 |
85
86
87## **宏定义说明**
88
89
90### BITS_TO_UINT64
91
92
93```
94#define BITS_TO_UINT64( count)   DIV_ROUND_UP(count, BYTE_HAS_BITS * sizeof(uint64_t))
95```
96
97**描述:**
98
99比特与64位无符号整数的转换公式
100
101
102### BYTE_HAS_BITS
103
104
105```
106#define BYTE_HAS_BITS   8
107```
108
109**描述:**
110
111一个字节所包含的比特数
112
113
114### CHIP_INFO_LEN
115
116
117```
118#define CHIP_INFO_LEN   10
119```
120
121**描述:**
122
123芯片信息长度
124
125
126### CHIP_NAME_LEN
127
128
129```
130#define CHIP_NAME_LEN   10
131```
132
133**描述:**
134
135芯片名称长度
136
137
138### DEV_MANAGER_SERVICE_NAME
139
140
141```
142#define DEV_MANAGER_SERVICE_NAME   "hdf_input_host"
143```
144
145**描述:**
146
147Input设备节点服务名称
148
149
150### DEV_NAME_LEN
151
152
153```
154#define DEV_NAME_LEN   64
155```
156
157**描述:**
158
159Input设备名称长度
160
161
162### DIV_ROUND_UP
163
164
165```
166#define DIV_ROUND_UP( nr,  d )   (((nr) + (d) - 1) / (d))
167```
168
169**描述:**
170
171向上取整计算公式
172
173
174### HDF_FF_CNT
175
176
177```
178#define HDF_FF_CNT   (0x7f + 1)
179```
180
181**描述:**
182
183Input设备发送力反馈命令的数量最大值
184
185
186### MAX_INPUT_DEV_NUM
187
188
189```
190#define MAX_INPUT_DEV_NUM   32
191```
192
193**描述:**
194
195Input设备数量的最大值
196
197
198### SELF_TEST_RESULT_LEN
199
200
201```
202#define SELF_TEST_RESULT_LEN   20
203```
204
205**描述:**
206
207自测试结果长度
208
209
210### VENDOR_NAME_LEN
211
212
213```
214#define VENDOR_NAME_LEN   10
215```
216
217**描述:**
218
219厂商名称长度
220
221
222## **枚举类型说明**
223
224
225### CapacitanceTest
226
227
228```
229enum CapacitanceTest
230```
231
232**描述:**
233
234定义容值测试类型。
235
236  | 枚举值 | 描述 |
237| -------- | -------- |
238| BASE_TEST | 基础容值测试 |
239| FULL_TEST | 全量容值自检测试 |
240| MMI_TEST | MMI容值测试 |
241| RUNNING_TEST | 老化容值测试 |
242| TEST_TYPE_UNKNOWN | 未知的测试类型 |
243
244
245### InputDevType
246
247
248```
249enum InputDevType
250```
251
252**描述:**
253
254定义Input设备类型。
255
256  | 枚举值 | 描述 |
257| -------- | -------- |
258| INDEV_TYPE_TOUCH | 触摸屏 |
259| INDEV_TYPE_KEY | 物理按键 |
260| INDEV_TYPE_KEYBOARD | 键盘 |
261| INDEV_TYPE_MOUSE | 鼠标 |
262| INDEV_TYPE_BUTTON | 虚拟按键 |
263| INDEV_TYPE_CROWN | 表冠 |
264| INDEV_TYPE_ENCODER | 自定义编码的特定功能或者事件 |
265| INDEV_TYPE_UNKNOWN | 未知输入设备类型 |
266
267
268### PowerStatus
269
270
271```
272enum PowerStatus
273```
274
275**描述:**
276
277定义电源状态。
278
279  | 枚举值 | 描述 |
280| -------- | -------- |
281| INPUT_RESUME | 正常唤醒 |
282| INPUT_SUSPEND | 休眠下电模式 |
283| INPUT_LOW_POWER | 休眠低功耗模式 |
284| INPUT_POWER_STATUS_UNKNOWN | 未知电源状态 |
285
286
287### RetStatus
288
289
290```
291enum RetStatus
292```
293
294**描述:**
295
296定义返回值类型。
297
298  | 枚举值 | 描述 |
299| -------- | -------- |
300| INPUT_SUCCESS | 成功 |
301| INPUT_FAILURE | 失败 |
302| INPUT_INVALID_PARAM | 无效参数 |
303| INPUT_NOMEM | 内存不足 |
304| INPUT_NULL_PTR | 空指针 |
305| INPUT_TIMEOUT | 执行超时 |
306| INPUT_UNSUPPORTED | 特性不支持 |
307
308
309## **函数说明**
310
311
312### GetInputInterface()
313
314
315```
316int32_t GetInputInterface (IInputInterface ** interface)
317```
318
319**描述:**
320
321Input服务通过调用此接口获取操作Input设备的所有接口。
322
323**参数:**
324
325  | 名称 | 描述 |
326| -------- | -------- |
327| interface | 对Input设备进行接口操作的指针,通常在Input服务启动后,通过调用此函数获取Input设备操作接口。 |
328
329**返回:**
330
331INPUT_SUCCESS 表示执行成功。
332
333其他值表示执行失败,具体错误码查看[RetStatus](#retstatus)。
334