使用 Electron 注册键盘快捷键

使用 Electron 注册键盘快捷键

此系列文章的应用示例已发布于 GitHub: electron-api-demos-Zh_CN. 可以 Clone 或下载后运行查看. 欢迎 Star .

使用 Electron 注册键盘快捷键_第1张图片

可以使用 globalShortcutMenu 模块定义键盘快捷键.

在 Electron 中, 键盘快捷键被称作加速器(Accelerator). 它们可以分配到应用程序菜单中的操作上, 也可以全局分配,所以即使你的应用程序没有获得键盘焦点, 它们也可以被触发.

在浏览器中查看 Menu, Accelerator 和 globalShortcut API 的完整文档.

注册全局键盘快捷键

支持: Win, macOS, Linux | 进程: Main

使用 Electron 注册键盘快捷键_第2张图片

试一下这个示例, 在键盘上按下 Command或Control+Alt+K 快捷键.

即使应用程序没有键盘焦点, 也会检测到全局快捷键, 而且它们必须在应用程序的 ready 事件发出后注册.

主进程

const electron = require('electron')
const app = electron.app
const dialog = electron.dialog
const globalShortcut = electron.globalShortcut

app.on('ready', function () {
  globalShortcut.register('CommandOrControl+Alt+K', function () {
    dialog.showMessageBox({
      type: 'info',
      message: '成功!',
      detail: '你按下了一个全局注册的快捷键绑定.',
      buttons: ['好的']
    })
  })
})

app.on('will-quit', function () {
  globalShortcut.unregisterAll()
})

高级技巧

避免覆盖系统范围的键盘快捷键.

注册全局快捷方式时, 请务必注意目标操作系统中的现有默认值, 以免覆盖任何现有行为.有关每个操作系统键盘快捷键的概述, 请查看这些文档:

  • macOS
  • Windows
  • Linux

如果这边文章对您有帮助, 感谢 下方点赞 或 Star GitHub: electron-api-demos-Zh_CN 支持, 谢谢.

你可能感兴趣的:(hybrid-app,javascript,electron,node.js,v8)