From 79a468b0f43521b33ab544dd5300e00ceb5aa30c Mon Sep 17 00:00:00 2001 From: guowen666 Date: Mon, 25 Jul 2022 03:04:16 +0000 Subject: [PATCH] input information Signed-off-by: guowen666 --- zh-cn/device_api/hdi/input/input_controller.h | 112 ++--- zh-cn/device_api/hdi/input/input_manager.h | 86 ++-- zh-cn/device_api/hdi/input/input_reporter.h | 50 +-- zh-cn/device_api/hdi/input/input_type.h | 390 ++++++++++-------- 4 files changed, 351 insertions(+), 287 deletions(-) diff --git a/zh-cn/device_api/hdi/input/input_controller.h b/zh-cn/device_api/hdi/input/input_controller.h index e3dab93a..c290cf00 100644 --- a/zh-cn/device_api/hdi/input/input_controller.h +++ b/zh-cn/device_api/hdi/input/input_controller.h @@ -19,7 +19,7 @@ * * @brief Input模块驱动接口声明。 * - * 本模块为Input服务提供相关驱动接口,包括input设备的打开和关闭、input事件获取、设备信息查询、回调函数注册、特性状态控制等接口。 + * 本模块为Input服务提供相关驱动接口,包括Input设备的打开和关闭、Input事件获取、设备信息查询、回调函数注册、特性状态控制等接口。 * * @since 1.0 */ @@ -27,7 +27,7 @@ /** * @file input_controller.h * - * @brief 描述input设备业务控制相关的接口声明。 + * @brief 描述Input设备业务控制相关的接口声明。 * * @since 1.0 * @version 1.0 @@ -43,21 +43,21 @@ extern "C" { #endif /** - * @brief 提供input设备业务控制相关的接口。 + * @brief 提供Input设备业务控制相关的接口。 * * 此类接口包含电源状态的设置、特性的使能、器件信息的获取,以及产线相关的测试功能接口。 */ typedef struct { /** - * @brief 设置电源状态 + * @brief 设置电源状态。 * - * 在系统休眠或者唤醒时,input服务或电源管理模块设置电源状态,以使驱动IC能正常进入对应的休眠模式。 + * 在系统休眠或者唤醒时,Input服务或电源管理模块设置电源状态,以使驱动IC能正常进入对应的休眠模式。 * - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备 - * @param status 设置的电源状态,input服务控制input设备进入resume或者suspend等状态{@link PowerStatus} + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 + * @param status 输入参数,设置的电源状态,Input服务控制Input设备进入resume或者suspend等状态{@link PowerStatus}。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 @@ -65,15 +65,15 @@ typedef struct { int32_t (*SetPowerStatus)(uint32_t devIndex, uint32_t status); /** - * @brief 获取电源状态 + * @brief 获取电源状态。 * - * 在系统休眠或者唤醒时,input服务或电源管理模块获取电源状态,以便驱动IC能正常进入对应的休眠模式。 + * 在系统休眠或者唤醒时,Input服务或电源管理模块获取电源状态,以便驱动IC能正常进入对应的休眠模式。 * - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备 - * @param status 获取的对应设备索引的电源状态 {具体参考 @link PowerStatus} + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 + * @param status 输出参数,获取的对应设备索引的电源状态 {具体参考 @link PowerStatus}。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 @@ -81,13 +81,13 @@ typedef struct { int32_t (*GetPowerStatus)(uint32_t devIndex, uint32_t *status); /** - * @brief 获取devIndex对应的input设备的类型 + * @brief 获取devIndex对应的Input设备的类型。 * - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备 - * @param deviceType 获取的对应设备索引的设备类型 {具体参考 @link InputDevType} + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 + * @param deviceType 输出参数,获取的对应设备索引的设备类型 {具体参考 @link InputDevType}。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 @@ -95,30 +95,30 @@ typedef struct { int32_t (*GetDeviceType)(uint32_t devIndex, uint32_t *deviceType); /** - * @brief 获取器件对应的编码信息 + * @brief 获取器件对应的编码信息。 * * 一款产品通常会有多家模组和Driver IC,上层应用如果关注具体器件型号,则通过此接口来获取。 * - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备 - * @param chipInfo 获取的对应设备索引的器件编码信息 - * @param length 保存器件芯片信息的内存长度 + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 + * @param chipInfo 输出参数,获取的对应设备索引的器件编码信息。 + * @param length 输入参数,保存器件芯片信息的内存长度。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 */ int32_t (*GetChipInfo)(uint32_t devIndex, char *chipInfo, uint32_t length); /** - * @brief 获取devIndex对应的模组厂商名 + * @brief 获取devIndex对应的模组厂商名。 * - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备 - * @param vendorName 获取的对应设备索引的模组厂商名 - * @param length 保存模组厂商名的内存长度 + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 + * @param vendorName 输出参数,获取的对应设备索引的模组厂商名。 + * @param length 输入参数,保存模组厂商名的内存长度。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 @@ -126,14 +126,14 @@ typedef struct { int32_t (*GetVendorName)(uint32_t devIndex, char *vendorName, uint32_t length); /** - * @brief 获取devIndex对应的驱动芯片名 + * @brief 获取devIndex对应的驱动芯片名。 * - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备 - * @param chipName 获取的对应设备索引的驱动芯片名 - * @param length 保存驱动芯片名的内存长度 + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 + * @param chipName 输出参数,获取的对应设备索引的驱动芯片名。 + * @param length 输入参数,保存驱动芯片名的内存长度。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 @@ -141,15 +141,15 @@ typedef struct { int32_t (*GetChipName)(uint32_t devIndex, char *chipName, uint32_t length); /** - * @brief 设置手势模式 + * @brief 设置手势模式。 * - * 上层应用开关手势模式,即设置手势模式的对应使能bit + * 上层应用开关手势模式,即设置手势模式的对应使能bit。 * - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备 - * @param gestureMode 手势模式的开关状态 + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 + * @param gestureMode 输入参数,手势模式的开关状态。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 @@ -157,18 +157,18 @@ typedef struct { int32_t (*SetGestureMode)(uint32_t devIndex, uint32_t gestureMode); /** - * @brief 执行容值自检测试 + * @brief 执行容值自检测试。 * * 启动不同检测场景下的容值自检测试,并获取测试结果,容值自检项由器件厂商自定义, * 一般包括RawData测试、 * 短路检测、开路检测、干扰检测、行列差检测等测试项。 * - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备 - * @param testType 容值测试的测试类型 {具体参考@link CapacitanceTest} - * @param result 容值测试的结果,成功则输出“SUCC”,失败则返回对应的错误提示 - * @param length 保存容值测试结果的内存长度 + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 + * @param testType 输入参数,容值测试的测试类型 {具体参考@link CapacitanceTest}。 + * @param result 输出参数,容值测试的结果,成功则输出“SUCC”,失败则返回对应的错误提示。 + * @param length 输入参数,保存容值测试结果的内存长度。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 @@ -176,13 +176,13 @@ typedef struct { int32_t (*RunCapacitanceTest)(uint32_t devIndex, uint32_t testType, char *result, uint32_t length); /** - * @brief 执行拓展指令 + * @brief 执行拓展指令。 * - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备 - * @param cmd 拓展指令数据包,包括指令编码及参数 {具体参考@link InputExtraCmd} + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 + * @param cmd 输入参数,拓展指令数据包,包括指令编码及参数 {具体参考@link InputExtraCmd}。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 diff --git a/zh-cn/device_api/hdi/input/input_manager.h b/zh-cn/device_api/hdi/input/input_manager.h index 6370a658..213e4e3f 100644 --- a/zh-cn/device_api/hdi/input/input_manager.h +++ b/zh-cn/device_api/hdi/input/input_manager.h @@ -19,7 +19,7 @@ * * @brief Input模块驱动接口声明。 * - * 本模块为Input服务提供相关驱动接口,包括input设备的打开和关闭、input事件获取、设备信息查询、回调函数注册、特性状态控制等接口。 + * 本模块为Input服务提供相关驱动接口,包括Input设备的打开和关闭、Input事件获取、设备信息查询、回调函数注册、特性状态控制等接口。 * * @since 1.0 * @version 1.0 @@ -28,7 +28,7 @@ /** * @file input_manager.h * - * @brief 描述input设备管理相关的接口声明。 + * @brief 描述Input设备管理相关的接口声明。 * * @since 1.0 * @version 1.0 @@ -46,32 +46,32 @@ extern "C" { #endif /** - * @brief 提供input设备管理相关的接口。 + * @brief 提供Input设备管理相关的接口。 * - * 此类接口包含input设备的扫描、打开和关闭、特定设备信息查询,以及所有设备列表信息获取等接口。 + * 此类接口包含Input设备的扫描、打开和关闭、特定设备信息查询,以及所有设备列表信息获取等接口。 */ typedef struct { /** - * @brief input服务用于扫描所有在线设备。 + * @brief Input服务用于扫描所有在线设备。 * - * @param staArr 存放Input设备扫描信息的数组,信息包含设备索引以及设备类型。 - * @param arrLen staArr数组的长度信息。 + * @param staArr 输出参数,存放Input设备扫描信息的数组,信息包含设备索引以及设备类型。 + * @param arrLen 输入参数,staArr数组的长度信息。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * * @since 1.0 */ - int32_t (*ScanInputDevice)(DevDesc *staArr, uint32_t arrLen); + int32_t (*ScanInputDevice)(InputDevDesc *staArr, uint32_t arrLen); /** - * @brief input服务打开对应设备的设备文件 + * @brief Input服务打开对应设备的设备文件。 * - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备。 + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 @@ -79,12 +79,12 @@ typedef struct { int32_t (*OpenInputDevice)(uint32_t devIndex); /** - * @brief input服务关闭对应设备的设备文件 + * @brief Input服务关闭对应设备的设备文件。 * - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备 + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 @@ -92,51 +92,51 @@ typedef struct { int32_t (*CloseInputDevice)(uint32_t devIndex); /** - * @brief input服务获取对应ID的设备信息 + * @brief Input服务获取对应ID的设备信息。 * - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备 - * @param devInfo 即devIndex对应的设备的设备信息{具体参考 @link DeviceInfo} + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 + * @param devInfo 输出参数,即devIndex对应的设备的设备信息{具体参考 @link DeviceInfo}。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 */ - int32_t (*GetInputDevice)(uint32_t devIndex, DeviceInfo **devInfo); + int32_t (*GetInputDevice)(uint32_t devIndex, InputDeviceInfo **devInfo); /** - * @brief input服务获取所有input设备列表的设备信息 + * @brief Input服务获取所有Input设备列表的设备信息。 * - * @param devNum 当前已经注册过的所有input设备的总数 - * @param devInfo input设备列表所对应的设备信息{具体参考 @link DeviceInfo} - * @param size 即指定deviceList数组对应的元素个数 + * @param devNum 输出参数,当前已经注册过的所有Input设备的总数。 + * @param devInfo 输出参数,Input设备列表所对应的设备信息{具体参考 @link DeviceInfo}。 + * @param size 输入参数,即指定deviceList数组对应的元素个数。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 */ - int32_t (*GetInputDeviceList)(uint32_t *devNum, DeviceInfo **devList, uint32_t size); + int32_t (*GetInputDeviceList)(uint32_t *devNum, InputDeviceInfo **devList, uint32_t size); } InputManager; /** - * @brief Defines interfaces for providing driver capabilities of input devices. + * @brief 定义用于提供Input设备驱动程序功能的接口。 */ typedef struct { - InputManager *iInputManager; /**< input设备的设备管理接口 */ - InputController *iInputController; /**< input设备的业务控制接口 */ - InputReporter *iInputReporter; /**< input设备的数据上报接口 */ + InputManager *iInputManager; /**< Input设备的设备管理接口 */ + InputController *iInputController; /**< Input设备的业务控制接口 */ + InputReporter *iInputReporter; /**< Input设备的数据上报接口 */ } IInputInterface; /** - * @brief input服务通过调用此接口获取操作input设备的所有接口。 + * @brief Input服务通过调用此接口获取操作Input设备的所有接口。 * - * @param interface 对input设备进行接口操作的指针,通常在input服务启动后,通过调用此函数获取input设备操作接口 + * @param interface 对Input设备进行接口操作的指针,通常在Input服务启动后,通过调用此函数获取Input设备操作接口。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 @@ -144,12 +144,12 @@ typedef struct { int32_t GetInputInterface(IInputInterface **interface); /** - * @brief input服务通过调用此接口释放操作input设备的所有接口。 + * @brief Input服务通过调用此接口释放操作Input设备的所有接口。 * - * @param inputInterface 对input设备进行接口操作的指针 + * @param inputInterface 对Input设备进行接口操作的指针。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 diff --git a/zh-cn/device_api/hdi/input/input_reporter.h b/zh-cn/device_api/hdi/input/input_reporter.h index 07b6a316..540cbace 100644 --- a/zh-cn/device_api/hdi/input/input_reporter.h +++ b/zh-cn/device_api/hdi/input/input_reporter.h @@ -19,7 +19,7 @@ * * @brief Input模块驱动接口声明。 * - * 本模块为Input服务提供相关驱动接口,包括input设备的打开和关闭、input事件获取、设备信息查询、回调函数注册、特性状态控制等接口。 + * 本模块为Input服务提供相关驱动接口,包括Input设备的打开和关闭、Input事件获取、设备信息查询、回调函数注册、特性状态控制等接口。 * * @since 1.0 * @version 1.0 @@ -28,7 +28,7 @@ /** * @file input_reporter.h * - * @brief 描述input设备数据上报相关的接口声明。 + * @brief 描述Input设备数据上报相关的接口声明。 * * @since 1.0 * @version 1.0 @@ -44,34 +44,34 @@ extern "C" { #endif /** - * @brief 提供input设备数据上报相关的接口。 + * @brief 提供Input设备数据上报相关的接口。 * - * 此类接口包含input设备的数据上报回调函数的注册和注销。 + * 此类接口包含Input设备的数据上报回调函数的注册和注销。 */ typedef struct { /** - * @brief 注册对应设备的回调函数 + * @brief 注册对应设备的回调函数。 * - * input服务通过此接口注册数据回调函数到hdi中,hdi通过此回调函数上报input事件 + * Input服务通过此接口注册数据回调函数到hdi中,hdi通过此回调函数上报Input事件。 * - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备 - * @param callback 回调函数的函数指针 + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 + * @param callback 输入参数,回调函数的函数指针。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 */ - int32_t (*RegisterReportCallback)(uint32_t devIndex, InputReportEventCb *callback); + int32_t (*RegisterReportCallback)(uint32_t devIndex, InputEventCb *callback); /** - * @brief 注销对应设备的回调函数 + * @brief 注销对应设备的回调函数。 * - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备 + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 @@ -79,27 +79,27 @@ typedef struct { int32_t (*UnregisterReportCallback)(uint32_t devIndex); /** - * @brief 注册Input设备的热插拔回调函数 + * @brief 注册Input设备的热插拔回调函数。 * - * input服务通过此接口注册回调函数到hdi中,所有Input设备由此函数进行热插拔事件上报 + * Input服务通过此接口注册回调函数到hdi中,所有Input设备由此函数进行热插拔事件上报。 * - * @param callback 回调函数的函数指针 + * @param callback 输入参数,回调函数的函数指针。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 */ - int32_t (*RegisterHotPlugCallback)(InputReportEventCb *callback); + int32_t (*RegisterHotPlugCallback)(InputHostCb *callback); /** - * @brief 注销Input设备的热插拔回调函数 + * @brief 注销Input设备的热插拔回调函数。 * - * @param 无 + * @param 无。 * - * @return Returns INPUT_SUCCESS 表示执行成功。 - * @return Returns 其他值表示执行失败,具体错误码查看{@link RetSatus}。 + * @return INPUT_SUCCESS 表示执行成功。 + * @return 其他值表示执行失败,具体错误码查看{@link RetSatus}。 * * @since 1.0 * @version 1.0 diff --git a/zh-cn/device_api/hdi/input/input_type.h b/zh-cn/device_api/hdi/input/input_type.h index 6f4a5ab4..4e7e870e 100644 --- a/zh-cn/device_api/hdi/input/input_type.h +++ b/zh-cn/device_api/hdi/input/input_type.h @@ -19,7 +19,7 @@ * * @brief Input模块驱动接口声明。 * - * 本模块为Input服务提供相关驱动接口,包括input设备的打开和关闭、input事件获取、设备信息查询、回调函数注册、特性状态控制等接口。 + * 本模块为Input服务提供相关驱动接口,包括Input设备的打开和关闭、Input事件获取、设备信息查询、回调函数注册、特性状态控制等接口。 * * @since 1.0 * @version 1.0 @@ -28,7 +28,7 @@ /** * @file input_type.h * - * @brief input设备相关的类型定义,定义了input设备驱动接口所使用的结构体及枚举类型。 + * @brief Input设备相关的类型定义,定义了Input设备驱动接口所使用的结构体及枚举类型。 * * @since 1.0 * @version 1.0 @@ -45,287 +45,351 @@ extern "C" { #endif +/** Input设备数量的最大值 */ #define MAX_INPUT_DEV_NUM 32 -#define MAX_NODE_PATH_LEN 64 + +/** 芯片信息长度 */ #define CHIP_INFO_LEN 10 + +/** 芯片名称长度 */ #define CHIP_NAME_LEN 10 + +/** 厂商名称长度 */ #define VENDOR_NAME_LEN 10 + +/** Input设备名称长度 */ +#define DEV_NAME_LEN 64 + +/** 自测试结果长度 */ #define SELF_TEST_RESULT_LEN 20 +/** Input设备节点服务名称 */ +#define DEV_MANAGER_SERVICE_NAME "hdf_input_host" +#ifdef DIV_ROUND_UP +#undef DIV_ROUND_UP +#endif + +/** 向上取整计算公式 */ +#define DIV_ROUND_UP(nr, d) (((nr) + (d) - 1) / (d)) + +/** 一个字节所包含的比特数 */ +#define BYTE_HAS_BITS 8 + +/** 比特与64位无符号整数的转换公式 */ +#define BITS_TO_UINT64(count) DIV_ROUND_UP(count, BYTE_HAS_BITS * sizeof(uint64_t)) + +/** Input设备发送力反馈命令的数量最大值 */ +#define HDF_FF_CNT (0x7f + 1) + /** - * @brief 定义返回值类型 + * @brief 定义返回值类型。 */ enum RetStatus { - /** - * 成功。 - */ + /** 成功 */ INPUT_SUCCESS = 0, - /** - * 失败。 - */ + /** 失败 */ INPUT_FAILURE = -1, - /** - * 无效参数。 - */ + /** 无效参数 */ INPUT_INVALID_PARAM = -2, - /** - * 内存不足。 - */ + /** 内存不足 */ INPUT_NOMEM = -3, - /** - * 空指针。 - */ + /** 空指针 */ INPUT_NULL_PTR = -4, - /** - * 执行超时。 - */ + /** 执行超时 */ INPUT_TIMEOUT = -5, - /** - * 特性不支持。 - */ + /** 特性不支持 */ INPUT_UNSUPPORTED = -6, }; /** - * @brief 定义input设备类型 + * @brief 定义Input设备类型。 */ enum InputDevType { - /** - * 触摸屏。 - */ + /** 触摸屏 */ INDEV_TYPE_TOUCH, - /** - * 物理按键。 - */ + /** 物理按键 */ INDEV_TYPE_KEY, - /** - * 键盘。 - */ + /** 键盘 */ INDEV_TYPE_KEYBOARD, - /** - * 鼠标。 - */ + /** 鼠标 */ INDEV_TYPE_MOUSE, - /** - * 虚拟按键。 - */ + /** 虚拟按键 */ INDEV_TYPE_BUTTON, - /** - * 表冠。 - */ + /** 表冠 */ INDEV_TYPE_CROWN, - /** - * 自定义编码的特定功能或者事件。 - */ + /** 自定义编码的特定功能或者事件 */ INDEV_TYPE_ENCODER, - /** - * 未知输入设备类型。 - */ + /** 未知输入设备类型 */ INDEV_TYPE_UNKNOWN, }; /** - * @brief 定义电源状态 + * @brief 定义电源状态。 */ enum PowerStatus { - /** - * 正常唤醒。 - */ + /** 正常唤醒 */ INPUT_RESUME, - /** - * 休眠下电模式。 - */ + /** 休眠下电模式 */ INPUT_SUSPEND, - /** - * 休眠低功耗模式。 - */ + /** 休眠低功耗模式 */ INPUT_LOW_POWER, - /** - * 未知电源状态。 - */ + /** 未知电源状态 */ INPUT_POWER_STATUS_UNKNOWN, }; /** - * @brief 定义容值测试类型 + * @brief 定义容值测试类型。 */ enum CapacitanceTest { - /** - * 基础容值测试 - */ + /** 基础容值测试 */ BASE_TEST, - /** - * 全量容值自检测试 - */ + /** 全量容值自检测试 */ FULL_TEST, - /** - * MMI容值测试 - */ + /** MMI容值测试 */ MMI_TEST, - /** - * 老化容值测试 - */ + /** 老化容值测试 */ RUNNING_TEST, - /** - * 未知的测试类型 - */ + /** 未知的测试类型 */ TEST_TYPE_UNKNOWN, }; /** - * @brief input事件数据包结构 + * @brief Input事件数据包结构。 */ typedef struct { - /** - * 输入事件的属性 - */ + /** 输入事件的属性 */ uint32_t type; - /** - * 输入事件的特定编码项 - */ + /** 输入事件的特定编码项 */ uint32_t code; - /** - * 输入事件编码项对应的值 - */ + /** 输入事件编码项对应的值 */ int32_t value; - /** - * 输入事件对应的时间戳 - */ + /** 输入事件对应的时间戳 */ uint64_t timestamp; -} EventPackage; +} InputEventPackage; /** - * @brief 此结构体定义了输入事件回调函数并提供给input服务使用 + * @brief 热插拔事件数据包结构。 + */ +typedef struct { + /** 设备索引 */ + uint32_t devIndex; + + /** 设备类型 */ + uint32_t devType; + + /** 设备状态。 + * + * 1: 离线。 + * 0: 在线。 + * + */ + uint32_t status; +} InputHotPlugEvent; + +/** + * @brief Input设备描述信息。 + */ +typedef struct { + /** 设备索引 */ + uint32_t devIndex; + + /** 设备类型 */ + uint32_t devType; +} InputDevDesc; + +/** + * @brief 此结构体定义了输入事件回调函数并提供给Input服务使用。 */ typedef struct { /** - * @brief 输入事件数据上报的回调函数 + * @brief 输入事件数据上报的回调函数。 * - * @param eventData 驱动上报的input事件数据 - * @param count Input事件数据包的个数 - * @param devIndex Input设备索引,用于标志多个input设备,取值从0开始,最多支持32个设备 + * @param eventData 输入参数,驱动上报的Input事件数据。 + * @param count 输入参数,Input事件数据包的个数。 + * @param devIndex 输入参数,Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 * * @since 1.0 * @version 1.0 */ - void (*ReportEventPkgCallback)(const EventPackage **pkgs, uint32_t count, uint32_t devIndex); + void (*EventPkgCallback)(const InputEventPackage **pkgs, uint32_t count, uint32_t devIndex); +} InputEventCb; +/** + * @brief 此结构体定义了热插拔事件上报回调函数并提供给Input服务使用。 + */ +typedef struct { /** - * @brief 热插拔事件上报的回调函数 + * @brief 热插拔事件上报的回调函数。 * - * @param event 上报的热插拔事件数据 + * @param event 输入参数,上报的热插拔事件数据。 * * @since 1.0 * @version 1.0 */ - void (*ReportHotPlugEventCallback)(const HotPlugEvent* event); -} InputReportEventCb; + void (*HotPlugCallback)(const InputHotPlugEvent* event); +} InputHostCb; /** - * @brief input设备基础设备信息 + * @brief Input设备的能力属性,存储支持事件的位图。 + * + * 用位的方式来表示该Input设备能够上报的事件类型。 + * */ typedef struct { - /** - * 设备索引 - */ - uint32_t devIndex; + /** 设备属性 */ + uint64_t devProp[BITS_TO_UINT64(INPUT_PROP_CNT)]; - /** - * 设备对应的文件描述符 - */ - int32_t fd; + /** 用于记录支持的事件类型的位图 */ + uint64_t eventType[BITS_TO_UINT64(EV_CNT)]; - /** - * 设备对应的服务 - */ - void *service; + /** 记录支持的绝对坐标的位图 */ + uint64_t absCode[BITS_TO_UINT64(ABS_CNT)]; - /** - * 设备对应的事件监听器 - */ - void *listener; + /** 记录支持的相对坐标的位图 */ + uint64_t relCode[BITS_TO_UINT64(REL_CNT)]; - /** - * 设备类型 - */ - uint32_t devType; + /** 记录支持的按键值的位图 */ + uint64_t keyCode[BITS_TO_UINT64(KEY_CNT)]; - /** - * 电源状态 - */ - uint32_t powerStatus; + /** 记录设备支持的指示灯的位图 */ + uint64_t ledCode[BITS_TO_UINT64(LED_CNT)]; - /** - * 驱动芯片编码信息 - */ + /** 记录设备支持的其他功能的位图 */ + uint64_t miscCode[BITS_TO_UINT64(MSC_CNT)]; + + /** 记录设备支持的声音或警报的位图 */ + uint64_t soundCode[BITS_TO_UINT64(SND_CNT)]; + + /** 记录设备支持的作用力功能的位图 */ + uint64_t forceCode[BITS_TO_UINT64(HDF_FF_CNT)]; + + /** 记录设备支持的开关功能的位图 */ + uint64_t switchCode[BITS_TO_UINT64(SW_CNT)]; + + /** 按键状态的位图 */ + uint64_t keyType[BITS_TO_UINT64(KEY_CNT)]; + + /** led状态的位图 */ + uint64_t ledType[BITS_TO_UINT64(LED_CNT)]; + + /** 声音状态的位图 */ + uint64_t soundType[BITS_TO_UINT64(SND_CNT)]; + + /** 开关状态的位图 */ + uint64_t switchType[BITS_TO_UINT64(SW_CNT)]; +} InputDevAbility; + +/** + * @brief Input设备的维度信息。 + */ +typedef struct { + /** 坐标轴 */ + int32_t axis; + + /** 记录各个坐标的最小值 */ + int32_t min; + + /** 记录各个坐标的最大值 */ + int32_t max; + + /** 记录各个坐标的分辨率 */ + int32_t fuzz; + + /** 记录各个坐标的基准值 */ + int32_t flat; + + /** 范围 */ + int32_t range; +} InputDimensionInfo; + +/** + * @brief Input设备的识别信息。 + */ +typedef struct { + /** 总线类型 */ + uint16_t busType; + + /** 生产商编号 */ + uint16_t vendor; + + /** 产品编号 */ + uint16_t product; + + /** 版本号 */ + uint16_t version; +} InputDevIdentify; + +/** + * @brief Input设备属性。 + */ +typedef struct { + /** 设备名 */ + char devName[DEV_NAME_LEN]; + + /** 设备识别信息 */ + InputDevIdentify id; + + /** 设备维度信息 */ + InputDimensionInfo axisInfo[ABS_CNT]; +} InputDevAttr; + +/** + * @brief Input设备基础设备信息。 + */ +typedef struct { + /** 设备索引 */ + uint32_t devIndex; + + /** 设备类型 */ + uint32_t devType; + + /** 驱动芯片编码信息 */ char chipInfo[CHIP_INFO_LEN]; - /** - * 模组厂商名 - */ + /** 模组厂商名 */ char vendorName[VENDOR_NAME_LEN]; - /** - * 驱动芯片型号 - */ + /** 驱动芯片型号 */ char chipName[CHIP_NAME_LEN]; - /** - * 设备文件路径 - */ - char devNodePath[MAX_NODE_PATH_LEN]; - - /** - * x方向分辨率 - */ - uint32_t solutionX; + /** 设备属性 */ + InputDevAttr attrSet; - /** - * y方向分辨率 - */ - uint32_t solutionY; - - /** - * 数据上报回调函数 {@link InputReportEventCb} - */ - InputReportEventCb *callback; -} DeviceInfo; + /** 设备能力属性 */ + InputDevAbility abilitySet; +} InputDeviceInfo; /** - * @brief 扩展指令的数据结构 + * @brief 扩展指令的数据结构。 */ typedef struct { - /** - * 指令对应的编码 - */ + /** 指令对应的编码 */ const char *cmdCode; - /** - * 指令传输的数据 - */ + /** 指令传输的数据 */ const char *cmdValue; } InputExtraCmd; -- Gitee