通过您的应用连接到不常见的设备。
WebHID API 是什么?
许多人机接口设备 (HID) 太新、太旧或不常见,无法由系统的设备驱动程序访问。为解决此问题,WebHID API 提供了一种在 JavaScript 中实现设备专用逻辑的方法。
WebHID API 的建议用例
HID 从人类那里获取输入或向人类提供输出。设备示例包括键盘、指控设备(鼠标、触摸屏等)和游戏手柄。借助 HID 协议,可以使用操作系统驱动程序在桌面设备上访问这些设备。Web 平台通过依赖这些驱动程序来支持 HID。
当涉及到游戏手柄支持时,无法访问不常见的 HID 设备尤为痛苦。专为 PC 设计的游戏手柄通常将 HID 用于游戏手柄输入(按钮、操纵杆、触发器)和输出(LED、振动)。但是,游戏手柄输入和输出没有完全标准化,网络浏览器通常需要特定设备的自定义逻辑。这种做法不可持续,导致对旧款和不常见设备的长尾提供支持欠佳。它还会导致浏览器依赖于特定设备的行为中存在的怪异现象。
演示,演示,演示
如果您想了解这些示例的工作原理,可以前往 GitHub 获取所有示例的源代码。解释器中有一个准系统代码示例。
MacBook Pro 键盘背光
尝试这些演示版的最大障碍是无法访问设备。幸运的是,如果您使用的是带有 TouchBar 的 MacBook Pro,则无需购买任何东西。通过这个演示,您可以直接在笔记本电脑上使用 API。此外,还介绍了如何使用 WebHID 解锁内置设备(而不仅仅是外围设备)的功能。
作者:FWeinb
演示/来源:键盘背光
游戏控制器
PlayStation 4 无线控制器
接下来是你可能拥有的东西。索尼的 DualShock 4 是一款适用于 PlayStation 4 游戏机的无线控制器。
DualShock 4 演示版使用 WebHID 从 DualShock 4 接收原始输入报告,并提供了一个高级 API 来访问控制器的陀螺仪、加速度计、触控板、按钮和拇指杆输入。此外,它还支持 Rumble 以及设置控制器内装有 RGB LED 的颜色。
作者:TheBITLINK
演示:DualShock 4 演示(来源)
任天堂 Switch Joy-Con 控制器
玩转 Chrome 恐龙 🦖? 离线游戏,把任天堂 Switch Joy-Con 控制器放在裤子口袋里实际跳跃。此演示由 Joy-Con WebHID 提供支持,Joy-Con WebHID 是任天堂 Switch Joy-Con 控制器的 WebHID 驱动程序。
作者:Thomas Steiner
演示:Chrome Dino WebHID(演示源代码,驱动程序源代码)
《The BlinkStick Stick》
BlinkStick Strip 是一款符合 HID 标准的灯条,配有 8 个 RGB LED。该演示允许用户从多种闪烁模式中进行选择,包括追逐、闪烁和拉尔森扫描器(也称为 Cylon)。
作者:Robat Williams
演示:blinkstick-strip(来源)
眨眼
此演示版是做什么的?(请稍候。)它闪烁。实际上,有三个演示 使用闪烁(1) USB 通知指示灯
blink(1) 很简单,而且记录详尽,因此非常适合开始使用 HID。
作者:Tod E. Kurt
演示: blink(1)(来源)
致谢
感谢 Pete LePage 和 Kayce Basques 审核本文。
照片由 Ugur Akdemir 拍摄,选自 Unsplash 网站