用Python监听USB键盘

11

场景:一个极简的Linux系统(ASUS路由器上的OpenWRT),一个USB键盘(假设我知道设备名称,例如/dev/hiddev0)

目标:编写一个Python(或Shell)脚本,监听此设备并根据用户输入执行一些操作

作为开始-将用户输入的字符回显到给定名称的文本文件中就足够了。

PyUSB看起来非常令人困惑。 我可以使用PySerial,但我不确定它是否适合该任务-尝试打开设备时,它会说“serial.serialutil.SerialException:无法配置端口:(22,“无效的参数”)”

更新:好吧,好的,平凡的答案是“cat / dev / input / event1”

但输出真的很神秘-有没有什么提示可以将其解释为字符int代码?

更新更新:hexdump / dev / input / event1更好! 对于每个按键,它提供6个9元组(我想,3个用于按下键,3个用于松开键) 这可能不是那么难以解密

但是更加文明的方式仍然非常感激

http://svn.navi.cx/misc/trunk/python/evdev/evdev.py看起来很有趣...


为什么不直接将字符作为用户输入捕获? - Luka Rahne
你是说读取控制台输入吗?看问题 - 这是嵌入式系统(路由器),键盘未连接到脚本“屏幕”。 - Guard
2
可能是format of /dev/input/event* ?的重复问题。 - Ignacio Vazquez-Abrams
嗯,是的,看起来像是一个答案,但一些示例代码会更好——Input.py说“子类化这个”,但具体如何并不明显。 - Guard
2个回答

6

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接