【发布时间】:2011-08-26 01:21:16
【问题描述】:
设置:一个简约的 Linux(ASUS 路由器上的 OpenWRT),一个 USB 键盘(假设我知道设备名称,例如 /dev/hiddev0)
目标:编写一个python(或shell,在这种情况下我可以像python的代理一样使用它)脚本,它将监听这个设备并根据用户输入执行一些操作
作为开始 - 足以将用户输入的字符回显到给定名称的文本文件中。
PyUSB 看起来真的很混乱。 我对 PySerial 没问题,但我不确定它是否适合任务 - 当尝试打开设备时,它说“serial.serialutil.SerialException:无法配置端口:(22,'无效参数')”
UPD:好吧,简单的答案是“cat /dev/input/event1”
但是输出真的很神秘 - 任何关于解释它的提示(作为字符 int 代码)?
UPD UPD:hexdump /dev/input/event1 更好! 它为每次按键提供 6 个 9 元组(我想,3 个按键,3 个按键) 解密它可能不会那么困难
但更文明的方式仍然受到高度赞赏
http://svn.navi.cx/misc/trunk/python/evdev/evdev.py 看起来很有趣...
【问题讨论】:
-
为什么不直接捕获字符作为用户输入?
-
你的意思是读取控制台输入?阅读问题 - 它是嵌入式系统(路由器),键盘未连接到脚本“屏幕”
-
嗯,是的,看起来像一个答案,虽然一些示例代码会很好——Input.py 说“子类这个”,虽然不清楚具体如何