Electron.js多个加速器

时间:2019-07-17 17:22:21

标签: electron

让我们看一下电子菜单模板的这段代码:

const menu = [
  {
    label: "foo"
    submenu: [
      {
        label: "bar",
        accelerator: "Control+B"
      {
    ]
  }
]

如何为同一菜单项注册多个加速器?

真实世界的示例:我想同时注册F3Control+F以便在页面中查找功能。

1 个答案:

答案 0 :(得分:1)

到目前为止(Electron 5.0.7),不幸的答案是您不能(本机)。这是一个跟踪的issue

一个评论者建议此解决方法:

// it's not possible to add multiple accelerators
// so need to do this the oldschool way
document.addEventListener('keydown', event => {
    if (process.platform === 'darwin' && event.metaKey && event.shiftKey) {
        if (event.keyCode === 221/* ] */) {
            nextConversation();
        }

      if (event.keyCode === 219/* [ */) {
            previousConversation();
        }
    }
});

有人建议使用electron-localshortcut模块来解决此问题。