使用 Electron 注册键盘快捷键

使用 Electron 注册键盘快捷键

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

能够使用 globalShortcutMenu 模块定义键盘快捷键.git

在 Electron 中, 键盘快捷键被称做加速器(Accelerator). 它们能够分配到应用程序菜单中的操做上, 也能够全局分配,因此即便你的应用程序没有得到键盘焦点, 它们也能够被触发.github

在浏览器中查看 Menu, AcceleratorglobalShortcut API 的完整文档.windows

注册全局键盘快捷键

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

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

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

主进程electron

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()
})

高级技巧

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

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

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

相关文章
相关标签/搜索