我正在尝试通过usb记录来自连接到计算机的钢琴的任何输入数据。
$ lsusb
...
Bus 003 Device 046: ID fc08:0101
....
Bus 003 Device 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。
答案 0 :(得分:1)
尝试/dev/input/by-id/[Your piano]
例如,我的鼠标位于/dev/input/by-id/usb-Microsoft_Microsoft_5-Button_Mouse_with_IntelliEye_TM_-event-mouse