The WebHID API enables web applications to interact with Human Interface Devices (HIDs) over USB and Bluetooth beyond standard system input mappings (such as mice, keyboards, touchscreens, and standard gamepads). Web applications can request user permission to connect to HID devices, send and receive input, output, and feature reports, and inspect report descriptors. WebHID shipped on desktop platforms (Windows, macOS, Linux, and ChromeOS) in Chrome 89.
Chrome 158 brings the existing WebHID API to Chrome on Android (relying on new OS support in Android 17 / API level 37 and later) with no changes to the web-exposed API surface.
Popular uses today include customizing mechanical keyboards, keypads, and gaming mice, calibrating gamepads, and integrating hardware headset call controls in call centers.
WebView is not supported, as it does not have a device chooser UI or permissions UX controls.
This feature can be controlled using the following enterprise policies:
For more details, see Set ChromeOS devices policies in the Chrome Enterprise and Education Help Center.