快捷键

Shortcut表示全局快捷键或系统级热键. 注册成功后,无需聚焦也可以工作.

Shortcut继承自EventEmitter. 每当用户按下所注册的快捷键,应用都将收到快捷对象中的 active事件.

示例

  1. var option = {
  2. key : "Ctrl+Shift+A",
  3. active : function() {
  4. console.log("全局快捷键: " + this.key + " 被激活.");
  5. },
  6. failed : function(msg) {
  7. // :(, 无法注册 |key| 或未注册 |key|.
  8. console.log(msg);
  9. }
  10. };
  11. // 使用 |option| 注册快捷键
  12. var shortcut = new nw.Shortcut(option);
  13. // 注册全快捷键 即使无聚焦也可工作
  14. nw.App.registerGlobalHotKey(shortcut);
  15. //注册后,用户按下Ctrl + Shift + A时,应用将收到 `active`事件.
  16. // 您还可以监听快捷键的成功或失败事件
  17. shortcut.on('active', function() {
  18. console.log("Global desktop keyboard shortcut: " + this.key + " active.");
  19. });
  20. shortcut.on('failed', function(msg) {
  21. console.log(msg);
  22. });
  23. // 注销全局快捷键
  24. nw.App.unregisterGlobalHotKey(shortcut);

new Shortcut(option)

用途:创建新的 Shortcut快捷键

  • option Object
    • key String - 快捷键组合如 "ctrl+shift+a". 细节请查阅 shortcut.key属性
    • active Function(可选) - 触发热键时的回调. 细节请查阅 shortcut.active 属性
    • failed Function (可选) - 注册热键失败时的回调. 细节请查阅 shortcut.failed 属性

shortcut.key

属性:Shortcutkey,多个则采用 + 连接的快捷键组合,如 "Ctrl+Alt+A".

该键值以0个或多个功能键和普通键组成,功能键如 alt可忽略大小写.

可用的功能键:

  • Ctrl
  • Alt
  • Shift
  • Command: Command Mac上即, Windows和Linux上即Windows键.

可用的普通键:

  • 09
  • AZ
  • F1F24
  • Comma
  • Period
  • Tab
  • Home / End / PageUp / PageDown / Insert / Delete
  • Up / Down / Left / Right
  • MediaNextTrack / MediaPlayPause / MediaPrevTrack / MediaStop
  • Comma,
  • Period.
  • Tab\t
  • Backquote`
  • Enter\n
  • Minus-
  • Equal=
  • Backslash\
  • Semicolon;
  • Quote'
  • BracketLeft[
  • BracketRight]
  • Escape
  • DOM Level 3 W3C KeyboardEvent Code Values

虽然 App.registerGlobalHotKey()可将普通键如 A注册成一个快捷键,但很少人会有这种需求,但API本身不会限制此类做法,因为你可能会希望用它监听某个按键

shortcut.active

属性:用户按下快捷键时获取或设置 Shortcutactive回调

shortcut.failed

属性:快捷键无法注册或注册失败时获取 Shortcutfailed回调

事件:active

触发:用户按下快捷键时

参考上文shortcut.active

事件:failed

触发:快捷键无法注册或注册失败时

参考上文shortcut.failed