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