【问题标题】:Python: get keyboard input from MagStripe readerPython:从 MagStripe 阅读器获取键盘输入
【发布时间】:2012-07-13 11:14:40
【问题描述】:

对于我的 DIY 访问控制系统,我在连接到 MagStripe 读卡器的 Raspberry Pi 上运行 Debian。刷卡时,读卡器会像键盘一样通过 USB 端口从磁条写入数据。例如,将其插入计算机,打开文本编辑器,然后刷卡,您会看到打印出来的一串数据,就像您用键盘输入的一样。

简单连接图:

Client <--ssh--> Host + card reader

唯一的问题是我通过 ssh 运行我的 Python 脚本,它不能直接听到键盘输入。

如何让 Python 监听来自 MagStripe 阅读器的键盘事件? (我需要使用键盘记录器吗?PyGame 的键盘绑定?)

感谢您的帮助!

【问题讨论】:

  • 那么读卡器是客户端还是主机哪台机器呢?
  • 主机有读卡器。

标签: python linux ssh keyboard


【解决方案1】:

在 Linux 上,可以通过 /dev/input 访问 USB 键盘。

请参阅:format of /dev/input/event*? - 该问题的答案包括用于获取事件的两个不同 Python 模块,以及指向更多文档的链接。

要将键码转换为 ASCII,请参阅How can I translate Linux keycodes from /dev/input/event* to ASCII in Perl?

您可能需要成为 root,或者更改 /dev/input 的权限。

【讨论】:

    【解决方案2】:

    可能值得将程序分成两部分:一个作为服务在启动时在树莓派上启动,默认情况下将从您的键盘设备(阅读器)获取其标准输入,另一个提供远程访问ssh 上的功能。这样可以避免直接处理 /dev 中的设备。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多