@ohos.multimodalInput.inputDevice (Input Device) (System API)

The inputDevice module provides APIs for input device management, including querying input device information, setting/obtaining the keyboard repeat delay, and setting the input device switch status.

NOTE

  • 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.

  • This topic describes only system APIs provided by the module. For details about its public APIs, see @ohos.multimodalInput.inputDevice (Input Device).

Modules to Import

import { inputDevice } from '@kit.InputKit';

inputDevice.setKeyboardRepeatDelay10+

setKeyboardRepeatDelay(delay: number, callback: AsyncCallback<void>): void

Sets the keyboard repeat delay. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MultimodalInput.Input.InputDevice

System API: This is a system API.

Parameters

Name Type Mandatory Description
delay number Yes Keyboard repeat delay, in ms. The value range is [300, 1000] and the default value is 500.
callback AsyncCallback<void> Yes Callback used to return the result.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
202 SystemAPI permission error.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed.

Example

import { inputDevice } from '@kit.InputKit';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct Index {
  build() {
    RelativeContainer() {
      Text()
        .onClick(() => {
          try {
            inputDevice.setKeyboardRepeatDelay(350, (error: BusinessError) => {
              if (error) {
                console.error(`Set keyboard repeat delay failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
                return;
              }
              console.info(`Set keyboard repeat delay success`);
            });
          } catch (error) {
            console.error(`Set keyboard repeat delay failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
          }
        })
    }
  }
}

inputDevice.setKeyboardRepeatDelay10+

setKeyboardRepeatDelay(delay: number): Promise<void>

Sets the keyboard repeat delay. This API uses a promise to return the result.

System capability: SystemCapability.MultimodalInput.Input.InputDevice

System API: This is a system API.

Parameters

Name Type Mandatory Description
delay number Yes Keyboard repeat delay, in ms. The value range is [300, 1000] and the default value is 500.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
202 SystemAPI permission error.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed.

Example

import { inputDevice } from '@kit.InputKit';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct Index {
  build() {
    RelativeContainer() {
      Text()
        .onClick(() => {
          try {
            inputDevice.setKeyboardRepeatDelay(350).then(() => {
              console.info(`Set keyboard repeat delay success`);
            }).catch((error: BusinessError) => {
              console.error(`Set keyboard failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
            })
          } catch (error) {
            console.error(`Set keyboard repeat delay failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
          }
        })
    }
  }
}

inputDevice.getKeyboardRepeatDelay10+

getKeyboardRepeatDelay(callback: AsyncCallback<number>): void

Obtains the keyboard repeat delay. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MultimodalInput.Input.InputDevice

System API: This is a system API.

Parameters

Name Type Mandatory Description
callback AsyncCallback<number> Yes Callback used to return the keyboard repeat delay.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
202 SystemAPI permission error.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed.

Example

import { inputDevice } from '@kit.InputKit';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct Index {
  build() {
    RelativeContainer() {
      Text()
        .onClick(() => {
          try {
            inputDevice.getKeyboardRepeatDelay((error: BusinessError, delay: number) => {
              if (error) {
                console.error(`Get keyboard repeat delay failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
                return;
              }
              console.info(`Get keyboard repeat delay success`);
            });
          } catch (error) {
            console.error(`Get keyboard repeat delay failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
          }
        })
    }
  }
}

inputDevice.getKeyboardRepeatDelay10+

getKeyboardRepeatDelay(): Promise<number>

Obtains the keyboard repeat delay. This API uses a promise to return the result.

System capability: SystemCapability.MultimodalInput.Input.InputDevice

System API: This is a system API.

Return value

Type Description
Promise<number> Promise used to return the keyboard repeat delay.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
202 SystemAPI permission error.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed.

Example

import { inputDevice } from '@kit.InputKit';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct Index {
  build() {
    RelativeContainer() {
      Text()
        .onClick(() => {
          try {
            inputDevice.getKeyboardRepeatDelay().then((delay: number) => {
              console.info(`Get keyboard repeat delay success`);
            }).catch((error: BusinessError) => {
              console.error(`Get keyboard failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
            })
          } catch (error) {
            console.error(`Get keyboard repeat delay failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
          }
        })
    }
  }
}

inputDevice.setKeyboardRepeatRate10+

setKeyboardRepeatRate(rate: number, callback: AsyncCallback<void>): void

Sets the keyboard repeat rate. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MultimodalInput.Input.InputDevice

System API: This is a system API.

Parameters

Name Type Mandatory Description
rate number Yes Keyboard repeat rate, in ms/time. The value range is [36, 100] and the default value is 50.
callback AsyncCallback<void> Yes Callback used to return the result.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
202 SystemAPI permission error.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed.

Example

import { inputDevice } from '@kit.InputKit';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct Index {
  build() {
    RelativeContainer() {
      Text()
        .onClick(() => {
          try {
            inputDevice.setKeyboardRepeatRate(60, (error: BusinessError) => {
              if (error) {
                console.error(`Set keyboard repeat rate failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
                return;
              }
              console.info(`Set keyboard repeat rate success`);
            });
          } catch (error) {
            console.error(`Set keyboard repeat rate failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
          }
        })
    }
  }
}

inputDevice.setKeyboardRepeatRate10+

setKeyboardRepeatRate(rate: number): Promise<void>

Sets the keyboard repeat rate. This API uses a promise to return the result.

System capability: SystemCapability.MultimodalInput.Input.InputDevice

System API: This is a system API.

Parameters

Name Type Mandatory Description
rate number Yes Keyboard repeat rate, in ms/time. The value range is [36, 100] and the default value is 50.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
202 SystemAPI permission error.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed.

Example

import { inputDevice } from '@kit.InputKit';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct Index {
  build() {
    RelativeContainer() {
      Text()
        .onClick(() => {
          try {
            inputDevice.setKeyboardRepeatRate(60).then(() => {
              console.info(`Set keyboard repeat rate success`);
            }).catch((error: BusinessError) => {
              console.error(`Set keyboard failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
            })
          } catch (error) {
            console.error(`Set keyboard repeat rate failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
          }
        })
    }
  }
}

inputDevice.getKeyboardRepeatRate10+

getKeyboardRepeatRate(callback: AsyncCallback<number>): void

Obtains the keyboard repeat rate. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MultimodalInput.Input.InputDevice

System API: This is a system API.

Parameters

Name Type Mandatory Description
callback AsyncCallback<number> Yes Callback used to return the keyboard repeat rate.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
202 SystemAPI permission error.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed.

Example

import { inputDevice } from '@kit.InputKit';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct Index {
  build() {
    RelativeContainer() {
      Text()
        .onClick(() => {
          try {
            inputDevice.getKeyboardRepeatRate((error: BusinessError, rate: number) => {
              if (error) {
                console.error(`Get keyboard repeat rate failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
                return;
              }
              console.info(`Get keyboard repeat rate success`);
            });
          } catch (error) {
            console.error(`Get keyboard repeat rate failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
          }
        })
    }
  }
}

inputDevice.getKeyboardRepeatRate10+

getKeyboardRepeatRate(): Promise<number>

Obtains the keyboard repeat rate. This API uses a promise to return the result.

System capability: SystemCapability.MultimodalInput.Input.InputDevice

System API: This is a system API.

Return value

Type Description
Promise<number> Promise used to return the keyboard repeat rate.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
202 SystemAPI permission error.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed.

Example

import { inputDevice } from '@kit.InputKit';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct Index {
  build() {
    RelativeContainer() {
      Text()
        .onClick(() => {
          try {
            inputDevice.getKeyboardRepeatRate().then((rate: number) => {
              console.info(`Get keyboard repeat rate success`);
            }).catch((error: BusinessError) => {
              console.error(`Get keyboard failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
            })
          } catch (error) {
            console.error(`Get keyboard repeat rate failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
          }
        })
    }
  }
}

inputDevice.setInputDeviceEnabled18+

setInputDeviceEnabled(deviceId: number, enabled: boolean): Promise<void>

Sets 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. This API uses a promise to return the result.

Required permissions: ohos.permission.INPUT_DEVICE_CONTROLLER

System capability: SystemCapability.MultimodalInput.Input.InputDevice

System API: This is a system API.

Parameters

Name Type Mandatory Description
deviceId number Yes Unique ID of the input device. If a physical device is repeatedly reinstalled or restarted, its ID may change.
enabled boolean Yes Switch status of the input device. The value true indicates that the input device is enabled, and the value false indicates the opposite.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Input Device Error Codes.

ID Error Message
201 Permission denied. The application does not have the permission required to call the API
202 Permission verification failed. A non-system application calls a system API.
401 Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
3900001 The specified device does not exist.

Example

import { inputDevice } from '@kit.InputKit';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct Index {
  build() {
    RelativeContainer() {
      Text()
        .onClick(() => {
          try {
            inputDevice.setInputDeviceEnabled(0, true).then(() => {
              console.info(`Set input device enable success`);
            }).catch((error: BusinessError) => {
              console.error(`Set device enable failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
            })
          } catch (error) {
            console.error(`Set input device enable error`);
          }
        })
    }
  }
}