【问题标题】:Is there a USB device descriptor to determine if a device is HID or keyboard emulation?是否有 USB 设备描述符来确定设备是 HID 还是键盘仿真?
【发布时间】:2013-05-30 21:53:30
【问题描述】:

有谁知道如何从 USB 设备描述符或其他 USB 描述符中确定 USB 设备是 HID 还是键盘仿真?我正在寻找与 magtek magcard 刷卡阅读器系列的接口,它们可以配置为作为 HID 或键盘仿真运行。 magtek PID 会告诉我,但如果有人插入不同的制造商会发生什么?我正在寻找一种通用的方法来确定这一点。我正在使用 libudev 库来连接我的 USB。

另外,Linux 是否有一个通用例程来解码键盘仿真扫描代码。我有自己的查找表,它工作得很好,但我只是想知道。

史蒂夫

【问题讨论】:

    标签: keyboard hid emulation


    【解决方案1】:
    1. 判断设备是什么的唯一方法是使用 USB 设备的 PID/VID(以及类,但我相信这两种模式都被声明为 HID 类设备)。
    2. 因此,如果您插入新的制造商,则必须手动添加对它的支持。根据我的经验(我没有使用 magtek 阅读器,而是使用 tmsr33),没有阅读器在 HID 或仿真模式下的行为方式相同。一般来说,我会说最好使用 HID 模式,因为暴露的字节需要较少的转换。
    3. AFAICT,我遇到了同样的麻烦,我基本上将内核源代码中的键码/键布局复制粘贴到我自己的代码中。如果您愿意,可以直接链接到内核的源代码以获取表格。

    HTH

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-25
      • 1970-01-01
      • 2019-04-30
      • 2015-06-04
      • 1970-01-01
      • 2016-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多