所以,经过一点点搜索......找到了以下方法来捕获我的USB二维码扫描器的输入。
import sys
pipe = open('/dev/input/event3', 'r')
while 1:
for character in pipe.read():
print(character)
它有效,但我仍然有两个关于上述方法的问题。
我在使用Debian Wheezy和GUI的Raspberry设备上,可以确认在GUI上发生问题2 ...在没有GUI的系统上还不知道输出
我想我错过了解释上面代码的结果,因为它最终输出了ASCII字符,所以我最终做了以下内容:
sys.stdin = open('/dev/tty')
a = raw_input('Scan: ')
答案 0 :(得分:1)
问题1实际上取决于您的QR扫描仪。我认为你很幸运,因为很多时候,USB设备都有复杂的协议来与主机通信。例如,使用鼠标,您如何区分点击和鼠标移动?你需要某种数据格式来交换。
问题2可能是因为你的方法在pipe.read()处阻塞,等待输入。不知何故,只有右键单击结束read()函数并允许打印输出