检测系统范围内按键按下?(node.js?)

7

即使我的节点应用程序没有焦点,是否仍然可以检测按键?

早些时候,有一个用于魔兽世界的工具,它会在按下键盘按钮时快速将鼠标移动到某个位置并触发点击。该工具可能仍适用于Windows,但我计划为Mac(或使用node.js甚至系统范围)构建类似的工具,并非特定于魔兽世界。

我搜索了很多并找到了几个移动鼠标和发送按键的工具,如nodemacmouserobojs,但是我找不到任何可以检测系统范围内键盘输入的工具(这是至关重要的,因为移动应该仅在按键时发生)。这似乎可以在cocoa中实现,但是node解决方案将无缝衔接。可能吗?怎么做?谢谢。


2
Electron 可以做这件事情:https://github.com/electron/electron/blob/master/docs/api/global-shortcut.md你可以查看他们的实现,或者简单地构建一个无头 electron 应用。 - Aljoscha Meyer
1个回答

0

我花了很长时间才找到一个能够捕获键盘事件的软件包,但是这个软件包在Ubuntu和OpenWRT上为我完成了工作:

https://www.npmjs.com/package/input-event

来自文档:

var InputEvent = require('input-event');

var input = new InputEvent('/dev/input/event0');

var keyboard = new InputEvent.Keyboard(input);

keyboard.on('keyup'   , console.log);
keyboard.on('keydown' , console.log);
keyboard.on('keypress', console.log);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接