我正在尝试记录来自通过 USB 连接到计算机的钢琴的所有输入数据。
$ lsusb
...
Bus 003 Device 046: ID fc08:0101
....
总线 003 设备 046:ID fc08:0101
是我的钢琴。
如果我执行 $ cat/dev/bus/usb/003/046
我会得到一些奇怪的东西:
�P e�2 $ $A$$ $ $ �% %
另外,我写了一个小的 NodeJS 脚本,它应该创建一个读取流和日志数据:
var Fs = require("fs");
var str = Fs.createReadStream("/dev/bus/usb/003/046");
str.on("data", function (chunk) {
console.log("data: " + chunk.toString());
});
str.on("error", function (chunk) {
console.log("error" + chunk.toString());
});
str.on("end", function (chunk) {
console.log("ended");
});
输出:
$ node read.js
data: �P e�2 $ $A$$ $ $ �% %
ended
为什么直播结束了?如何捕获来自钢琴的数据?
是否可以解析数据并记录我按下的钢琴键?
我正在运行 Ubuntu 14.04。
最佳答案
试试 /dev/input/by-id/[你的钢琴]
比如我的鼠标在/dev/input/by-id/usb-Microsoft_Microsoft_5-Button_Mouse_with_IntelliEye_TM_-event-mouse
关于linux - 拦截输入设备发送的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24932387/