1# 输入设备 2 3 4输入设备管理模块,用于监听输入设备连接、断开和变化,并查看输入设备相关信息。比如监听鼠标插拔,并获取鼠标的id、name和指针移动速度等信息。 5 6 7> **说明**:<br> 8> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 9 10 11## 导入模块 12 13 14```js 15import inputDevice from '@ohos.multimodalInput.inputDevice'; 16``` 17 18 19## inputDevice.getDeviceIds 20 21getDeviceIds(callback: AsyncCallback<Array<number>>): void 22 23获取所有输入设备的id列表,使用callback方式作为异步方法。 24 25**系统能力**:SystemCapability.MultimodalInput.Input.InputDevice 26 27**参数**: 28 29| 参数 | 类型 | 必填 | 说明 | 30| -------- | ---------------------------------------- | ---- | ----- | 31| callback | AsyncCallback<Array<number>> | 是 | 回调函数。 | 32 33**示例**: 34 35```js 36inputDevice.getDeviceIds((ids)=>{ 37 console.log("The device ID list is: " + ids); 38}); 39``` 40 41## inputDevice.getDeviceIds 42 43getDeviceIds(): Promise<Array<number>> 44 45获取所有输入设备的id列表,使用Promise方式作为异步方法。 46 47**系统能力**:SystemCapability.MultimodalInput.Input.InputDevice 48 49**返回值**: 50 51| 参数 | 说明 | 52| ---------------------------------- | ------------------- | 53| Promise<Array<number>> | Promise实例,用于异步获取结果。 | 54 55**示例**: 56 57```js 58inputDevice.getDeviceIds().then((ids)=>{ 59 console.log("The device ID list is: " + ids); 60}); 61``` 62 63## inputDevice.getDevice 64 65getDevice(deviceId: number, callback: AsyncCallback<InputDeviceData>): void 66 67获取输入设备的描述信息,使用callback方式作为异步方法。 68 69**系统能力**:SystemCapability.MultimodalInput.Input.InputDevice 70 71**参数**: 72 73| 参数 | 类型 | 必填 | 说明 | 74| -------- | ---------------------------------------- | ---- | --------------------------- | 75| deviceId | number | 是 | 需要获取信息的设备id。 | 76| callback | AsyncCallback<[InputDeviceData](#inputdevicedata)> | 是 | 回调函数,异步返回InputDeviceData对象。 | 77 78**示例**: 79 80```js 81// 示例获取设备id为1的设备name信息。 82inputDevice.getDevice(1, (inputDevice)=>{ 83 console.log("The device name is: " + inputDevice.name); 84}); 85``` 86 87## inputDevice.getDevice 88 89getDevice(deviceId: number): Promise<InputDeviceData> 90 91获取输入设备的描述信息,使用Promise方式作为异步方法。 92 93**系统能力**:SystemCapability.MultimodalInput.Input.InputDevice 94 95**参数**: 96 97| 参数 | 类型 | 必填 | 说明 | 98| -------- | ------ | ---- | ------------ | 99| deviceId | number | 是 | 需要获取信息的设备id。 | 100 101**返回值**: 102 103| 参数 | 说明 | 104| ---------------------------------------- | ------------------- | 105| Promise<[InputDeviceData](#inputdevicedata)> | Promise实例,用于异步获取结果。 | 106 107**示例**: 108 109```js 110// 示例获取设备id为1的设备name信息。 111inputDevice.getDevice(1).then((inputDevice)=>{ 112 console.log("The device name is: " + inputDevice.name); 113}); 114``` 115 116 117 118## InputDeviceData 119 120输入设备的描述信息。 121 122**系统能力**:以下各项对应的系统能力均为SystemCapability.MultimodalInput.Input.InputDevice 123 124| 名称 | 参数类型 | 说明 | 125| -------------------- | -------------------------------------- | ---------------------------------------- | 126| id | number | 输入设备的唯一标识,同一个物理设备反复插拔,其设备id会发生变化。 | 127| name | string | 输入设备的名字。 | 128| sources | Array<[SourceType](#sourcetype)> | 输入设备支持的源类型。比如有的键盘上附带触摸板,则此设备有keyboard和touchpad两种输入源。 | 129| axisRanges | Array<[axisRanges](#axisrange)> | 输入设备的轴信息。 | 130 131## AxisType<sup>9+</sup> 132 133输入设备的轴类型。 134 135## AxisRange 136 137输入设备的轴信息。 138 139**系统能力**: 以下各项对应的系统能力均为SystemCapability.MultimodalInput.Input.InputDevice 140 141| 名称 | 参数类型 | 说明 | 142| ------ | ------------------------- | -------- | 143| source | [SourceType](#sourcetype) | 轴的输入源类型。 | 144| axis | [AxisType](#axistype) | 轴的类型 | 145| max | number | 轴上报的最大值 | 146| min | number | 轴上报的最小值 | 147 148 149## SourceType 150 151定义这个轴的输入源类型。比如鼠标设备可上报x轴事件,则x轴的源就是鼠标。 152 153**系统能力**:以下各项对应的系统能力均为SystemCapability.MultimodalInput.Input.InputDevice 154 155| 名称 | 参数类型 | 说明 | 156| ----------- | ------ | ----------- | 157| keyboard | string | 表示输入设备是键盘。 | 158| touchscreen | string | 表示输入设备是触摸屏。 | 159| mouse | string | 表示输入设备是鼠标。 | 160| trackball | string | 表示输入设备是轨迹球。 | 161| touchpad | string | 表示输入设备是触摸板。 | 162| joystick | string | 表示输入设备是操纵杆。 | 163