js-apis-inputconsumer.md 3.3 KB
Newer Older
Z
zengyawen 已提交
1 2
# 组合按键

H
hungry_feiwei 已提交
3
InputConsumer模块提供对按键事件的监听。
Z
zengyawen 已提交
4

5
> **说明:**
Z
zengyawen 已提交
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
>
> - 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> - 本模块接口均为系统接口,三方应用不支持调用。


## 导入模块


```
import inputConsumer from '@ohos.multimodalInput.inputConsumer';
```


## inputConsumer.on

H
hungry_feiwei 已提交
22
on(type: "key", keyOptions: KeyOptions, callback: Callback<KeyOptions>): void
Z
zengyawen 已提交
23

S
m11  
shaoziyun 已提交
24
开始监听组合按键事件, 当满足条件的组合按键输入事件发生时,将keyOptions回调到入参callback表示的回调函数上。
Z
zengyawen 已提交
25

H
hungry_feiwei 已提交
26
此接口为系统接口。
Z
zengyawen 已提交
27

M
mayunteng_1 已提交
28 29
**系统能力:** SystemCapability.MultimodalInput.Input.InputConsumer

Z
zengyawen 已提交
30 31
**参数:** 

H
hungry_feiwei 已提交
32
| 参数 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
33
| -------- | -------- | -------- | -------- |
H
hungry_feiwei 已提交
34
| type | string | 是 | 监听输入事件类型,只支持“key”。 |
35
| keyOptions | [keyOptions](#keyoptions) | 是 | 组合键选项,用来指定组合键输入时应该符合的条件。 |
H
hungry_feiwei 已提交
36
| callback | Callback<KeyOptions> | 是 | 回调函数。当满足条件的按键输入产生时,回调到此函数,以传入的KeyOptions为入参。 |
Z
zengyawen 已提交
37 38 39 40

**示例:** 

```
S
m11  
shaoziyun 已提交
41 42 43 44
let keyOptions = {preKeys: [], finalKey: 3, isFinalKeyDown: true, finalKeyDownDuration: 0}
let callback = function(keyOptions) {
    console.info("preKeys: " + keyOptions.preKeys, "finalKey: " + keyOptions.finalKey, 
                 "isFinalKeyDown: " + keyOptions.isFinalKeyDown, "finalKeyDownDuration: " + keyOptions.finalKeyDownDuration)
Z
zengyawen 已提交
45
}
S
m11  
shaoziyun 已提交
46
inputConsumer.on('key', keyOptions, callback);
Z
zengyawen 已提交
47 48 49 50 51
```


## inputConsumer.off

H
hungry_feiwei 已提交
52
off(type: "key", keyOptions: KeyOptions, callback?: Callback<KeyOptions>): void
Z
zengyawen 已提交
53 54 55

停止监听组合按键事件。

H
hungry_feiwei 已提交
56 57
此接口为系统接口。

Z
zengyawen 已提交
58 59 60 61
**系统能力:** SystemCapability.MultimodalInput.Input.InputConsumer

**参数:** 

H
hungry_feiwei 已提交
62
| 参数 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
63
| -------- | -------- | -------- | -------- |
H
hungry_feiwei 已提交
64
| type | string | 是 | 监听输入事件类型,只支持“key”。 |
65
| keyOptions | [keyOptions](#keyoptions) | 是 | 开始监听时传入的keyOptions。 |
H
hungry_feiwei 已提交
66
| callback | Callback<KeyOptions> | 是 | 开始监听时与KeyOption一同传入的回调函数 。 |
Z
zengyawen 已提交
67 68 69 70

**示例:** 

```
S
m11  
shaoziyun 已提交
71 72 73 74
let keyOptions = {preKeys: [], finalKey: 3, isFinalKeyDown: true, finalKeyDownDuration: 0}
let callback = function(keyOptions) {
    console.info("preKeys: " + keyOptions.preKeys, "finalKey: " + keyOptions.finalKey, 
                 "isFinalKeyDown: " + keyOptions.isFinalKeyDown, "finalKeyDownDuration: " + keyOptions.finalKeyDownDuration)
Z
zengyawen 已提交
75
}
S
m11  
shaoziyun 已提交
76
inputConsumer.off('key', keyOptions, callback);
Z
zengyawen 已提交
77 78 79
```


80
## KeyOptions
Z
zengyawen 已提交
81 82 83

组合键输入事件发生时,组合键满足的选项。

H
hungry_feiwei 已提交
84 85
此接口为系统接口。

86
**系统能力:** SystemCapability.MultimodalInput.Input.InputConsumer
Z
zengyawen 已提交
87 88 89 90 91 92 93

  | 参数 | 类型 | 必填 | 说明 | 
| -------- | -------- | -------- | -------- |
| preKeys | Array | 是 | 组合键前置按键集合,可为空,前置按键无顺序要求。 | 
| finalKey | Number | 是 | 组合键最后按键,不能为空。 | 
| isFinalKeyDown | boolean | 是 | 组合键最后按键是按下还是抬起,默认是按下。 | 
| finalKeyDownDuration | Number | 是 | 组合键最后按键按下持续时长,默认无时长要求。 |