【问题标题】:custom HID device no longer supported by WebUSB?WebUSB 不再支持自定义 HID 设备?
【发布时间】:2018-05-16 21:58:17
【问题描述】:

几周前,WebUSB 能够在 MAC 和 Window 平台上与我的自定义 HID 设备进行通信。

现在看来,最新的 Chrome 更新 (65.0.3325.162) 已在 Window 平台上删除了此支持。 https://chromium-review.googlesource.com/c/chromium/src/+/951635

有人可以确认一下吗? 那么自定义 HID 设备与 WebUSB 配合使用的解决方案是什么?

【问题讨论】:

    标签: webusb


    【解决方案1】:

    没错。在所有平台上,宣传 HID 协议的设备将由系统 HID 驱动程序声明,不应由使用 WebUSB API 的站点声明。

    如果您想连接到 HID 接口,您需要修改设备,使该接口不再被标记为 HID。

    有关此政策的更多信息,请参阅this thread

    【讨论】:

    • 感谢您的回复。听到这个消息很难过 :( Chrome 正在删除除 chrome OS 之外的所有平台上的 chrome 应用程序,所以我猜 chrome.hid 将不再可用。所以自定义 HID 设备无法与网络一起使用。我说的对吗?
    • 目前是正确的。由于我从事网络标准工作,并且总是对人们感兴趣的新用例感兴趣,请问这是什么类型的设备?如果是“自定义 HID”,是人机界面设备还是其他类型的外围设备?
    • 除了正常的 HID 功能(打开/关闭 LED)外,该设备还使用 HID 接口来升级其 FW
    • @ReillyGrant 当您在寻找用例时:许多专用输入设备都是隐藏设备。我正在尝试将脚踏开关连接到由于上述原因无法正常工作的 web 应用程序。
    • @ReillyGrant 我们开发了几种专用的 HID 设备,它们可以发送任意数据,并且可以通过 USB 进行配置或固件升级。我们可以使用 CDC 类(并且仍然可以更改为 CDC),但 HID 类具有最终用户不必安装任何驱动程序的显着优势。我们的应用程序目前是 Chrome 应用程序,因此我们正在寻找一种迁移到渐进式 Web 应用程序的路径......即使我们使用 CDC,我也不知道对网络应用程序中的串行支持有任何支持。
    【解决方案2】:

    作为 Windows 上的“解决方法”,您可以按照 http://gerritniezen.com/2017/10/connecting-to-usb-devices-with-your-browser/ 中的建议告诉操作系统使用 WinUSB 驱动程序而不是 HIDUSB

    我使用 Zadig 工具强制使用 WinUSB 驱动程序,它对我有用。我可以通过 Chrome 和 WebUSB 与我的 HID 设备通信。

    在我的笔记本电脑上,只要未恢复驱动程序开关,HIDUSB 驱动程序就不会再访问此 HID 设备(因此某些应用程序无法再与其通信)。但在其他笔记本电脑上,它仍然可以作为标准 USB HID 设备使用。

    我仍在寻找允许 Chrome 直接声明 HID 设备的方法/解决方法...

    【讨论】:

    • 你是对的。使用 Zadig 或 inf 文件会有所帮助。但这对最终用户来说并不方便。我认为 Reilly Grant 在他对这篇文章的回复中确认了没有解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    相关资源
    最近更新 更多