• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 组合按键
2
3InputConsumer模块提供对按键事件的监听。
4
5> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
6>
7> - 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8>
9> - 本模块接口均为系统接口,三方应用不支持调用。
10
11
12## 导入模块
13
14
15```
16import inputConsumer from '@ohos.multimodalInput.inputConsumer';
17```
18
19
20## inputConsumer.on
21
22on(type: "key", keyOptions: KeyOptions, callback: Callback<KeyOptions>): void
23
24开始监听组合按键事件, 当满足条件的组合按键输入事件发生时,将KeyOptions回调到入参callback表示的回调函数上。
25
26此接口为系统接口。
27
28**参数:**
29
30| 参数 | 类型 | 必填 | 说明 |
31| -------- | -------- | -------- | -------- |
32| type | string | 是 | 监听输入事件类型,只支持“key”。 |
33| keyOptions | [keyOptions](#keyoptions) | 是 | 组合键选项,用来指定组合键输入时应该符合的条件。 |
34| callback | Callback<[keyOptions](#keyoptions)> | 是 | 回调函数。当满足条件的按键输入产生时,回调到此函数,以传入的KeyOptions为入参。 |
35
36**示例:**
37
38```
39let keyOptions = {preKeys: [], finalKey: 3, isFinalKeyDown: true, finalKeyDownDuration: 0}
40let callback = function(keyOptions) {
41    console.info("preKeys: " + keyOptions.preKeys, "finalKey: " + keyOptions.finalKey,
42                 "isFinalKeyDown: " + keyOptions.isFinalKeyDown, "finalKeyDownDuration: " + keyOptions.finalKeyDownDuration)
43}
44inputConsumer.on('key', keyOptions, callback);
45```
46
47
48## inputConsumer.off
49
50off(type: "key", keyOptions: KeyOptions, callback?: Callback<KeyOptions>): void
51
52停止监听组合按键事件。
53
54此接口为系统接口。
55
56**系统能力:** SystemCapability.MultimodalInput.Input.InputConsumer
57
58**参数:**
59
60| 参数 | 类型 | 必填 | 说明 |
61| -------- | -------- | -------- | -------- |
62| type | string | 是 | 监听输入事件类型,只支持“key”。 |
63| keyOptions | [keyOptions](#keyoptions) | 是 | 开始监听时传入的keyOptions。 |
64| callback | Callback<[keyOptions](#keyoptions)> | 是 | 开始监听时与KeyOption一同传入的回调函数 。 |
65
66**示例:**
67
68```
69let keyOptions = {preKeys: [], finalKey: 3, isFinalKeyDown: true, finalKeyDownDuration: 0}
70let callback = function(keyOptions) {
71    console.info("preKeys: " + keyOptions.preKeys, "finalKey: " + keyOptions.finalKey,
72                 "isFinalKeyDown: " + keyOptions.isFinalKeyDown, "finalKeyDownDuration: " + keyOptions.finalKeyDownDuration)
73}
74inputConsumer.off('key', keyOptions, callback);
75```
76
77
78## KeyOptions
79
80组合键输入事件发生时,组合键满足的选项。
81
82此接口为系统接口。
83
84**系统能力:**SystemCapability.MultimodalInput.Input.InputConsumer
85
86  | 参数 | 类型 | 必填 | 说明 |
87| -------- | -------- | -------- | -------- |
88| preKeys | Array | 是 | 组合键前置按键集合,可为空,前置按键无顺序要求。 |
89| finalKey | Number | 是 | 组合键最后按键,不能为空。 |
90| isFinalKeyDown | boolean | 是 | 组合键最后按键是按下还是抬起,默认是按下。 |
91| finalKeyDownDuration | Number | 是 | 组合键最后按键按下持续时长,默认无时长要求。 |
92