• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# IInputInterfaces
2
3
4## 概述
5
6Input模块向上层服务提供了统一接口。
7
8上层服务开发人员可根据Input模块提供的向上统一接口实现Input设备的打开和关闭、Input事件获取、设备信息查询、回调函数注册、特性状态控制等功能。
9
10**起始版本:** 3.2
11
12**相关模块:**[HdiInput](_hdi_input.md)
13
14
15## 汇总
16
17
18### Public 成员函数
19
20| 名称 | 描述 |
21| -------- | -------- |
22| [ScanInputDevice](#scaninputdevice) ([out] struct [DevDesc](_dev_desc_v10.md)[] staArr) | Input服务用于扫描所有在线设备。  |
23| [OpenInputDevice](#openinputdevice) ([in] unsigned int devIndex) | Input服务打开对应设备的设备文件。  |
24| [CloseInputDevice](#closeinputdevice) ([in] unsigned int devIndex) | Input服务关闭对应设备的设备文件。  |
25| [GetInputDevice](#getinputdevice) ([in] unsigned int devIndex, [out] struct [DeviceInfo](_device_info_v10.md) devInfo) | Input服务获取devIndex对应的Input设备信息。  |
26| [GetInputDeviceList](#getinputdevicelist) ([out] unsigned int devNum, [out] struct [DeviceInfo](_device_info_v10.md)[] devList, [in]unsigned int size) | Input服务获取所有Input设备列表的设备信息。  |
27| [SetPowerStatus](#setpowerstatus) ([in] unsigned int devIndex, [in] unsigned int status) | 设置devIndex对应的Input设备的电源状态。  |
28| [GetPowerStatus](#getpowerstatus) ([in] unsigned int devIndex, [out] unsigned int status) | 获取devIndex对应Input设备的电源状态。  |
29| [GetDeviceType](#getdevicetype) ([in] unsigned int devIndex, [out] unsigned int deviceType) | 获取devIndex对应的Input设备的类型。  |
30| [GetChipInfo](#getchipinfo) ([in] unsigned int devIndex, [out] String chipInfo) | 获取devIndex对应的Input设备的编码信息。  |
31| [GetVendorName](#getvendorname) ([in] unsigned int devIndex, [out] String vendorName) | 获取devIndex对应的Input设备的模组厂商名。  |
32| [GetChipName](#getchipname) ([in] unsigned int devIndex, [out] String chipName) | 获取devIndex对应的Input设备的驱动芯片名。  |
33| [SetGestureMode](#setgesturemode) ([in] unsigned int devIndex, [in] unsigned int gestureMode) | 设置devIndex对应的Input设备的手势模式。  |
34| [RunCapacitanceTest](#runcapacitancetest) ([in] unsigned int devIndex, [in] unsigned int testType, [out] String result, [in] unsigned int length) | 执行容值自检测试。  |
35| [RunExtraCommand](#runextracommand) ([in] unsigned int devIndex, [in] struct [ExtraCmd](_extra_cmd_v10.md) cmd) | 执行拓展指令。  |
36| [RegisterReportCallback](#registerreportcallback) ([in] unsigned int devIndex, [in] [IInputCallback](interface_i_input_callback_v10.md) eventPkgCallback) | 注册devIndex对应的Input设备的回调函数。  |
37| [UnregisterReportCallback](#unregisterreportcallback) ([in] unsigned int devIndex) | 注销devIndex对应的Input设备的回调函数。  |
38| [RegisterHotPlugCallback](#registerhotplugcallback) ([in] [IInputCallback](interface_i_input_callback_v10.md) hotPlugCallback) | 注册Input设备的热插拔回调函数。  |
39| [UnregisterHotPlugCallback](#unregisterhotplugcallback) () | 注销Input设备的热插拔回调函数。  |
40
41
42## 成员函数说明
43
44
45### CloseInputDevice()
46
47```
48IInputInterfaces::CloseInputDevice ([in] unsigned int devIndex)
49```
50**描述**
51Input服务关闭对应设备的设备文件。
52
53**起始版本:** 3.2
54
55**参数:**
56
57| 名称 | 描述 |
58| -------- | -------- |
59| devIndex | Input设备索引,用于标志Input设备,取值从0开始,最多支持32个设备。 |
60
61**返回:**
62
63如果操作成功,则返回0。
64
65如果操作失败,则返回负值。
66
67
68### GetChipInfo()
69
70```
71IInputInterfaces::GetChipInfo ([in] unsigned int devIndex, [out] String chipInfo )
72```
73**描述**
74获取devIndex对应的Input设备的编码信息。
75
76一款产品通常会有多家模组和Driver IC,上层应用如果关注具体器件型号,则通过此接口来获取。
77
78**起始版本:** 3.2
79
80**参数:**
81
82| 名称 | 描述 |
83| -------- | -------- |
84| devIndex | Input设备索引,用于标志Input设备,取值从0开始,最多支持32个设备。  |
85| chipInfo | 获取的对应设备索引的器件编码信息。 |
86
87**返回:**
88
89如果操作成功,则返回0。
90
91如果操作失败,则返回负值。
92
93
94### GetChipName()
95
96```
97IInputInterfaces::GetChipName ([in] unsigned int devIndex, [out] String chipName )
98```
99**描述**
100获取devIndex对应的Input设备的驱动芯片名。
101
102**起始版本:** 3.2
103
104**参数:**
105
106| 名称 | 描述 |
107| -------- | -------- |
108| devIndex | Input设备索引,用于标志Input设备,取值从0开始,最多支持32个设备。  |
109| chipName | 获取的对应设备索引的驱动芯片名。 |
110
111**返回:**
112
113如果操作成功,则返回0。
114
115如果操作失败,则返回负值。
116
117
118### GetDeviceType()
119
120```
121IInputInterfaces::GetDeviceType ([in] unsigned int devIndex, [out] unsigned int deviceType )
122```
123**描述**
124获取devIndex对应的Input设备的类型。
125
126**起始版本:** 3.2
127
128**参数:**
129
130| 名称 | 描述 |
131| -------- | -------- |
132| devIndex | Input设备索引,用于标志Input设备,取值从0开始,最多支持32个设备。  |
133| deviceType | 获取的对应设备索引的设备类型,如0表示触屏、1表示物理按键、2表示键盘、3表示鼠标等。 |
134
135**返回:**
136
137如果操作成功,则返回0。
138
139如果操作失败,则返回负值。
140
141
142### GetInputDevice()
143
144```
145IInputInterfaces::GetInputDevice ([in] unsigned int devIndex, [out] struct DeviceInfo devInfo )
146```
147**描述**
148Input服务获取devIndex对应的Input设备信息。
149
150**起始版本:** 3.2
151
152**参数:**
153
154| 名称 | 描述 |
155| -------- | -------- |
156| devIndex | Input设备索引,用于标志Input设备,取值从0开始,最多支持32个设备。  |
157| devInfo | 即devIndex对应的设备的设备信息,具体参考[DeviceInfo](_device_info_v10.md)。 |
158
159**返回:**
160
161如果操作成功,则返回0。
162
163如果操作失败,则返回负值。
164
165
166### GetInputDeviceList()
167
168```
169IInputInterfaces::GetInputDeviceList ([out] unsigned int devNum, [out] struct DeviceInfo[] devList, [in] unsigned int size )
170```
171**描述**
172Input服务获取所有Input设备列表的设备信息。
173
174**起始版本:** 3.2
175
176**参数:**
177
178| 名称 | 描述 |
179| -------- | -------- |
180| devNum | 当前已经注册过的所有Input设备的总数。  |
181| devList | Input设备列表所对应的设备信息,具体参考[DeviceInfo](_device_info_v10.md)。  |
182| size | 即指定deviceList数组对应的元素个数。 |
183
184**返回:**
185
186如果操作成功,则返回0。
187
188如果操作失败,则返回负值。
189
190
191### GetPowerStatus()
192
193```
194IInputInterfaces::GetPowerStatus ([in] unsigned int devIndex, [out] unsigned int status )
195```
196**描述**
197获取devIndex对应Input设备的电源状态。
198
199在系统休眠或者唤醒时,Input服务或电源管理模块获取电源状态。
200
201**起始版本:** 3.2
202
203**参数:**
204
205| 名称 | 描述 |
206| -------- | -------- |
207| devIndex | Input设备索引,用于标志Input设备,取值从0开始,最多支持32个设备。  |
208| status | 获取的对应设备索引的电源状态,如0表示正常唤醒、1表示休眠下电、2表示低功耗、3表示未知电源状态等。 |
209
210**返回:**
211
212如果操作成功,则返回0。
213
214如果操作失败,则返回负值。
215
216
217### GetVendorName()
218
219```
220IInputInterfaces::GetVendorName ([in] unsigned int devIndex, [out] String vendorName )
221```
222**描述**
223获取devIndex对应的Input设备的模组厂商名。
224
225**起始版本:** 3.2
226
227**参数:**
228
229| 名称 | 描述 |
230| -------- | -------- |
231| devIndex | Input设备索引,用于标志Input设备,取值从0开始,最多支持32个设备。  |
232| vendorName | 获取的对应设备索引的模组厂商名。 |
233
234**返回:**
235
236如果操作成功,则返回0。
237
238如果操作失败,则返回负值。
239
240
241### OpenInputDevice()
242
243```
244IInputInterfaces::OpenInputDevice ([in] unsigned int devIndex)
245```
246**描述**
247Input服务打开对应设备的设备文件。
248
249**起始版本:** 3.2
250
251**参数:**
252
253| 名称 | 描述 |
254| -------- | -------- |
255| devIndex | Input设备索引,用于标志Input设备,取值从0开始,最多支持32个设备。 |
256
257**返回:**
258
259如果操作成功,则返回0。
260
261如果操作失败,则返回负值。
262
263
264### RegisterHotPlugCallback()
265
266```
267IInputInterfaces::RegisterHotPlugCallback ([in] IInputCallback hotPlugCallback)
268```
269**描述**
270注册Input设备的热插拔回调函数。
271
272Input服务通过此接口注册回调函数到HDI中,所有Input设备由此函数进行热插拔事件上报。
273
274**起始版本:** 3.2
275
276**参数:**
277
278| 名称 | 描述 |
279| -------- | -------- |
280| hotPlugCallback | 回调函数的函数指针。 |
281
282**返回:**
283
284如果操作成功,则返回0。
285
286如果操作失败,则返回负值。
287
288
289### RegisterReportCallback()
290
291```
292IInputInterfaces::RegisterReportCallback ([in] unsigned int devIndex, [in] IInputCallback eventPkgCallback )
293```
294**描述**
295注册devIndex对应的Input设备的回调函数。
296
297Input服务通过此接口注册数据回调函数到HDI中,HDI通过此回调函数上报Input事件。
298
299**起始版本:** 3.2
300
301**参数:**
302
303| 名称 | 描述 |
304| -------- | -------- |
305| devIndex | Input设备索引,用于标志Input设备,取值从0开始,最多支持32个设备。  |
306| eventPkgCallback | 回调函数的函数指针。 |
307
308**返回:**
309
310如果操作成功,则返回0。
311
312如果操作失败,则返回负值。
313
314
315### RunCapacitanceTest()
316
317```
318IInputInterfaces::RunCapacitanceTest ([in] unsigned int devIndex, [in] unsigned int testType, [out] String result, [in] unsigned int length )
319```
320**描述**
321执行容值自检测试。
322
323启动不同检测场景下的容值自检测试,并获取测试结果,容值自检项由器件厂商自定义, 一般包括RawData测试、短路检测、开路检测、干扰检测、行列差检测等测试项。
324
325**起始版本:** 3.2
326
327**参数:**
328
329| 名称 | 描述 |
330| -------- | -------- |
331| devIndex | Input设备索引,用于标志Input设备,取值从0开始,最多支持32个设备。  |
332| testType | 容值测试的测试类型,如0表示基础容值测试、1表示全量容值自检测试、2表示MMI容值测试、3表示老化容值测试等。  |
333| result | 容值测试的结果,成功则输出“SUCC”,失败则返回对应的错误提示。  |
334| length | 保存容值测试结果的内存长度。 |
335
336**返回:**
337
338如果操作成功,则返回0。
339
340如果操作失败,则返回负值。
341
342
343### RunExtraCommand()
344
345```
346IInputInterfaces::RunExtraCommand ([in] unsigned int devIndex, [in] struct ExtraCmd cmd )
347```
348**描述**
349执行拓展指令。
350
351**起始版本:** 3.2
352
353**参数:**
354
355| 名称 | 描述 |
356| -------- | -------- |
357| devIndex | Input设备索引,用于标志Input设备,取值从0开始,最多支持32个设备。  |
358| cmd | 拓展指令数据包,包括指令编码及参数,具体参考[ExtraCmd](_extra_cmd_v10.md)。 |
359
360**返回:**
361
362如果操作成功,则返回0。
363
364如果操作失败,则返回负值。
365
366
367### ScanInputDevice()
368
369```
370IInputInterfaces::ScanInputDevice ([out] struct DevDesc[] staArr)
371```
372**描述**
373Input服务用于扫描所有在线设备。
374
375**起始版本:** 3.2
376
377**参数:**
378
379| 名称 | 描述 |
380| -------- | -------- |
381| staArr | 存放Input设备扫描信息的数组,信息包含设备索引以及设备类型,具体参考[DevDesc](_dev_desc_v10.md)。 |
382
383**返回:**
384
385如果操作成功,则返回0。
386
387如果操作失败,则返回负值。
388
389
390### SetGestureMode()
391
392```
393IInputInterfaces::SetGestureMode ([in] unsigned int devIndex, [in] unsigned int gestureMode )
394```
395**描述**
396设置devIndex对应的Input设备的手势模式。
397
398上层应用开关手势模式,即设置手势模式的对应使能bit。
399
400**起始版本:** 3.2
401
402**参数:**
403
404| 名称 | 描述 |
405| -------- | -------- |
406| devIndex | Input设备索引,用于标志Input设备,取值从0开始,最多支持32个设备。  |
407| gestureMode | 手势模式的开关状态。 |
408
409**返回:**
410
411如果操作成功,则返回0。
412
413如果操作失败,则返回负值。
414
415
416### SetPowerStatus()
417
418```
419IInputInterfaces::SetPowerStatus ([in] unsigned int devIndex, [in] unsigned int status )
420```
421**描述**
422设置devIndex对应的Input设备的电源状态。
423
424在系统休眠或者唤醒时,Input服务或电源管理模块设置电源状态,使驱动IC能正常进入对应的模式。
425
426**起始版本:** 3.2
427
428**参数:**
429
430| 名称 | 描述 |
431| -------- | -------- |
432| devIndex | Input设备索引,用于标志Input设备,取值从0开始,最多支持32个设备。  |
433| status | 设置的电源状态,如0表示正常唤醒、1表示休眠下电、2表示低功耗、3表示未知电源状态等。 |
434
435**返回:**
436
437如果操作成功,则返回0。
438
439如果操作失败,则返回负值。
440
441
442### UnregisterHotPlugCallback()
443
444```
445IInputInterfaces::UnregisterHotPlugCallback ()
446```
447**描述**
448注销Input设备的热插拔回调函数。
449
450**起始版本:** 3.2
451
452**返回:**
453
454如果操作成功,则返回0。
455
456如果操作失败,则返回负值。
457
458
459### UnregisterReportCallback()
460
461```
462IInputInterfaces::UnregisterReportCallback ([in] unsigned int devIndex)
463```
464**描述**
465注销devIndex对应的Input设备的回调函数。
466
467**起始版本:** 3.2
468
469**参数:**
470
471| 名称 | 描述 |
472| -------- | -------- |
473| devIndex | Input设备索引,用于标志Input设备,取值从0开始,最多支持32个设备。 |
474
475**返回:**
476
477如果操作成功,则返回0。
478
479如果操作失败,则返回负值。
480