【问题标题】:How to check if a key is pressed in Electron?如何检查Electron中是否按下了某个键?
【发布时间】:2020-09-16 10:58:45
【问题描述】:

是否可以检查 Electron 中是否按下了某个键?我不是要求检测何时按下某个键。

当我的应用程序启动时,我希望能够在它启动时、在窗口加载之前按住 shift 键来打开一个特殊菜单。我正在寻找的一个例子是:

app.whenReady().then(() => {
     const win = new BrowserWindow({ show: false })
     win.loadFile("whatever.html")
     // ***
     const openSpecialMenu = keyboard.shiftKeyHeld
     // ***
     // do other stuff
     window.show()
})

【问题讨论】:

    标签: electron


    【解决方案1】:

    我不知道是否有简单的方法可以做到这一点,但我相信你可以使用原生 API 做到这一点。

    在 Windows 上,您可以使用 GetKeyState

    在 macOS 上,您可以使用 the function described in this answer

    然后您可以构建一个native node addon,允许您在 Electron JavaScript 代码中使用这些原生 API。

    事实上,我找到了一个适用于 Windows 的节点模块,可以满足您的需求:https://github.com/Zysen/node-asynckeystate

    您需要做额外的工作来支持其他操作系统。

    【讨论】:

      猜你喜欢
      • 2018-05-02
      • 1970-01-01
      • 2017-05-26
      • 2017-09-03
      • 1970-01-01
      • 2014-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多