【问题标题】:How to determine from which keyboard the input comes如何确定输入来自哪个键盘
【发布时间】:2017-11-16 10:54:03
【问题描述】:

场景:

  • 我有一个 USB-RFID 阅读器
  • 将它连接到笔记本电脑上,它就像一个新连接的 USB 键盘,例如无需安装任何驱动程序
  • 接触带有 RFID 标签的阅读器时
  • 它进入我当前的窗口(例如终端/外壳)RFID号码(如0009339384\n) - 例如。它甚至发送\n
  • 所以,它就像我在笔记本键盘上键入数字一样工作

问题是:

  • 是否可以在没有一些内核级驱动程序的情况下直接读取 RFID 阅读器,例如类似cat /dev/keyboard1 ...
  • 换句话说,我如何确定字符来自哪个“键盘”?
  • 使用 OS X,但也很高兴知道适用于 Linux 的解决方案。

此外,我想附上两个阅读器 - 所以我绝对需要清楚地区分两个阅读器。而且我想在 bash (perl) 脚本中使用 rfid-reader,所以我肯定在寻找不编译一些“驱动程序”的解决方案......有可能吗?

OS X 将其标识为:

SYC ID&IC USB Reader:

  Product ID:   0x0035
  Vendor ID:    0xffff
  Version:  1.00
  Serial Number:    08FF20140315
  Speed:    Up to 1.5 Mb/sec
  Manufacturer: Sycreader RFID Technology Co., Ltd
  Location ID:  0x14100000 / 18
  Current Available (mA):   500
  Current Required (mA):    100
  Extra Operating Current (mA): 0

编辑好的,看起来在Linux中可以做到-刚刚找到

对于 OS X - 在 unix 上完全重复:https://unix.stackexchange.com/questions/228413/route-keyboard-through-only-dev-ttys000-on-mac-os-x - 不幸的是,没有任何答案就关闭了 :(

【问题讨论】:

  • hm...另外,我不确定我是否将这个问题发布到了正确的网站 - 也许 [superuser] 会更好...
  • 我想这可能是正确的做法@jm666
  • USB-RFID阅读器是HID设备吗?
  • 投票结束并转移到超级用户,但它仍然在这里...... ;(
  • @jm666 - 如果您在问题中添加一些代码,那么我觉得这将是主题(我的标准非常低)。如果您想迁移它,那么您需要标记它以引起版主的注意。没有author initiated migrations to other SE sites

标签: linux bash macos keyboard rfid


【解决方案1】:

好的,所以 - 在 Linux 中很容易解决。就像在问题中的编辑一样 - 这里已经有很多类似的问题了。

解决方案是:读取特定的/dev/input/eventN 设备。

就我而言,我使用Linux::Input perl 模块。完美运行。

在这里添加代码是没有意义的,软件包附带evtest.pl - 所以任何人都可以轻松检查它是如何工作的。

仍然需要解决一个问题 - 例如。即使在读取设备并很好地从 rfid 阅读器获取所有事件(一个数字 4 个事件)时,rfid 代码仍然插入到活动窗口中,就像它来自键盘一样。 (这将是另一个问题)。

对于 OS X,我还没有一个简单的解决方案,但现在专注于 Linux 变体。 :)

【讨论】:

    【解决方案2】:

    有一件事可以帮助您解决这个问题,而无需求助于 C 编程。它称为multiseat。我自己没有这样做,我只是知道它存在。一般来说,这是一种多人可以同时在同一台计算机上工作的方式,只需使用多个键盘、鼠标和显示器。这不是您正在寻找的,但可能有可能的方法。

    【讨论】:

    • "...无需借助 C 语言编程" - Stack Overflow 是一个编程网站。如果有评论,这可能应该是评论。
    • 真的吗?什么让你有那个想法?我没有注意到他想要 C 语言的解决方案。事实上,他的标签是 linux、bash、osx、keyboard、rfid。 bash 中编程问题的解决方案可以完全不用编程来完成,这一事实并没有减少它的解决方案。请花点时间去删除你在stackoverflow上的非编程答案。你有很多这样的。
    猜你喜欢
    • 2014-02-01
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多