awesome-webhid
github.com/robatwilliams/awesome-webhid ↗Curated list of resources relating to the WebHID (Human Interface Device) API
Use this list with your AI agent
Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:
"Show me candidates resources from awesome-webhid"
Installation instructions →What's inside
Bluetooth, USB, & HID reference
- A Closer Look at HID Class
Explanation of USB HID, with enough detail yet easy to follow.
- Human Interface Device Profile specification
"An adaptation of the USB HID Specification to operate over a Bluetooth wireless link."
- Human Interface Devices (HID) Information
Including the device class definition, and usage tables.
- Understanding HID report descriptors
Understanding devices' descriptions of themselves.
Devices
- Blink(1)
notification light (see demos section, and prior art
- BlinkStick
light devices and controllers (see demos section, and prior art
- ClewareCandidates
sensors, switches, and lights (see
- Elgato Stream Deck
programmable button panel (see demos, and libraries)
- Espruino PicoCandidates
has an
- Nintendo Joy-Cons
Inspiration from elsewhere
- blink(1) using the chrome.hid API
Chrome App sample that controls a
- chrome.hid API sample
Generic input/output Chrome App sample.
- Griffin Powermate Playground
Using WebUSB.
- Interacting with USB HID devices from web apps
Using a Chrome App as a go-between between a dictation foot pedal and a web application (2015).
- node-hid examples
Despite the name, most directly use low-level read/write operations rather than HID abstractions.
- Web Bluetooth Demos
Various, plus links to others.
Related
Specification & documentation
- Chromium implementation tracking bug: WebHID API
Labelled with targeted & stable release versions; see the
- WebHID API Specification
Including introduction, motivating applications, and security/privacy.
- WebHID Explainer
The what & why in a nutshell, including basic terminology and an example. Some API details outdated.
- WebHID (Human Interface Device) - Chrome Platform Status
Chrome Platform Status
Demos, experiments & hacks
- Elgato StreamDeck
using the Elgato Stream Deck (via
- robatwilliams/webhid-demos
using the BlinkStick Strip.
- todbot/blink1-webhid
using the blink(1).
- tomayac/chrome-dino-webhid
using Nintendo Joy-Cons.
- tomayac/joy-con-webhid/demo/
using Nintendo Joy-Cons.
Libraries
- @elgato-stream-deck/webhid
using the Elgato Stream Deck (see demos).
- TheBITLINK/WebHID-DS4
using a DualShock 4 controller.
- tomayac/joy-con-webhid
using Nintendo Joy-Cons.
Real-world applications
- Ergometer Space
Track your indoor rowing exercise, alone or with other online users.
- Kraken Kitty Edition Controller
Control the LED lighting on your Razer Kraken Kitty Edition headset.
- Remap
Customize a keyboard's keymap (see
Showing a sample of 51 resources. View the full list on GitHub →