如何判断输入来自哪个键盘

2024-06-24

设想:

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

问题是:

  • 是否可以直接读取 RFID 读取器而无需某些内核级驱动程序,例如就像是cat /dev/keyboard1 ...
  • 换句话说,我如何确定角色来自哪个“键盘”?
  • 使用 OS X,但也很高兴知道 Linux 的解决方案。

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

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

EDIT好的,看起来在 Linux 中可以做到 - 刚刚发现

  • this https://unix.stackexchange.com/questions/72483/how-to-distinguish-input-from- different-keyboards https://unix.stackexchange.com/questions/72483/how-to-distinguish-input-from-different-keyboards
  • also 在linux中通过C++(或python)访问多个键盘输入 https://stackoverflow.com/questions/10209252/accessing-multiple-keyboards-input-by-c-or-python-in-linux

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


好的,那么 - 在 Linux 中很容易解决。正如问题中的编辑一样 - 这里已经有很多类似的问题了。

解决办法是:阅读具体内容/dev/input/eventN设备)。

就我而言,我使用Linux::输入 https://metacpan.org/pod/Linux::InputPerl 模块。工作完美。

在这里添加代码是没有意义的,软件包附带了evtest.pl https://metacpan.org/source/BEPPU/Linux-Input-1.03/bin/evtest.pl- 这样任何人都可以轻松检查它是如何工作的。

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何判断输入来自哪个键盘 的相关文章

  • 为什么在setsid()之前fork()

    Why fork before setsid 守护进程 基本上 如果我想将一个进程与其控制终端分离并使其成为进程组领导者 我使用setsid 之前没有分叉就这样做是行不通的 Why 首先 setsid 将使您的进程成为进程组的领导者 但它也
  • SSD 上的 MySQL 基准测试:工具和策略

    我目前正在将我的服务器从在硬盘驱动器上运行 MyISAM 切换到在 SSD 上运行 InnoDB 我有一个3 800 000 行 16GB 表作为基准表 我的服务器设置 Ubuntu 64 Nginx MySQL 5 5 我心里有两件事我想
  • macOS High Sierra 与 CAShapeLayers、NSImageView、NSTableView 冲突

    我已经更新到 macOS High Sierra 现在我的项目出现了意想不到的问题 这些问题以前在 macOS Sierra 中没有见过 我有自定义 NSImageView 并在其中拖放图像后NSImageView我可以使用在图像顶部绘制矩
  • ngx_http_brotli_filter_module.so" 与 /etc/nginx/nginx.conf:1 中的二进制不兼容

    Using Nginx 1 17 3 and Nginx 1 14 0在两台独立服务器上的 Ubuntu 18 上 两者都显示相同的错误ngx http brotli filter module so is not binary compa
  • 对于位字段,使用 unsigned char 或 unsigned int 哪一个更好?为什么?

    我只想了解以下结构声明 哪一种更适合用于内存分配 为什么 如果是 unsigned char 和 unsigned int 那么填充又如何呢 struct data unsigned char a 3 unsigned char b 4 a
  • 如何针对 Mac OS X 10.5 进行编译

    我想编译 10 5 及更高版本的应用程序 自从我升级到 Snow Leopard 并安装了最新的 XCode 后 gcc 默认为 10 6 我试过了 isysroot Developer SDKs MacOSX10 5 sdk但这似乎不起作
  • 如何测量 Linux 中给定进程的活动导致的净使用磁盘空间变化?

    我想监视正在运行的进程的磁盘空间需求 理想情况下 我希望能够指向一个进程并找出由该进程引起的已用磁盘空间的净变化 在 Linux 中是否有一种简单的方法可以做到这一点 我很确定在 Solaris 中使用 DTrace 执行此操作是可行的 尽
  • 从 Bash 中的字符串中删除固定前缀/后缀

    我想从字符串中删除前缀 后缀 例如 给定 string hello world prefix hell suffix ld 我如何得到以下结果 o wor prefix hell suffix ld string hello world f
  • 如何在 Mac v 10.7.2 上安装/使用 php

    我是对使用 PHP 感兴趣的普通大学生 谁能告诉我 101 如何使用简单明了的语言在 mac 版本 10 7 2 上安装 启用它 我将感谢任何和所有的帮助 Cheers 无需安装 PHP 或 Apache 它们已随 Mac 10 7 一起提
  • 在 BASH 中按字节读取文件

    我需要读取指定文件的第一个字节 然后读取第二个字节 第三个字节 依此类推 我怎样才能在 BASH 上做到这一点 P S 我需要获取这个字节的十六进制 完全重写 2019 年 9 月 比以前的版本更短更简单 速度更快 但没那么快 Yes ba
  • 何时为自定义视图创建 Interface Builder 插件?

    您何时建议使用插件将自定义视图集成到 Interface Builder 中 当浏览苹果的时候Interface Builder 插件编程指南 http developer apple com documentation Developer
  • 按 bash 中的“最后一个”值分组

    我有一个两列的文件 1 112 1 123 2 123 2 124 2 144 3 158 4 123 4 158 5 123 我需要知道每列 1 的最后一列 2 值 1 123 2 144 3 158 4 158 5 123 如何做到这一
  • 如何在 Linux 上的 php 中启用 --enable-soap?

    这就是问题所在 我在 Apache 上安装了 PHP 5 2 9 但无法升级 PHP 有没有办法在 PHP 5 2 9 中启用 SOAP PHP 手册中说 要启用 SOAP 支持 请使用 enable soap 配置 PHP 这根本没有帮助
  • 安装 gulp browserify 总是报错

    我尝试使用以下命令安装 gulp browserify npm install gulp browserify save dev 我已经成功安装了许多其他软件包 例如 gulp autoprefixer gulp concat gulp m
  • 使用可加载内核模块修改帧缓冲区(/dev/graphics/fb0)参数

    Problem 我必须配置 Android 平台使用的各种 LCD 显示器 几乎在所有情况下 都没有针对感兴趣的 LCD 显示器免费提供的电气规格 但通过经验和逆向工程 可以很好地猜测参数 我正在尝试使用可加载内核模块来微调显示参数 也欢迎
  • bash shell 嵌套 for 循环

    我想编写一个必须在 bash shell 提示符下工作的嵌套 for 循环 在单行命令中嵌套 for 循环 例如 for i in a b do echo i done a b 在上面的例子中 for循环是在单行命令中执行的 像这样 我在
  • 如何检查 Linux 控制台屏幕保护程序是否黑屏

    有没有办法以编程方式 通过 ioctl 等 或通过读取 sys proc 或 dev 中的文件 检查屏幕是否已被 Linux 控制台屏幕保护程序清空 谢谢并致以最诚挚的问候 G nter 好的 检查了 相关代码部分是 include
  • BASH:[ ](测试)行为不一致

    在我的狂欢中test有态度以身份退出0 test n echo true echo false gt true while test n echo true echo false gt false 这意味着当它根本没有收到任何参数时 它假设
  • cURL 错误 28:5001 毫秒后解析超时

    我使用 WordPress 最近将我的网站从 cpanel 主机移动到带有 directadmin 面板的 Linux 服务器 转账后立即发现客户在通过EDD插件下载时出现以下错误 cURL 错误 28 5001 毫秒后解析超时 我也遇到了
  • 如何在 Swift Playground 中将文本转换为 OSX 语音

    我正在尝试学习如何为 OSX 进行文本转语音 notiOS 在 Swift 中 我有一个带有代码的游乐场 import Cocoa let synth NSSpeechSynthesizer synth startSpeaking Hell

随机推荐