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