1# 组合按键 2 3InputConsumer模块提供对按键事件的监听。 4 5>  **说明:** 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