如何确定输入来自哪个键盘

时间:2017-06-14 10:31:22

标签: linux bash macos keyboard rfid

情景:

  • 我有一个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 - 遗憾的是,没有任何答案就关闭了:(

2 个答案:

答案 0 :(得分:0)

好的,所以 - 在Linux中很容易解决。正如在问题中的编辑 - 这里已经有很多类似的问题。

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

在我的情况下,我使用Linux::Input perl模块。效果很好。

此处添加代码毫无意义,该软件包附带evtest.pl - 因此任何人都可以轻松查看其工作原理。

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

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

答案 1 :(得分:-1)

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