快捷键
Shortcut表示全局快捷键或系统级热键. 注册成功后,无需聚焦也可以工作.
Shortcut继承自EventEmitter. 每当用户按下所注册的快捷键,应用都将收到快捷对象中的 active事件.
示例
var option = {
key : "Ctrl+Shift+A",
active : function() {
console.log("全局快捷键: " + this.key + " 被激活.");
},
failed : function(msg) {
// :(, 无法注册 |key| 或未注册 |key|.
console.log(msg);
}
};
// 使用 |option| 注册快捷键
var shortcut = new nw.Shortcut(option);
// 注册全快捷键 即使无聚焦也可工作
nw.App.registerGlobalHotKey(shortcut);
//注册后,用户按下Ctrl + Shift + A时,应用将收到 `active`事件.
// 您还可以监听快捷键的成功或失败事件
shortcut.on('active', function() {
console.log("Global desktop keyboard shortcut: " + this.key + " active.");
});
shortcut.on('failed', function(msg) {
console.log(msg);
});
// 注销全局快捷键
nw.App.unregisterGlobalHotKey(shortcut);new Shortcut(option)
用途:创建新的
Shortcut快捷键
optionObjectkeyString - 快捷键组合如"ctrl+shift+a". 细节请查阅 shortcut.key属性activeFunction(可选) - 触发热键时的回调. 细节请查阅 shortcut.active 属性failedFunction (可选) - 注册热键失败时的回调. 细节请查阅 shortcut.failed 属性
shortcut.key
属性:
Shortcut的key,多个则采用+连接的快捷键组合,如"Ctrl+Alt+A".
该键值以0个或多个功能键和普通键组成,功能键如 alt可忽略大小写.
可用的功能键:
CtrlAltShiftCommand:CommandMac上即⌘, Windows和Linux上即Windows键.
可用的普通键:
0到9A到ZF1到F24CommaPeriodTabHome/End/PageUp/PageDown/Insert/DeleteUp/Down/Left/RightMediaNextTrack/MediaPlayPause/MediaPrevTrack/MediaStopComma或,Period或.Tab或\tBackquote或`Enter或\nMinus或-Equal或=Backslash或\Semicolon或;Quote或'BracketLeft或[BracketRight或]Escape- DOM Level 3 W3C KeyboardEvent Code Values
虽然 App.registerGlobalHotKey()可将普通键如 A注册成一个快捷键,但很少人会有这种需求,但API本身不会限制此类做法,因为你可能会希望用它监听某个按键
shortcut.active
属性:用户按下快捷键时获取或设置
Shortcut的active回调
shortcut.failed
属性:快捷键无法注册或注册失败时获取
Shortcut的failed回调
事件:active
触发:用户按下快捷键时
参考上文shortcut.active
事件:failed
触发:快捷键无法注册或注册失败时
参考上文shortcut.failed