使用NodeJS在Linux上捕获全局键盘事件

时间:2014-07-07 23:12:13

标签: linux node.js keyboard-events sysfs

我有一台无头的Debian ARM机器,我正在运行Node。该设备具有使用gpio-keys映射到普通键盘事件的硬按钮。

我的目标是从硬按钮以及Node中的任何附加键盘捕获全局事件。我需要一个能够独立于其运行的终端捕获keydown / keyup事件的解决方案(它将通过SSH会话运行)。它不必是跨平台的,只要它适用于ARM Debian,我就会接受它。

我想象的是直接从任何sysfs属性中读取的东西,但这不是必需的。

任何人都可以帮我这个吗?我已经被困了一段时间。

1 个答案:

答案 0 :(得分:1)

其中一个设备文件/dev/input/event*将代表gpio-keys设备。你可以通过多种方式找出哪一个;一个简单的方法是查看设备的uevent文件的内容,例如/sys/class/input/event0/device/uevent。它包含许多有用的键值属性。

一旦你弄清楚了你想要的设备,就可以打开并阅读它。它将返回struct input_event中的<linux/input.h> s流,如{{1}}中所定义。这些事件将对应于每个按钮的按下和释放。

您可能还想查看至少部分问题的现有解决方案,例如节点键盘:https://github.com/Bornholm/node-keyboard