Nodejs监听全局热键按下

我不使用节点作为服务器; 我正在使用它的CLI应用程序。 这个虽然需要在后台运行,并听取全球按键事件(没有焦点)。

我没有看到在Node中做这个的任何明显的方法。 我有什么select?

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

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

看起来像守护进程和按键的组合可以做你想要的。 我只用过一个节点脚本中的按键,而不是一个守护进程,所以我不知道它是否会以相同的方式工作。 但它可能! 最坏的情况是,你会发现一个解决scheme不能解决你的问题。

我只是用iohook做的。 你可以做这样的事情…

 const ioHook = require('./node_modules/iohook-master/index.js'); ioHook.on("keyup",function(keyPress){ if(keyPress.keycode == CTRLIZQ){ //do something } }); ioHook.start();