Linux 键盘输入读取

需求 读取二维码 DataMatrix 格式的扫码头是 usb 接口,通过键盘输入的形式输出数据。程序需要读取这些数据。 解决 设备信息 获取设备信息 键盘输入在 linux 当中属于 input 子系统,对应的设备号是 /dev/input/eventX, 如果希望知道自己的设备具体对应那个,可以使用下面这条命令来获取所有的输入设备信息。如果希望了解输入的更多内容,可以查看 https://www.kernel.org/doc/Documentation/input/input.txt cat /proc/bus/input/devices I: Bus=0019 Vendor=2454 Product=6575 Version=0010 N: Name="mtk-kpd" P: Phys= S: Sysfs=/devices/platform/mtk-kpd/input/input0 U: Uniq= H: Handlers=event0 B: PROP=0 B: EV=3 B: KEY=1c0000 0 0 0 I: Bus=0019 Vendor=0000 Product=0000 Version=0000 N: Name="ACCDET" P: Phys= S: Sysfs=/devices/virtual/input/input1 U: Uniq= H: Handlers=event1 B: PROP=0 B: EV=3 B: KEY=80 0 78 0 40c0000 0 0 0 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="hwmdata" P: Phys= S: Sysfs=/devices/virtual/input/input2 U: Uniq= H: Handlers=event2 B: PROP=0 B: EV=5 B: REL=2 分析设备信息 根据上面的输出信息,可以根据 Name 这一行大概找到自己的设备,如果希望知道设备支持的详细内容可以查看 EV 值,根据 /usr/include/linux/input-event-codes....

2023-03-14 · 8 min · 1570 words · RamLife