1# @ohos.multimodalInput.inputDevice (Input Device) (System API) 2 3 4The **inputDevice** module allows you to listen for hot swap events of input devices and query information about input devices. 5 6 7> **NOTE** 8> 9> The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version. 10> 11> This topic describes only system APIs provided by the module. For details about its public APIs, see [@ohos.multimodalInput.inputDevice (Input Device)](js-apis-inputdevice.md). 12 13 14## Modules to Import 15 16```js 17import { inputDevice } from '@kit.InputKit'; 18``` 19 20## inputDevice.setKeyboardRepeatDelay<sup>10+</sup> 21 22setKeyboardRepeatDelay(delay: number, callback: AsyncCallback<void>): void 23 24Sets the keyboard repeat delay. This API uses an asynchronous callback to return the result. 25 26**System capability**: SystemCapability.MultimodalInput.Input.InputDevice 27 28**System API**: This is a system API. 29 30**Parameters** 31 32| Name | Type | Mandatory| Description | 33| -------- | ------ | ---- | ------------------------------------------------------------ | 34| delay | number | Yes | Keyboard repeat delay, in ms. The value range is [300, 1000] and the default value is **500**.| 35| callback | AsyncCallback<void> | Yes | Callback used to return the result.| 36 37**Error codes** 38 39For details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 40 41| ID | Error Message | 42| ---- | --------------------- | 43| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed. | 44 45**Example** 46 47```js 48try { 49 inputDevice.setKeyboardRepeatDelay(350, (error: Error) => { 50 if (error) { 51 console.log(`Set keyboard repeat delay failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 52 return; 53 } 54 console.log(`Set keyboard repeat delay success`); 55 }); 56} catch (error) { 57 console.log(`Set keyboard repeat delay failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 58} 59``` 60 61## inputDevice.setKeyboardRepeatDelay<sup>10+</sup> 62 63setKeyboardRepeatDelay(delay: number): Promise<void> 64 65Sets the keyboard repeat delay. This API uses a promise to return the result. 66 67**System capability**: SystemCapability.MultimodalInput.Input.InputDevice 68 69**System API**: This is a system API. 70 71**Parameters** 72 73| Name | Type | Mandatory | Description | 74| ----- | ------ | ---- | ----------------------------------- | 75| delay | number | Yes | Keyboard repeat delay, in ms. The value range is [300, 1000] and the default value is **500**.| 76 77**Return value** 78 79| Parameters | Description | 80| ------------------- | ---------------- | 81| Promise<void> | Promise used to return the result.| 82 83**Error codes** 84 85For details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 86 87| ID | Error Message | 88| ---- | --------------------- | 89| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed. | 90 91**Example** 92 93```js 94try { 95 inputDevice.setKeyboardRepeatDelay(350).then(() => { 96 console.log(`Set keyboard repeat delay success`); 97 }); 98} catch (error) { 99 console.log(`Set keyboard repeat delay failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 100} 101``` 102 103## inputDevice.getKeyboardRepeatDelay<sup>10+</sup> 104 105getKeyboardRepeatDelay(callback: AsyncCallback<number>): void 106 107Obtains the keyboard repeat delay. This API uses an asynchronous callback to return the result. 108 109**System capability**: SystemCapability.MultimodalInput.Input.InputDevice 110 111**System API**: This is a system API. 112 113**Parameters** 114 115| Name | Type | Mandatory| Description | 116| -------- | ------ | ---- | ------------------------------------------------------------ | 117| callback | AsyncCallback<number> | Yes | Callback used to return the result.| 118 119**Error codes** 120 121For details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 122 123| ID | Error Message | 124| ---- | --------------------- | 125| 202 | SystemAPI permission error | 126| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed. | 127 128**Example** 129 130```js 131try { 132 inputDevice.getKeyboardRepeatDelay((error: Error, delay: Number) => { 133 if (error) { 134 console.log(`Get keyboard repeat delay failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 135 return; 136 } 137 console.log(`Get keyboard repeat delay success`); 138 }); 139} catch (error) { 140 console.log(`Get keyboard repeat delay failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 141} 142``` 143 144## inputDevice.getKeyboardRepeatDelay<sup>10+</sup> 145 146getKeyboardRepeatDelay(): Promise<number> 147 148Obtains the keyboard repeat delay. This API uses a promise to return the result. 149 150**System capability**: SystemCapability.MultimodalInput.Input.InputDevice 151 152**System API**: This is a system API. 153 154**Return value** 155 156| Parameters | Description | 157| --------------------- | ------------------- | 158| Promise<number> | Promise used to return the result.| 159 160**Error codes** 161 162For details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 163 164| ID | Error Message | 165| ---- | --------------------- | 166| 202 | SystemAPI permission error | 167| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed. | 168 169**Example** 170 171```js 172try { 173 inputDevice.getKeyboardRepeatDelay().then((delay: Number) => { 174 console.log(`Get keyboard repeat delay success`); 175 }); 176} catch (error) { 177 console.log(`Get keyboard repeat delay failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 178} 179``` 180 181## inputDevice.setKeyboardRepeatRate<sup>10+</sup> 182 183setKeyboardRepeatRate(rate: number, callback: AsyncCallback<void>): void 184 185Sets the keyboard repeat rate. This API uses an asynchronous callback to return the result. 186 187**System capability**: SystemCapability.MultimodalInput.Input.InputDevice 188 189**System API**: This is a system API. 190 191**Parameters** 192 193| Name | Type | Mandatory| Description | 194| -------- | ------ | ---- | ------------------------------------------------------------ | 195| rate | number | Yes | Keyboard repeat rate, in ms/time. The value range is [36, 100] and the default value is 50.| 196| callback | AsyncCallback<void> | Yes | Callback used to return the result.| 197 198**Error codes** 199 200For details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 201 202| ID | Error Message | 203| ---- | --------------------- | 204| 202 | SystemAPI permission error | 205| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed. | 206 207**Example** 208 209```js 210try { 211 inputDevice.setKeyboardRepeatRate(60, (error: Error) => { 212 if (error) { 213 console.log(`Set keyboard repeat rate failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 214 return; 215 } 216 console.log(`Set keyboard repeat rate success`); 217 }); 218} catch (error) { 219 console.log(`Set keyboard repeat rate failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 220} 221``` 222 223## inputDevice.setKeyboardRepeatRate<sup>10+</sup> 224 225setKeyboardRepeatRate(rate: number): Promise<void> 226 227Sets the keyboard repeat rate. This API uses a promise to return the result. 228 229**System capability**: SystemCapability.MultimodalInput.Input.InputDevice 230 231**System API**: This is a system API. 232 233**Parameters** 234 235| Name | Type | Mandatory | Description | 236| ----- | ------ | ---- | ----------------------------------- | 237| rate | number | Yes | Keyboard repeat rate, in ms/time. The value range is [36, 100] and the default value is 50.| 238 239**Return value** 240 241| Parameters | Description | 242| ------------------- | ---------------- | 243| Promise<void> | Promise used to return the result.| 244 245**Error codes** 246 247For details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 248 249| ID | Error Message | 250| ---- | --------------------- | 251| 202 | SystemAPI permission error | 252| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed. | 253 254**Example** 255 256```js 257try { 258 inputDevice.setKeyboardRepeatRate(60).then(() => { 259 console.log(`Set keyboard repeat rate success`); 260 }); 261} catch (error) { 262 console.log(`Set keyboard repeat rate failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 263} 264``` 265 266## inputDevice.getKeyboardRepeatRate<sup>10+</sup> 267 268getKeyboardRepeatRate(callback: AsyncCallback<number>): void 269 270Obtains the keyboard repeat rate. This API uses an asynchronous callback to return the result. 271 272**System capability**: SystemCapability.MultimodalInput.Input.InputDevice 273 274**System API**: This is a system API. 275 276**Parameters** 277 278| Name | Type | Mandatory | Description | 279| -------- | --------------------------- | ---- | -------------- | 280| callback | AsyncCallback<number> | Yes | Callback used to return the result.| 281 282**Error codes** 283 284For details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 285 286| ID | Error Message | 287| ---- | --------------------- | 288| 202 | SystemAPI permission error | 289| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed. | 290 291**Example** 292 293```js 294try { 295 inputDevice.getKeyboardRepeatRate((error: Error, rate: Number) => { 296 if (error) { 297 console.log(`Get keyboard repeat rate failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 298 return; 299 } 300 console.log(`Get keyboard repeat rate success`); 301 }); 302} catch (error) { 303 console.log(`Get keyboard repeat rate failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 304} 305``` 306 307## inputDevice.getKeyboardRepeatRate<sup>10+</sup> 308 309getKeyboardRepeatRate(): Promise<number> 310 311Obtains the keyboard repeat rate. This API uses a promise to return the result. 312 313**System capability**: SystemCapability.MultimodalInput.Input.InputDevice 314 315**System API**: This is a system API. 316 317**Return value** 318 319| Parameters | Description | 320| --------------------- | ------------------- | 321| Promise<number> | Promise used to return the result.| 322 323**Error codes** 324 325For details about the error codes, see [Universal Error Codes](../errorcode-universal.md). 326 327| ID | Error Message | 328| ---- | --------------------- | 329| 202 | SystemAPI permission error | 330| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed. | 331 332**Example** 333 334```js 335try { 336 inputDevice.getKeyboardRepeatRate().then((rate: Number) => { 337 console.log(`Get keyboard repeat rate success`); 338 }); 339} catch (error) { 340 console.log(`Get keyboard repeat rate failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 341} 342``` 343 344## inputDevice.setInputDeviceEnabled<sup>18+</sup> 345 346setInputDeviceEnabled(deviceId: number, enabled: boolean): Promise<void> 347 348Sets the input switch status of an input device. Take the touchscreen as an example. If the input switch is off, the touchscreen does not respond when being touched. If the input switch is on, the touchscreen wakes up when being touched. 349 350**Required permissions**: ohos.permission.INPUT_DEVICE_CONTROLLER 351 352**System capability**: SystemCapability.MultimodalInput.Input.InputDevice 353 354**System API**: This is a system API. 355 356**Parameters** 357 358| Name | Type | Mandatory| Description | 359| -------- | ------- | ---- | ------------------------- | 360| deviceId | number | Yes | Device ID. | 361| enabled | boolean | Yes | Whether to enable input switch of the input device. The value true indicates that the input switch is enabled, and the value **false** indicates the opposite.| 362 363**Error codes** 364 365For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Input Device Error Codes](errorcode-inputdevice.md). 366 367 368| ID| Error Message | 369| -------- | ------------------------------------------------------------ | 370| 201 | Permission denied. | 371| 202 | Not system application. | 372| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed. | 373| 3900001 | The specified device does not exist. | 374 375**Example** 376 377```js 378try { 379 inputDevice.setInputDeviceEnabled(0, true).then(() => { 380 console.info(`Set input device enable success`); 381 }); 382} catch (error) { 383 console.info(`Set input device enable error`); 384} 385``` 386