_input.md 7.9 KB
Newer Older
D
hdi api  
duangavin123 已提交
1 2 3 4 5 6 7 8 9 10
# Input


## **汇总**


### 文件

  | 文件 | 描述 | 
| -------- | -------- |
L
liyan 已提交
11 12 13 14
| [input_controller.h](input__controller_8h.md) | 描述Input设备业务控制相关的接口声明。 | 
| [input_manager.h](input__manager_8h.md) | 描述Input设备管理相关的接口声明。 | 
| [input_reporter.h](input__reporter_8h.md) | 描述Input设备数据上报相关的接口声明。 | 
| [input_type.h](input__type_8h.md) | Input设备相关的类型定义,定义了Input设备驱动接口所使用的结构体及枚举类型。 | 
D
hdi api  
duangavin123 已提交
15 16 17 18 19 20


### 类

  | 类 | 描述 | 
| -------- | -------- |
L
liyan 已提交
21 22
| [InputController](_input_controller.md) | 提供Input设备业务控制相关的接口。 [更多...](_input_controller.md) | 
| [InputManager](_input_manager.md) | 提供Input设备管理相关的接口。 [更多...](_input_manager.md) | 
D
hdi api  
duangavin123 已提交
23
| [IInputInterface](_i_input_interface.md) | 定义用于提供输入设备驱动能力的接口。[更多...](_i_input_interface.md) | 
L
liyan 已提交
24
| [InputReporter](_input_reporter.md) | 提供Input设备数据上报相关的接口。 [更多...](_input_reporter.md) | 
25
| [InputEventPackage](_event_package.md) | Input事件数据包结构。 [更多...](_event_package.md) | 
L
liyan 已提交
26 27 28 29 30 31 32 33 34
| [InputHotPlugEvent](_input_hotplug_event.md) | 热插拔事件数据包结构。 [更多...](_input_hotplug_event.md) | 
| [InputDevDesc](_input_dev_desc.md) | Input设备描述信息。 [更多...](_input_dev_desc.md) | 
| [InputEventCb](_input_report_event_cb.md) | 此结构体定义了输入事件回调函数并提供给Input服务使用。 [更多...](_input_report_event_cb.md) | 
| [InputHostCb](_input_host_cb.md) | 此结构体定义了热插拔事件上报回调函数并提供给Input服务使用。 [更多...](_input_host_cb.md) | 
| [InputDevAbility](_input_dev_ability.md) | Input设备的能力属性,存储支持事件的位图。 [更多...](_input_dev_ability.md) | 
| [InputDimensionInfo](_input_dimension_info.md) | Input设备的维度信息。 [更多...](_input_dimension_info.md) | 
| [InputDevIdentify](_input_dev_identify.md) | Input设备的识别信息。 [更多...](_input_dev_identify.md) | 
| [InputDevAttr](_input_dev_attr.md) | Input设备属性。 [更多...](_input_dev_attr.md) | 
| [InputDeviceInfo](_device_info.md) | Input设备基础设备信息。 [更多...](_device_info.md) | 
L
liyan 已提交
35
| [InputExtraCmd](_input_extra_cmd.md) | 扩展指令的数据结构。 [更多...](_input_extra_cmd.md) | 
D
hdi api  
duangavin123 已提交
36 37 38 39 40 41 42


### 宏定义

  | 宏定义 | 描述 | 
| -------- | -------- |
| **MAX_INPUT_DEV_NUM**   32 | Input设备最大数量。 | 
43
| **DEV_NAME_LEN**   64 | Input设备名称长度。 | 
D
hdi api  
duangavin123 已提交
44 45 46 47
| **CHIP_INFO_LEN**   10 | 芯片信息长度。 | 
| **CHIP_NAME_LEN**   10 | 芯片名称长度。 | 
| **VENDOR_NAME_LEN**   10 | 厂商名称长度。 | 
| **SELF_TEST_RESULT_LEN**   20 | 自测结果长度。 | 
48
| **DEV_MANAGER_SERVICE_NAME**   "hdf_input_host" | Input设备节点服务名称。 | 
49 50 51 52 53
| **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设备发送力反馈命令的数量最大值。|

D
hdi api  
duangavin123 已提交
54 55 56

### 枚举

D
hdi api  
duangavin123 已提交
57
  | 枚举 | 描述 | 
