我正在尝试捕获linux键盘/鼠标输入,我正在阅读类似/dev/input/event2
的事件。但似乎输入有时指向/dev/input/event2
,有时指向/dev/input/event3
。我想知道是否有一个地方我可以找出哪个流有输入?
答案 0 :(得分:66)
偶然发现了这一点 - 当天晚些时候。
您可以使用以下方法查找不同设备的名称和其他属性:
cat /proc/bus/input/devices
答案 1 :(得分:17)
使用evtest非常有帮助。 它可以按名称列出所有输入设备,并允许您监控每个设备的事件。
答案 2 :(得分:11)
要找到答案,请转到/dev/input/by-id
或/dev/input/by-path
并执行操作
ls -l
找出哪个符号链接指向哪个event<*>
。
此外,我认为对于所有遇到此页面的人来说,找到有用的link来捕获键盘事件的代码会很有帮助。
答案 3 :(得分:4)
在终端中运行它,它可以正常工作:
cat /proc/bus/input/devices | awk '/keyboard/{for(a=0;a>=0;a++){getline;{if(/kbd/==1){ print
$NF;exit 0;}}}}'
答案 4 :(得分:0)
我知道现在回复有点晚了,但是我希望这对朋友有帮助。
“鼠标”包含鼠标输入数据,但是要查找与键盘相关的文件,我们需要检查“ by-path”文件夹中的文件,键盘文件名以“ event-kbd ”结尾”。我们需要找到键盘的链接,然后才能找到键盘事件文件。以下命令可以为我们自动执行此操作:
kbdEvents=($(ls /dev/input/by-path | grep "event-kbd"))
for forCounter in "${kbdEvents[@]}"
do
eventFile=$(readlink --canonicalize "/dev/input/by-path/${forCounter}")
# do anything ...
done
此代码是我个人网站mazKnez.com
上的休息时间代码的一部分。