1# 组合按键开发指导 2 3## 场景介绍 4 5组合按键提供订阅组合按键、设置屏蔽按键拦截状态等能力。使用场景例如:当用户需要组合按键实现快捷功能时,开发者可以通过订阅组合按键,通过组合按键启用快捷功能。 6 7## 导入模块 8 9```js 10import { inputConsumer } from '@kit.InputKit'; 11``` 12 13## 接口说明 14 15组合按键管理常用接口如下表所示,接口详细介绍请参考[ohos.multimodalInput.inputConsumer文档](../../reference/apis-input-kit/js-apis-inputconsumer-sys.md)。 16 17| 接口名称 | 描述 | 18| ------------------------------------------------------------ | -------------------------- | 19| on(type: 'key', keyOptions: KeyOptions, callback: Callback<KeyOptions>): void | 订阅组合按键。 | 20| off(type: 'key', keyOptions: KeyOptions, callback?: Callback<KeyOptions>): void | 取消订阅组合按键。 | 21| setShieldStatus(shieldMode: ShieldMode, isShield: boolean): void | 设置屏蔽按键拦截状态。 | 22| getShieldStatus(shieldMode: ShieldMode): boolean | 获取屏蔽按键拦截是否生效。 | 23 24## 开发步骤 25 26使用特定组合按键的应用开启时调用[on](../../reference/apis-input-kit/js-apis-inputconsumer-sys.md#inputconsumeron)方法订阅组合键,当应用 27应用关闭时再用[off](../../reference/apis-input-kit/js-apis-inputconsumer-sys.md#inputconsumeroff)方法取消组合键订阅。 28 29```js 30let leftAltKey = 2045; 31let tabKey = 2049; 32let callback = (keyOptions: inputConsumer.KeyOptions) => { 33 console.log(`keyOptions: ${JSON.stringify(keyOptions)}`); 34} 35//应用开启 36let keyOption: inputConsumer.KeyOptions = {preKeys: [leftAltKey], finalKey: tabKey, isFinalKeyDown: true, finalKeyDownDuration: 0}; 37try { 38 inputConsumer.on("key", keyOption, callback);//订阅组合键 39} catch (error) { 40 console.log(`Execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 41} 42//应用关闭 43try { 44 inputConsumer.off("key", keyOption, callback);//取消订阅组合键 45 console.log(`Unsubscribe success`); 46} catch (error) { 47 console.log(`Execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 48} 49```