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