harmony 鸿蒙@ohos.multimodalInput.inputConsumer (组合按键)

  • 2022-08-09
  • 浏览 (942)

@ohos.multimodalInput.inputConsumer (组合按键)

组合按键订阅模块,用于处理组合按键的订阅。

说明:

  • 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

  • 本模块接口为系统接口。

导入模块

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

inputConsumer.on

on(type: ‘key’, keyOptions: KeyOptions, callback: Callback<KeyOptions>): void

订阅组合按键,当满足条件的组合按键输入事件发生时,使用Callback异步方式上报组合按键数据。

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

参数:

参数名 类型 必填 说明
type string 事件类型,目前仅支持’key’。
keyOptions KeyOptions 组合键选项。
callback Callback<KeyOptions> 回调函数,当满足条件的组合按键输入事件发生时,异步上报组合按键数据。

示例:

let leftAltKey = 2045;
let tabKey = 2049;
let keyOptions: inputConsumer.KeyOptions = {
  preKeys: [ leftAltKey ],
  finalKey: tabKey,
  isFinalKeyDown: true,
  finalKeyDownDuration: 0
};
let callback = (keyOptions: inputConsumer.KeyOptions) => {
  console.log(`keyOptions: ${JSON.stringify(keyOptions)}`);
}
try {
  inputConsumer.on("key", keyOptions, callback);
} catch (error) {
  console.log(`Subscribe failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}

inputConsumer.off

off(type: ‘key’, keyOptions: KeyOptions, callback?: Callback<KeyOptions>): void

取消订阅组合按键。

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

参数:

参数名 类型 必填 说明
type string 事件类型,当前仅支持 ‘key’。
keyOptions KeyOptions 组合键选项。
callback Callback<KeyOptions> 需要取消订阅的回调函数。若不填,则取消当前应用组合键选项已订阅的所有回调函数。

示例:

let leftAltKey = 2045;
let tabKey = 2049;
// 取消订阅单个回调函数
let callback = (keyOptions: inputConsumer.KeyOptions) => {
  console.log(`keyOptions: ${JSON.stringify(keyOptions)}`);
}
let keyOption: inputConsumer.KeyOptions = {preKeys: [leftAltKey], finalKey: tabKey, isFinalKeyDown: true, finalKeyDownDuration: 0};
try {
  inputConsumer.on("key", keyOption, callback);
  inputConsumer.off("key", keyOption, callback);
  console.log(`Unsubscribe success`);
} catch (error) {
  console.log(`Execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
let leftAltKey = 2045;
let tabKey = 2049;
// 取消订阅所有回调函数
let callback = (keyOptions: inputConsumer.KeyOptions) => {
  console.log(`keyOptions: ${JSON.stringify(keyOptions)}`);
}
let keyOption: inputConsumer.KeyOptions = {preKeys: [leftAltKey], finalKey: tabKey, isFinalKeyDown: true, finalKeyDownDuration: 0};
try {
  inputConsumer.on("key", keyOption, callback);
  inputConsumer.off("key", keyOption);
  console.log(`Unsubscribe success`);
} catch (error) {
  console.log(`Execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}

KeyOptions

组合键选项。

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

名称 类型 可读 可写 说明
preKeys Array<number> 前置按键集合,数量范围[0, 4],前置按键无顺序要求。
如组合按键Ctrl+Alt+A中,Ctrl+Alt称为前置按键。
finalKey number 最终按键,此项必填,最终按键触发上报回调函数。
如组合按键Ctrl+Alt+A中,A称为最终按键按键。
isFinalKeyDown boolean 最终按键状态。
ture表示按键按下,false表示按键抬起。
finalKeyDownDuration number 最终按键保持按下持续时间,单位为微秒(μs)。
当finalKeyDownDuration为0时,立即触发回调函数。
当finalKeyDownDuration大于0时,isFinalKeyDown为true,则最终按键按下超过设置时长后触发回调函数;isFinalKeyDown为false,则最终按键按下到抬起时间小于设置时长时触发回调函数。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙接口

harmony 鸿蒙系统公共事件定义(待停用)

harmony 鸿蒙系统公共事件定义

harmony 鸿蒙开发说明

harmony 鸿蒙企业设备管理概述(仅对系统应用开放)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager模块)

harmony 鸿蒙@ohos.distributedBundle (分布式包管理)

harmony 鸿蒙@ohos.bundle (Bundle模块)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (企业设备管理扩展能力)

0  赞