Nodejs监听全球热键新闻

Far*_*her 17 node.js

我没有使用Node作为服务器; 我正在将它用于CLI应用程序.这个虽然需要在后台运行并监听全局按键事件(没有焦点).

在Node中我没有看到任何明显的方法.我有什么选择?

Alo*_*try 7

看起来你需要所有键盘事件的全局钩子.
你可以试试iohook模块.使用非常简单:

const ioHook = require('iohook');
ioHook.on("keypress", event => {
  console.log(event);
  // {keychar: 'f', keycode: 19, rawcode: 15, type: 'keypress'}
});
ioHook.start();
Run Code Online (Sandbox Code Playgroud)

  • 似乎不会为较新版本的 Node 安装 ihook。我使用的是 Node v8.1.4,它无法安装,并且无法编译,因为“npm install”在安装失败后不会留下任何工件。 (4认同)

tan*_*ols 2

看起来守护进程按键的组合可以满足您的要求。我只在节点脚本中使用过按键,而不是守护进程,所以我不知道它是否会以同样的方式工作。但有可能!在最坏的情况下,您会发现一种解决方案无法解决您的问题。