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