aardio 文档

key.hotkey 库模块帮助文档

超级热键使用指南

key 成员列表

key.hotkey

超级热键支持库
超级热键,指的是一组连续按下的键作为热键并触发相应的操作,
超级热键检测规则如下:
1、如果首个按下的键不是控制键,则不需要同时按住多个键
2、如果首次按住控制键不放开,则多个组合键需要同时按住触发相应的操作,
控制键指的是CTRL,ALT,SHIFT,WIN键
3、单字符虚拟键名(例如~)不需要按 Shift 键
4、超级热键支持按键顺序检测,
例如 CTRL+SHIFT,SHIFT+CTRL 触发不同回调,
当然也可以指向同一回调函数

key.hotkey()

创建热键方案管理器
当前线程必须是使用 win.loopMessage 函数启动消息循环的界面线程。

返回对象:keyHotkeyObject

keyHotkeyObject 成员列表

keyHotkeyObject.clear()

清除所有热键

keyHotkeyObject.clearKeys()

清除已捕获的热键

keyHotkeyObject.close()

关闭热键方案管理器
成功返回null,失败返回错误信息,错误代码

keyHotkeyObject.getControlKeys()

返回所有预设控制键的虚拟键名,
控制键如果放开就表示超级热键已结束检测

keyHotkeyObject.getEndKeys()

返回所有预设终止键虚拟键名

keyHotkeyObject.loadTable(配置表)

使用配置表注册热键,
配置表中每个名值对调用 regStr 函数注册为热键

keyHotkeyObject.onKeyDown

keyHotkeyObject.onKeyDown = function(vk){
    /*按键时触发,返回true阻止按键事件  
注意返回true会阻止超级热键*/
}

keyHotkeyObject.onKeyUp

keyHotkeyObject.onKeyUp = function(vk){
    /*放开按键时触发,返回true阻止放开按键事件  
注意会先检测处理超级热键再触发此事件*/
}

keyHotkeyObject.onWaiting

keyHotkeyObject.onWaiting = function(hwnd,enteredKeys,waitingKeys){
    if(!enteredKeys){
        /*已完成热键*/
        return;
    } 
    var str = (
        '已按下键:' 
        + ..string.join(enteredKeys,"+")  
        + ' 等待候选键:' 
        + ..string.join(waitingKeys,",") 
    )
}

keyHotkeyObject.reg

keyHotkeyObject.reg(  
    "~","H","I",  
    function(hFocusWnd,...){  
        ..key.sendString("此回调函数返回true继续发送原来的按键")  
    }   
)

keyHotkeyObject.regEndStr(超级热键,回调函数或输入文本)

参数@1指定包含一个或多个虚拟键名的字符串。

参数 @2 可以是一段用于输出的文本, aardio 代码或 aardio 文件,
也可以是一个回调函数,回调函数执行时间不应超过200毫秒,
该回调函数可返回布尔值指定是否取消当前按键事件,
也可以返回一个自动延时执行的函数并取消当前按键事件。
此函数注册的热键必须在最后按下预设的终止键时才会触发
使用 setEndKeys 函数可以修改预设终止键
输入文本如果以美元符号结束 $,则输出当前终止键到目标窗体.

参数@1不区分大小写,字符间不能有空白,
如果首个控制按键使用+号分隔,则其他所有按键都要用逗号分开

keyHotkeyObject.regStr(超级热键,回调函数或输入文本)

参数@1指定包含一个或多个虚拟键名的字符串,
尾部可用'\0'表示终止键。

参数 @2 可以是一段用于输出的文本,aardio 代码或 aardio 文件,
也可以是一个回调函数,回调函数执行时间不应超过200毫秒,
该回调函数可返回布尔值指定是否取消当前按键事件,
也可以返回一个自动延时执行的函数并取消当前按键事件。

参数 @1 不区分大小写,字符间不能有空白,
如果首个控制按键使用+号分隔,则其他所有按键都要用逗号分开

keyHotkeyObject.reset()

清除所有热键并重新创建键盘钩子

keyHotkeyObject.setControlKeys("字符串参数")

设定控制键,支持不定个数参数,支持虚拟键名或键码
默认控制键为左右CTRL,ALT,SHIFT,WIN

keyHotkeyObject.setEndKeys("字符串参数")

设定预设终止键,支持不定个数参数
支持虚拟键名或键码.

Markdown 格式