Atom Electron捕获所有键盘事件,即使应用程序没有重点关注

Nis*_*ian 5 javascript node.js electron

我想知道是否有一种方法可以使Atom Electron的应用程序在用户不关注我的应用程序时运行并获取键盘事件。

例如,如果他在Chrome上写东西,我的应用程序将存储他按下的所有键。我搜索了一下,但没有找到解决我问题的方法。

Alo*_*try 9

对于全局快捷键,您可以使用电子键盘快捷键模块

const {app, globalShortcut} = require('electron')

app.on('ready', () => {
  globalShortcut.register('CommandOrControl+X', () => {
    console.log('CommandOrControl+X is pressed')
  })
})
Run Code Online (Sandbox Code Playgroud)

但是这个模块支持快捷键
如果您需要任何按键监听/挂钩,您应该使用另一个模块,如iohook

const ioHook = require('iohook');

ioHook.on("keyup", event => {
   console.log(event); // {keychar: 'f', keycode: 19, rawcode: 15, type: 'keup'}
});

ioHook.start();
Run Code Online (Sandbox Code Playgroud)


ccn*_*kes 6

与您正在寻找的最接近的是全局快捷方式:https : //github.com/electron/electron/blob/master/docs/api/global-shortcut.md。虽然您在Electron核心中没有任何东西可以支持立即捕获所有键盘事件,但是幸运的是,node.js可以通过本机节点插件扩展