我正在尝试为Sheevaplug编写一个POS风格的应用程序,它执行以下操作:
>捕获读卡器的输入(据我所知,大多数磁卡读卡器模拟键盘输入,所以基本上我想捕获它)
>不需要X.
>在后台运行(守护进程)
我已经看到了等待STDIN的代码示例,但这不起作用,因为这是一个没有登录的后台进程,实际上甚至不是监视器.
我还在这个网站上找到了这个片段elsewhere:
from struct import unpack
port = open("/dev/input/event1","rb")
while 1:
a,b,c,d = unpack("4B",port.read(4))
print a,b,c,d
虽然它是迄今为止我所需要的最接近的东西,但它只生成一系列数字,所有这些都是不同的,我不知道将它们转化为有用的值.
显然,我在这里遗漏了一些东西,但我不知道它是什么.有人可以请求如何完成其余的工作?
解决方法:
Linux内核input documentation的第5节描述了事件接口中每个值的含义.