js-apis-inputeventclient.md 2.0 KB
Newer Older
S
shawn_he 已提交
1
# @ohos.multimodalInput.inputEventClient (Key Injection)
E
ester.zhou 已提交
2

S
shawn_he 已提交
3
The **inputEventClient** module implements injection of key events.
E
ester.zhou 已提交
4

S
shawn_he 已提交
5
> **NOTE**
S
shawn_he 已提交
6
> - 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.
S
shawn_he 已提交
7
> - The APIs provided by this module are system APIs.
E
ester.zhou 已提交
8 9 10 11 12


## Modules to Import


S
shawn_he 已提交
13
```js
E
ester.zhou 已提交
14 15 16 17 18 19 20 21
import inputEventClient from '@ohos.multimodalInput.inputEventClient';
```


## inputEventClient.injectEvent

injectEvent({KeyEvent: KeyEvent}): void

S
shawn_he 已提交
22
Injects a key event. Currently, key injection is supported only for the **Back** key (key value 2).
S
shawn_he 已提交
23

E
ester.zhou 已提交
24 25 26 27
**System capability**: SystemCapability.MultimodalInput.Input.InputSimulator

**Parameters**

S
shawn_he 已提交
28 29 30
| Name      | Type                   | Mandatory  | Description       |
| -------- | --------------------- | ---- | --------- |
| KeyEvent | [KeyEvent](#keyevent) | Yes   | Information about the key event to inject.|
E
ester.zhou 已提交
31 32 33

**Example**

S
shawn_he 已提交
34
```js
S
shawn_he 已提交
35
try {
S
shawn_he 已提交
36
  let backKeyDown = {
E
ester.zhou 已提交
37 38 39 40
    isPressed: true,
    keyCode: 2,
    keyDownDuration: 0,
    isIntercepted: false
S
shawn_he 已提交
41
  }
S
shawn_he 已提交
42 43 44
  inputEventClient.injectEvent({ KeyEvent: backKeyDown });

  let backKeyUp = {
S
shawn_he 已提交
45 46 47 48 49
    isPressed: false,
    keyCode: 2,
    keyDownDuration: 0,
    isIntercepted: false
  };
S
shawn_he 已提交
50
  inputEventClient.injectEvent({ KeyEvent: backKeyUp });
S
shawn_he 已提交
51
} catch (error) {
S
shawn_he 已提交
52
  console.log(`Failed to inject KeyEvent, error: ${JSON.stringify(error, [`code`, `message`])}`);
E
ester.zhou 已提交
53 54 55 56 57 58
}
```


## KeyEvent

S
shawn_he 已提交
59
Represents information about the key event to inject.
E
ester.zhou 已提交
60 61 62

**System capability**: SystemCapability.MultimodalInput.Input.InputSimulator

S
shawn_he 已提交
63 64 65 66 67 68
| Name       | Type  | Readable  | Writable  | Description     |
| --------- | ------ | ---- | ---- | ------- |
| isPressed       | boolean | Yes   |  No| Whether the key is pressed.              |
| keyCode         | number  | Yes   |  No| Key value. Currently, only the **Back** key is supported.|
| keyDownDuration | number  | Yes   |  No| Duration within which the key is pressed.          |
| isIntercepted   | boolean | Yes   |  No| Whether the key can be intercepted.        |