![如何从 /dev/inputs/eventX 上的串行键盘读取字符(速度?)](https://linux22.com/image/38074/%E5%A6%82%E4%BD%95%E4%BB%8E%20%2Fdev%2Finputs%2FeventX%20%E4%B8%8A%E7%9A%84%E4%B8%B2%E8%A1%8C%E9%94%AE%E7%9B%98%E8%AF%BB%E5%8F%96%E5%AD%97%E7%AC%A6%EF%BC%88%E9%80%9F%E5%BA%A6%EF%BC%9F%EF%BC%89.png)
我试图从第二个键盘读取数据,该键盘的输入可以从 /dev/inputs/eventX 读取,但我得到的是垃圾,而不是预期的字符。
我正在使用 Putty 访问我的目标。我可以通过串行调试端口 115200 或通过 IP 连接的 SSH 连接到我的目标。
从那一刻起,我有了自己的终端,可以在其中输入内容cat /dev/input/eventX
,当从第二个键盘输入字符“a”、“b”或“c”时,我得到的只是无意义的内容(多个字节),而且从来都不是相同的输入。我尝试改变读取速度但没有更好的结果。 (例如 9200Bps 但仍然是胡说八道)。
是否需要更改速度配置或通信设置?如何获取我的 ASCII 字符?
root@SANTARO:~ od -x < /dev/input/eventX
0000000 1569 0000 a3ba 0004 0004 0004 0005 0007
0000020 1569 0000 a3c6 0004 0001 0030 0001 0000
0000040 1569 0000 a3ca 0004 0000 0000 0000 0000
0000060 1569 0000 b0ee 0007 0004 0004 0005 0007
0000100 1569 0000 b0f5 0007 0001 0030 0000 0000
0000120 1569 0000 b0f7 0007 0000 0000 0000 0000
答案1
从这些特殊文件读取的数据是 input_event 类型的结构,在 linux/input.h 中定义,并记录在输入/输入.txt。