harmony 鸿蒙Input

2022-10-28 浏览 (937)

Input

概述

Input模块驱动接口声明。

本模块为Input服务提供相关驱动接口,包括Input设备的打开和关闭、Input事件获取、设备信息查询、回调函数注册、特性状态控制等接口。

Since:

1.0

Version:

1.0

汇总

文件

名称描述
input_controller.h描述Input设备业务控制相关的接口声明。
input_manager.h描述Input设备管理相关的接口声明。
input_reporter.h描述Input设备数据上报相关的接口声明。
input_type.hInput设备相关的类型定义,定义了Input设备驱动接口所使用的结构体及枚举类型。

名称描述
InputController提供Input设备业务控制相关的接口。
InputManager提供Input设备管理相关的接口。
IInputInterface定义用于提供Input设备驱动程序功能的接口。
InputReporter提供Input设备数据上报相关的接口。
InputEventPackageInput事件数据包结构。
InputHotPlugEvent热插拔事件数据包结构。
InputDevDescInput设备描述信息。
InputEventCb此结构体定义了输入事件回调函数并提供给Input服务使用。
InputHostCb此结构体定义了热插拔事件上报回调函数并提供给Input服务使用。
InputDevAbilityInput设备的能力属性,存储支持事件的位图。
InputDimensionInfoInput设备的维度信息。
InputDevIdentifyInput设备的识别信息。
InputDevAttrInput设备属性。
InputDeviceInfoInput设备基础设备信息。
InputExtraCmd扩展指令的数据结构。

宏定义

名称描述
MAX_INPUT_DEV_NUM   32Input设备数量的最大值。
CHIP_INFO_LEN   10芯片信息长度。
CHIP_NAME_LEN   10芯片名称长度。
VENDOR_NAME_LEN   10厂商名称长度。
DEV_NAME_LEN   64Input设备名称长度。
SELF_TEST_RESULT_LEN   20自测结果长度。
DEV_MANAGER_SERVICE_NAME   "hdf_input_host"Input设备节点服务名称。
DIV_ROUND_UP(nr, d)   (((nr) + (d) - 1) / (d))向上取整计算公式。
BYTE_HAS_BITS   8一个字节所包含的比特数。
BITS_TO_UINT64(count)   DIV_ROUND_UP(count, BYTE_HAS_BITS * sizeof(uint64_t))比特与64位无符号整数的转换公式。
HDF_FF_CNT   (0x7f + 1)Input设备发送力反馈命令的数量最大值。

枚举

名称描述
RetStatus {   INPUT_SUCCESS = 0, INPUT_FAILURE = -1, INPUT_INVALID_PARAM = -2, INPUT_NOMEM = -3,   INPUT_NULL_PTR = -4, INPUT_TIMEOUT = -5, INPUT_UNSUPPORTED = -6 }定义返回值类型。
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 }定义Input设备类型。
PowerStatus { INPUT_RESUME, INPUT_SUSPEND, INPUT_LOW_POWER, INPUT_POWER_STATUS_UNKNOWN }定义电源状态。
CapacitanceTest {   BASE_TEST, FULL_TEST, MMI_TEST, RUNNING_TEST,   TEST_TYPE_UNKNOWN }定义容值测试类型。

函数

名称描述
GetInputInterface (IInputInterface **interface)Input服务通过调用此接口获取操作Input设备的所有接口。

宏定义说明

BITS_TO_UINT64

#define BITS_TO_UINT64( count)   DIV_ROUND_UP(count, BYTE_HAS_BITS * sizeof(uint64_t))

描述:

比特与64位无符号整数的转换公式

BYTE_HAS_BITS

#define BYTE_HAS_BITS   8

描述:

一个字节所包含的比特数

CHIP_INFO_LEN

#define CHIP_INFO_LEN   10

描述:

芯片信息长度

CHIP_NAME_LEN

#define CHIP_NAME_LEN   10

描述:

芯片名称长度

DEV_MANAGER_SERVICE_NAME

#define DEV_MANAGER_SERVICE_NAME   "hdf_input_host"

描述:

Input设备节点服务名称

DEV_NAME_LEN

#define DEV_NAME_LEN   64

描述:

Input设备名称长度

DIV_ROUND_UP

#define DIV_ROUND_UP( nr,  d )   (((nr) + (d) - 1) / (d))

描述:

向上取整计算公式

HDF_FF_CNT

#define HDF_FF_CNT   (0x7f + 1)

描述:

Input设备发送力反馈命令的数量最大值

MAX_INPUT_DEV_NUM

#define MAX_INPUT_DEV_NUM   32

描述:

Input设备数量的最大值

SELF_TEST_RESULT_LEN

#define SELF_TEST_RESULT_LEN   20

描述:

自测试结果长度

VENDOR_NAME_LEN

#define VENDOR_NAME_LEN   10

描述:

厂商名称长度

枚举类型说明

CapacitanceTest

enum CapacitanceTest

描述:

定义容值测试类型。

枚举值描述
BASE_TEST基础容值测试
FULL_TEST全量容值自检测试
MMI_TESTMMI容值测试
RUNNING_TEST老化容值测试
TEST_TYPE_UNKNOWN未知的测试类型

InputDevType

enum InputDevType

描述:

定义Input设备类型。

枚举值描述
INDEV_TYPE_TOUCH触摸屏
INDEV_TYPE_KEY物理按键
INDEV_TYPE_KEYBOARD键盘
INDEV_TYPE_MOUSE鼠标
INDEV_TYPE_BUTTON虚拟按键
INDEV_TYPE_CROWN表冠
INDEV_TYPE_ENCODER自定义编码的特定功能或者事件
INDEV_TYPE_UNKNOWN未知输入设备类型

PowerStatus

enum PowerStatus

描述:

定义电源状态。

枚举值描述
INPUT_RESUME正常唤醒
INPUT_SUSPEND休眠下电模式
INPUT_LOW_POWER休眠低功耗模式
INPUT_POWER_STATUS_UNKNOWN未知电源状态

RetStatus

enum RetStatus

描述:

定义返回值类型。

枚举值描述
INPUT_SUCCESS成功
INPUT_FAILURE失败
INPUT_INVALID_PARAM无效参数
INPUT_NOMEM内存不足
INPUT_NULL_PTR空指针
INPUT_TIMEOUT执行超时
INPUT_UNSUPPORTED特性不支持

函数说明

GetInputInterface()

int32_t GetInputInterface (IInputInterface ** interface)

描述:

Input服务通过调用此接口获取操作Input设备的所有接口。

参数:

名称描述
interface对Input设备进行接口操作的指针,通常在Input服务启动后,通过调用此函数获取Input设备操作接口。

返回:

INPUT_SUCCESS 表示执行成功。

其他值表示执行失败,具体错误码查看RetStatus

你可能感兴趣的鸿蒙文章

harmony 鸿蒙HDI 参数参考

harmony 鸿蒙ActRecognitionEvent

harmony 鸿蒙Alignment

harmony 鸿蒙AllocInfo

harmony 鸿蒙Audio

harmony 鸿蒙AudioAdapter

harmony 鸿蒙AudioAdapterDescriptor

harmony 鸿蒙AudioAttribute

harmony 鸿蒙AudioCapture

harmony 鸿蒙AudioControl

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/bfdafc28c6ff4f7f8a471a6943b9fbf1