js-apis-inputeventclient.md 2.0 KB
Newer Older
S
shawn_he 已提交
1
# Key Injection
E
ester.zhou 已提交
2

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

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


## Modules to Import


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


## inputEventClient.injectEvent

injectEvent({KeyEvent: KeyEvent}): void

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

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

**Parameters**

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

**Example**

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

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


## KeyEvent

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

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

S
shawn_he 已提交
65 66 67 68 69 70
| 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.        |