1e41f4b71Sopenharmony_ci# InputController
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci
4e41f4b71Sopenharmony_ci## 概述
5e41f4b71Sopenharmony_ci
6e41f4b71Sopenharmony_ci提供Input设备业务控制相关的接口。
7e41f4b71Sopenharmony_ci
8e41f4b71Sopenharmony_ci此类接口包含电源状态的设置、特性的使能、器件信息的获取,以及产线相关的测试功能接口。
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci**起始版本:** 1.0
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci**相关模块:**[Input](_input.md)
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci## 汇总
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_ci### Public 属性
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci| 名称 | 描述 | 
21e41f4b71Sopenharmony_ci| -------- | -------- |
22e41f4b71Sopenharmony_ci| int32_t(\* [SetPowerStatus](#setpowerstatus) )(uint32_t devIndex, uint32_t status) | 设置电源状态。 | 
23e41f4b71Sopenharmony_ci| int32_t(\* [GetPowerStatus](#getpowerstatus) )(uint32_t devIndex, uint32_t \*status) | 获取电源状态。 | 
24e41f4b71Sopenharmony_ci| int32_t(\* [GetDeviceType](#getdevicetype) )(uint32_t devIndex, uint32_t \*deviceType) | 获取devIndex对应的Input设备的类型。 | 
25e41f4b71Sopenharmony_ci| int32_t(\* [GetChipInfo](#getchipinfo) )(uint32_t devIndex, char \*chipInfo, uint32_t length) | 获取器件对应的编码信息。 | 
26e41f4b71Sopenharmony_ci| int32_t(\* [GetVendorName](#getvendorname) )(uint32_t devIndex, char \*vendorName, uint32_t length) | 获取devIndex对应的模组厂商名。 | 
27e41f4b71Sopenharmony_ci| int32_t(\* [GetChipName](#getchipname) )(uint32_t devIndex, char \*chipName, uint32_t length) | 获取devIndex对应的驱动芯片名。 | 
28e41f4b71Sopenharmony_ci| int32_t(\* [SetGestureMode](#setgesturemode) )(uint32_t devIndex, uint32_t gestureMode) | 设置手势模式。 | 
29e41f4b71Sopenharmony_ci| int32_t(\* [RunCapacitanceTest](#runcapacitancetest) )(uint32_t devIndex, uint32_t testType, char \*result, uint32_t length) | 执行容值自检测试。 | 
30e41f4b71Sopenharmony_ci| int32_t(\* [RunExtraCommand](#runextracommand) )(uint32_t devIndex, [InputExtraCmd](_input_extra_cmd.md) \*cmd) | 执行拓展指令。 | 
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci## 类成员变量说明
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci### GetChipInfo
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci```
39e41f4b71Sopenharmony_ciint32_t(* InputController::GetChipInfo) (uint32_t devIndex, char *chipInfo, uint32_t length)
40e41f4b71Sopenharmony_ci```
41e41f4b71Sopenharmony_ci
42e41f4b71Sopenharmony_ci**描述**
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ci
45e41f4b71Sopenharmony_ci获取器件对应的编码信息。
46e41f4b71Sopenharmony_ci
47e41f4b71Sopenharmony_ci一款产品通常会有多家模组和Driver IC,上层应用如果关注具体器件型号,则通过此接口来获取。
48e41f4b71Sopenharmony_ci
49e41f4b71Sopenharmony_ci**起始版本:** 1.0
50e41f4b71Sopenharmony_ci
51e41f4b71Sopenharmony_ci**参数:**
52e41f4b71Sopenharmony_ci
53e41f4b71Sopenharmony_ci| 名称 | 描述 | 
54e41f4b71Sopenharmony_ci| -------- | -------- |
55e41f4b71Sopenharmony_ci| devIndex | 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 | 
56e41f4b71Sopenharmony_ci| chipInfo | 输出参数,获取的对应设备索引的器件编码信息。 | 
57e41f4b71Sopenharmony_ci| length | 输入参数,保存器件芯片信息的内存长度。 | 
58e41f4b71Sopenharmony_ci
59e41f4b71Sopenharmony_ci**返回:**
60e41f4b71Sopenharmony_ci
61e41f4b71Sopenharmony_ciINPUT_SUCCESS 表示执行成功。
62e41f4b71Sopenharmony_ci
63e41f4b71Sopenharmony_ci其他值表示执行失败,具体错误码查看[RetStatus](_input.md#retstatus)。
64e41f4b71Sopenharmony_ci
65e41f4b71Sopenharmony_ci
66e41f4b71Sopenharmony_ci### GetChipName
67e41f4b71Sopenharmony_ci
68e41f4b71Sopenharmony_ci```
69e41f4b71Sopenharmony_ciint32_t(* InputController::GetChipName) (uint32_t devIndex, char *chipName, uint32_t length)
70e41f4b71Sopenharmony_ci```
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_ci**描述**
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ci获取devIndex对应的驱动芯片名。
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci**起始版本:** 1.0
78e41f4b71Sopenharmony_ci
79e41f4b71Sopenharmony_ci**参数:**
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_ci| 名称 | 描述 | 
82e41f4b71Sopenharmony_ci| -------- | -------- |
83e41f4b71Sopenharmony_ci| devIndex | 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 | 
84e41f4b71Sopenharmony_ci| chipName | 输出参数,获取的对应设备索引的驱动芯片名。 | 
85e41f4b71Sopenharmony_ci| length | 输入参数,保存驱动芯片名的内存长度。 | 
86e41f4b71Sopenharmony_ci
87e41f4b71Sopenharmony_ci**返回:**
88e41f4b71Sopenharmony_ci
89e41f4b71Sopenharmony_ciINPUT_SUCCESS 表示执行成功。
90e41f4b71Sopenharmony_ci
91e41f4b71Sopenharmony_ci其他值表示执行失败,具体错误码查看[RetStatus](_input.md#retstatus)。
92e41f4b71Sopenharmony_ci
93e41f4b71Sopenharmony_ci
94e41f4b71Sopenharmony_ci### GetDeviceType
95e41f4b71Sopenharmony_ci
96e41f4b71Sopenharmony_ci```
97e41f4b71Sopenharmony_ciint32_t(* InputController::GetDeviceType) (uint32_t devIndex, uint32_t *deviceType)
98e41f4b71Sopenharmony_ci```
99e41f4b71Sopenharmony_ci
100e41f4b71Sopenharmony_ci**描述**
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_ci
103e41f4b71Sopenharmony_ci获取devIndex对应的Input设备的类型。
104e41f4b71Sopenharmony_ci
105e41f4b71Sopenharmony_ci**起始版本:** 1.0
106e41f4b71Sopenharmony_ci
107e41f4b71Sopenharmony_ci**参数:**
108e41f4b71Sopenharmony_ci
109e41f4b71Sopenharmony_ci| 名称 | 描述 | 
110e41f4b71Sopenharmony_ci| -------- | -------- |
111e41f4b71Sopenharmony_ci| devIndex | 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 | 
112e41f4b71Sopenharmony_ci| deviceType | 输出参数,获取的对应设备索引的设备类型,具体参考[InputDevType](_input.md#inputdevtype)。 | 
113e41f4b71Sopenharmony_ci
114e41f4b71Sopenharmony_ci**返回:**
115e41f4b71Sopenharmony_ci
116e41f4b71Sopenharmony_ciINPUT_SUCCESS 表示执行成功。
117e41f4b71Sopenharmony_ci
118e41f4b71Sopenharmony_ci其他值表示执行失败,具体错误码查看[RetStatus](_input.md#retstatus)。
119e41f4b71Sopenharmony_ci
120e41f4b71Sopenharmony_ci
121e41f4b71Sopenharmony_ci### GetPowerStatus
122e41f4b71Sopenharmony_ci
123e41f4b71Sopenharmony_ci```
124e41f4b71Sopenharmony_ciint32_t(* InputController::GetPowerStatus) (uint32_t devIndex, uint32_t *status)
125e41f4b71Sopenharmony_ci```
126e41f4b71Sopenharmony_ci
127e41f4b71Sopenharmony_ci**描述**
128e41f4b71Sopenharmony_ci
129e41f4b71Sopenharmony_ci
130e41f4b71Sopenharmony_ci获取电源状态。
131e41f4b71Sopenharmony_ci
132e41f4b71Sopenharmony_ci在系统休眠或者唤醒时,Input服务或电源管理模块获取电源状态,以便驱动IC能正常进入对应的休眠模式。
133e41f4b71Sopenharmony_ci
134e41f4b71Sopenharmony_ci**起始版本:** 1.0
135e41f4b71Sopenharmony_ci
136e41f4b71Sopenharmony_ci**参数:**
137e41f4b71Sopenharmony_ci
138e41f4b71Sopenharmony_ci| 名称 | 描述 | 
139e41f4b71Sopenharmony_ci| -------- | -------- |
140e41f4b71Sopenharmony_ci| devIndex | 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 | 
141e41f4b71Sopenharmony_ci| status | 输出参数,获取的对应设备索引的电源状态,具体参考[PowerStatus](_input.md#powerstatus)。 | 
142e41f4b71Sopenharmony_ci
143e41f4b71Sopenharmony_ci**返回:**
144e41f4b71Sopenharmony_ci
145e41f4b71Sopenharmony_ciINPUT_SUCCESS 表示执行成功。
146e41f4b71Sopenharmony_ci
147e41f4b71Sopenharmony_ci其他值表示执行失败,具体错误码查看[RetStatus](_input.md#retstatus)。
148e41f4b71Sopenharmony_ci
149e41f4b71Sopenharmony_ci
150e41f4b71Sopenharmony_ci### GetVendorName
151e41f4b71Sopenharmony_ci
152e41f4b71Sopenharmony_ci```
153e41f4b71Sopenharmony_ciint32_t(* InputController::GetVendorName) (uint32_t devIndex, char *vendorName, uint32_t length)
154e41f4b71Sopenharmony_ci```
155e41f4b71Sopenharmony_ci
156e41f4b71Sopenharmony_ci**描述**
157e41f4b71Sopenharmony_ci
158e41f4b71Sopenharmony_ci
159e41f4b71Sopenharmony_ci获取devIndex对应的模组厂商名。
160e41f4b71Sopenharmony_ci
161e41f4b71Sopenharmony_ci**起始版本:** 1.0
162e41f4b71Sopenharmony_ci
163e41f4b71Sopenharmony_ci**参数:**
164e41f4b71Sopenharmony_ci
165e41f4b71Sopenharmony_ci| 名称 | 描述 | 
166e41f4b71Sopenharmony_ci| -------- | -------- |
167e41f4b71Sopenharmony_ci| devIndex | 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 | 
168e41f4b71Sopenharmony_ci| vendorName | 输出参数,获取的对应设备索引的模组厂商名。 | 
169e41f4b71Sopenharmony_ci| length | 输入参数,保存模组厂商名的内存长度。 | 
170e41f4b71Sopenharmony_ci
171e41f4b71Sopenharmony_ci**返回:**
172e41f4b71Sopenharmony_ci
173e41f4b71Sopenharmony_ciINPUT_SUCCESS 表示执行成功。
174e41f4b71Sopenharmony_ci
175e41f4b71Sopenharmony_ci其他值表示执行失败,具体错误码查看[RetStatus](_input.md#retstatus)。
176e41f4b71Sopenharmony_ci
177e41f4b71Sopenharmony_ci
178e41f4b71Sopenharmony_ci### RunCapacitanceTest
179e41f4b71Sopenharmony_ci
180e41f4b71Sopenharmony_ci```
181e41f4b71Sopenharmony_ciint32_t(* InputController::RunCapacitanceTest) (uint32_t devIndex, uint32_t testType, char *result, uint32_t length)
182e41f4b71Sopenharmony_ci```
183e41f4b71Sopenharmony_ci
184e41f4b71Sopenharmony_ci**描述**
185e41f4b71Sopenharmony_ci
186e41f4b71Sopenharmony_ci
187e41f4b71Sopenharmony_ci执行容值自检测试。
188e41f4b71Sopenharmony_ci
189e41f4b71Sopenharmony_ci启动不同检测场景下的容值自检测试,并获取测试结果,容值自检项由器件厂商自定义, 一般包括RawData测试、短路检测、开路检测、干扰检测、行列差检测等测试项。
190e41f4b71Sopenharmony_ci
191e41f4b71Sopenharmony_ci**起始版本:** 1.0
192e41f4b71Sopenharmony_ci
193e41f4b71Sopenharmony_ci**参数:**
194e41f4b71Sopenharmony_ci
195e41f4b71Sopenharmony_ci| 名称 | 描述 | 
196e41f4b71Sopenharmony_ci| -------- | -------- |
197e41f4b71Sopenharmony_ci| devIndex | 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 | 
198e41f4b71Sopenharmony_ci| testType | 输入参数,容值测试的测试类型,具体参考[CapacitanceTest](_input.md#capacitancetest)。 | 
199e41f4b71Sopenharmony_ci| result | 输出参数,容值测试的结果,成功则输出“SUCC”,失败则返回对应的错误提示。 | 
200e41f4b71Sopenharmony_ci| length | 输入参数,保存容值测试结果的内存长度。 | 
201e41f4b71Sopenharmony_ci
202e41f4b71Sopenharmony_ci**返回:**
203e41f4b71Sopenharmony_ci
204e41f4b71Sopenharmony_ciINPUT_SUCCESS 表示执行成功。
205e41f4b71Sopenharmony_ci
206e41f4b71Sopenharmony_ci其他值表示执行失败,具体错误码查看[RetStatus](_input.md#retstatus)。
207e41f4b71Sopenharmony_ci
208e41f4b71Sopenharmony_ci
209e41f4b71Sopenharmony_ci### RunExtraCommand
210e41f4b71Sopenharmony_ci
211e41f4b71Sopenharmony_ci```
212e41f4b71Sopenharmony_ciint32_t(* InputController::RunExtraCommand) (uint32_t devIndex, InputExtraCmd *cmd)
213e41f4b71Sopenharmony_ci```
214e41f4b71Sopenharmony_ci
215e41f4b71Sopenharmony_ci**描述**
216e41f4b71Sopenharmony_ci
217e41f4b71Sopenharmony_ci
218e41f4b71Sopenharmony_ci执行拓展指令。
219e41f4b71Sopenharmony_ci
220e41f4b71Sopenharmony_ci**起始版本:** 1.0
221e41f4b71Sopenharmony_ci
222e41f4b71Sopenharmony_ci**参数:**
223e41f4b71Sopenharmony_ci
224e41f4b71Sopenharmony_ci| 名称 | 描述 | 
225e41f4b71Sopenharmony_ci| -------- | -------- |
226e41f4b71Sopenharmony_ci| devIndex | 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 | 
227e41f4b71Sopenharmony_ci| cmd | 输入参数,拓展指令数据包,包括指令编码及参数,具体参考[InputExtraCmd](_input_extra_cmd.md)。 | 
228e41f4b71Sopenharmony_ci
229e41f4b71Sopenharmony_ci**返回:**
230e41f4b71Sopenharmony_ci
231e41f4b71Sopenharmony_ciINPUT_SUCCESS 表示执行成功。
232e41f4b71Sopenharmony_ci
233e41f4b71Sopenharmony_ci其他值表示执行失败,具体错误码查看[RetStatus](_input.md#retstatus)。
234e41f4b71Sopenharmony_ci
235e41f4b71Sopenharmony_ci
236e41f4b71Sopenharmony_ci### SetGestureMode
237e41f4b71Sopenharmony_ci
238e41f4b71Sopenharmony_ci```
239e41f4b71Sopenharmony_ciint32_t(* InputController::SetGestureMode) (uint32_t devIndex, uint32_t gestureMode)
240e41f4b71Sopenharmony_ci```
241e41f4b71Sopenharmony_ci
242e41f4b71Sopenharmony_ci**描述**
243e41f4b71Sopenharmony_ci
244e41f4b71Sopenharmony_ci
245e41f4b71Sopenharmony_ci设置手势模式。
246e41f4b71Sopenharmony_ci
247e41f4b71Sopenharmony_ci上层应用开关手势模式,即设置手势模式的对应使能bit。
248e41f4b71Sopenharmony_ci
249e41f4b71Sopenharmony_ci**起始版本:** 1.0
250e41f4b71Sopenharmony_ci
251e41f4b71Sopenharmony_ci**参数:**
252e41f4b71Sopenharmony_ci
253e41f4b71Sopenharmony_ci| 名称 | 描述 | 
254e41f4b71Sopenharmony_ci| -------- | -------- |
255e41f4b71Sopenharmony_ci| devIndex | 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 | 
256e41f4b71Sopenharmony_ci| gestureMode | 输入参数,手势模式的开关状态。 | 
257e41f4b71Sopenharmony_ci
258e41f4b71Sopenharmony_ci**返回:**
259e41f4b71Sopenharmony_ci
260e41f4b71Sopenharmony_ciINPUT_SUCCESS 表示执行成功。
261e41f4b71Sopenharmony_ci
262e41f4b71Sopenharmony_ci其他值表示执行失败,具体错误码查看[RetStatus](_input.md#retstatus)。
263e41f4b71Sopenharmony_ci
264e41f4b71Sopenharmony_ci
265e41f4b71Sopenharmony_ci### SetPowerStatus
266e41f4b71Sopenharmony_ci
267e41f4b71Sopenharmony_ci```
268e41f4b71Sopenharmony_ciint32_t(* InputController::SetPowerStatus) (uint32_t devIndex, uint32_t status)
269e41f4b71Sopenharmony_ci```
270e41f4b71Sopenharmony_ci
271e41f4b71Sopenharmony_ci**描述**
272e41f4b71Sopenharmony_ci
273e41f4b71Sopenharmony_ci
274e41f4b71Sopenharmony_ci设置电源状态。
275e41f4b71Sopenharmony_ci
276e41f4b71Sopenharmony_ci在系统休眠或者唤醒时,Input服务或电源管理模块设置电源状态,以使驱动IC能正常进入对应的休眠模式。
277e41f4b71Sopenharmony_ci
278e41f4b71Sopenharmony_ci**起始版本:** 1.0
279e41f4b71Sopenharmony_ci
280e41f4b71Sopenharmony_ci**参数:**
281e41f4b71Sopenharmony_ci
282e41f4b71Sopenharmony_ci| 名称 | 描述 | 
283e41f4b71Sopenharmony_ci| -------- | -------- |
284e41f4b71Sopenharmony_ci| devIndex | 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 | 
285e41f4b71Sopenharmony_ci| status | 输入参数,设置的电源状态,Input服务控制Input设备进入resume或者suspend等状态[PowerStatus](_input.md#powerstatus)。 | 
286e41f4b71Sopenharmony_ci
287e41f4b71Sopenharmony_ci**返回:**
288e41f4b71Sopenharmony_ci
289e41f4b71Sopenharmony_ciINPUT_SUCCESS 表示执行成功。
290e41f4b71Sopenharmony_ci
291e41f4b71Sopenharmony_ci其他值表示执行失败,具体错误码查看[RetStatus](_input.md#retstatus)。
292