D
hdi api  
duangavin123 已提交
58
| -------- | -------- |
L
liyan 已提交
59 60 61 62
| [RetStatus](#retstatus) { INPUT_SUCCESS = 0, INPUT_FAILURE = -1, INPUT_INVALID_PARAM = -2, INPUT_NOMEM = -3,   INPUT_NULL_PTR = -4, INPUT_TIMEOUT = -5, INPUT_UNSUPPORTED = -6 } | 定义返回值类型。 [更多...](#retstatus) | 
| [InputDevType](#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设备类型。 [更多...](#inputdevtype) | 
| [PowerStatus](#powerstatus) { INPUT_RESUME, INPUT_SUSPEND, INPUT_LOW_POWER, INPUT_POWER_STATUS_UNKNOWN } | 定义电源状态。 [更多...](#powerstatus) | 
| [CapacitanceTest](#capacitancetest) { BASE_TEST, FULL_TEST, MMI_TEST, RUNNING_TEST,   TEST_TYPE_UNKNOWN } | 定义容值测试类型。 [更多...](#capacitancetest) | 
D
hdi api  
duangavin123 已提交
63 64 65 66 67 68


### 函数

  | 函数 | 描述 | 
| -------- | -------- |
L
liyan 已提交
69
| [GetInputInterface](#getinputinterface) ([IInputInterface](_i_input_interface.md) \*\*interface) | Input服务通过调用此接口获取操作Input设备的所有接口。 [更多...](#getinputinterface) | 
70
| [ReleaseInputInterface](#releaseinputinterface) ([IInputInterface](_i_input_interface.md) \*\*inputInterface) | Input服务通过调用此接口释放操作Input设备的所有接口。 [更多...](#releaseinputinterface) | 
D
hdi api  
duangavin123 已提交
71 72 73 74 75 76


## **详细描述**

Input模块驱动接口声明。

L
liyan 已提交
77
本模块为Input服务提供相关驱动接口,包括Input设备的打开和关闭、Input事件获取、设备信息查询、回调函数注册、特性状态控制等接口。
D
hdi api  
duangavin123 已提交
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

**Since:**

1.0

**Version:**

1.0


## **枚举类型说明**


### CapacitanceTest

  
```
enum CapacitanceTest
```

**描述:**

D
hdi api  
duangavin123 已提交
100
定义容值测试类型。
D
hdi api  
duangavin123 已提交
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

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


### InputDevType

  
```
enum InputDevType
```

**描述:**

D
hdi api  
duangavin123 已提交
120
定义Input设备类型。
D
hdi api  
duangavin123 已提交
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142

  | 枚举值 | 描述 | 
| -------- | -------- |
| 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
```

**描述:**

D
hdi api  
duangavin123 已提交
143
定义电源状态。
D
hdi api  
duangavin123 已提交
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161

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


### RetStatus

  
```
enum RetStatus
```

**描述:**

D
hdi api  
duangavin123 已提交
162
定义返回值类型。
D
hdi api  
duangavin123 已提交
163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186

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


## **函数说明**


### GetInputInterface()

  
```
int32_t GetInputInterface (IInputInterface **interface)
```

**描述:**

L
liyan 已提交
187
Input服务通过调用此接口获取操作Input设备的所有接口。
D
hdi api  
duangavin123 已提交
188 189 190 191 192

**参数:**

  | 名称 | 描述 | 
| -------- | -------- |
193
| interface | 对Input设备进行接口操作的指针,通常在Input服务启动后,通过调用此函数获取Input设备操作接口。 | 
D
hdi api  
duangavin123 已提交
194 195 196

**返回:**

D
hdi api  
duangavin123 已提交
197
INPUT_SUCCESS 表示执行成功。
D
hdi api  
duangavin123 已提交
198

L
liyan 已提交
199
其他值表示执行失败,具体错误码查看[RetStatus](#retstatus)
D
hdi api  
duangavin123 已提交
200 201 202 203 204 205 206 207

**Since:**

1.0

**Version:**

1.0
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229

### ReleaseInputInterface()

  
```
int32_t ReleaseInputInterface (IInputInterface *inputInterface)
```

**描述:**

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

**参数:**

| 名称 | 描述 | 
| -------- | -------- |
| inputInterface| 对Input设备进行接口操作的指针。 | 

**返回:**

INPUT_SUCCESS 表示执行成功。

L
liyan 已提交
230
其他值表示执行失败,具体错误码查看[RetStatus](#retstatus)
231 232 233 234 235 236 237 238

**Since:**

1.0

**Version:**

1.0