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

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

5
> **说明:**
Z
zengyawen 已提交
6 7 8
>
> - 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
H
HelloCrease 已提交
9
> - 本模块接口为系统接口。
Z
zengyawen 已提交
10 11 12 13 14


## 导入模块


H
HelloCrease 已提交
15
```js
Z
zengyawen 已提交
16 17 18 19 20 21
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

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

Z
zengyawen 已提交
28 29
**参数:** 

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

**示例:** 

H
HelloCrease 已提交
38
```js
M
mayunteng_1 已提交
39 40 41 42 43 44 45 46 47
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)
}
try {
  inputConsumer.on(inputConsumer.SubscribeType.KEY, keyOptions, callback);
} catch (error) {
  console.info(`inputConsumer.on, error.code=${JSON.stringify(error.code)}, error.msg=${JSON.stringify(error.message)}`);
Z
zengyawen 已提交
48 49 50 51 52 53
}
```


## inputConsumer.off

H
hungry_feiwei 已提交
54
off(type: "key", keyOptions: KeyOptions, callback?: Callback<KeyOptions>): void
Z
zengyawen 已提交
55 56 57 58 59 60 61

停止监听组合按键事件。

**系统能力:** SystemCapability.MultimodalInput.Input.InputConsumer

**参数:** 

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

**示例:** 

H
HelloCrease 已提交
70
```js
M
mayunteng_1 已提交
71 72 73 74 75 76 77 78 79
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)
}
try {
  inputConsumer.off(inputConsumer.SubscribeType.KEY, keyOptions, callback);
} catch (error) {
  console.info(`inputConsumer.off, error.code=${JSON.stringify(error.code)}, error.msg=${JSON.stringify(error.message)}`);
Z
zengyawen 已提交
80 81 82 83
}
```


84
## KeyOptions
Z
zengyawen 已提交
85 86 87

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

88
**系统能力:** SystemCapability.MultimodalInput.Input.InputConsumer
Z
zengyawen 已提交
89

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