Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-webhid
Curated list of resources relating to the WebHID (Human Interface Device) API
https://github.com/robatwilliams/awesome-webhid
Last synced: 3 days ago
JSON representation
-
Specification & documentation
- 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
- Chromium implementation tracking bug: WebHID API - Labelled with targeted & stable release versions; see the [development/release calendar](https://www.chromium.org/developers/calendar).
-
Devices
-
Candidates
- Cleware - sensors, switches, and lights (see [clewarecontrol](https://www.vanheusden.com/clewarecontrol/), [sniner/cleware](https://github.com/sniner/cleware))
- Cleware - sensors, switches, and lights (see [clewarecontrol](https://www.vanheusden.com/clewarecontrol/), [sniner/cleware](https://github.com/sniner/cleware))
- Espruino Pico - has an [USB HID mode](https://www.espruino.com/USB), might also be useful as an emulator?
- Standard USB HID Specification
- (ref)
- X-keys - keyboards, switches, analog controls, and pedals (see [HID Data Reports](https://xkeys.com/software/developer/developerhiddatareports.html), [Integration](https://xkeys.com/software/developer/developerintegration.html), [xkeys](https://github.com/SuperFlyTV/xkeys), [node-xkeys](https://github.com/macoss/node-xkeys))
-
- Blink(1) - notification light (see demos section, and prior art [node-blink1](https://github.com/sandeepmistry/node-blink1)).
- BlinkStick - light devices and controllers (see demos section, and prior art [blinkstick](https://github.com/arvydas/blinkstick-node))
- Elgato Stream Deck - programmable button panel (see demos, and libraries)
- Razer Kraken Kitty Edition Headset - headset with customizable LED lighting
- Sony DualShock 4 - controller for PlayStation 4 (see libraries section)
- Nintendo Joy-Cons
-
-
Inspiration from elsewhere
-
Candidates
- 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.
- chrome.hid API sample - Generic input/output Chrome App sample.
- blink(1) using the chrome.hid API - Chrome App sample that controls a [Blink(1)](https://blink1.thingm.com) notification LED.
- 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).
- Griffin Powermate Playground - Using WebUSB.
-
-
Libraries
-
Candidates
- TheBITLINK/WebHID-DS4 - using a DualShock 4 controller.
- @elgato-stream-deck/webhid - using the Elgato Stream Deck (see demos).
- tomayac/joy-con-webhid - using Nintendo Joy-Cons.
-
-
Demos, experiments & hacks
-
Candidates
- todbot/blink1-webhid - using the blink(1).
- Elgato StreamDeck - using the Elgato Stream Deck (via [@elgato-stream-deck/webhid](https://github.com/julusian/node-elgato-stream-deck)).
- robatwilliams/webhid-demos - using the BlinkStick Strip.
- tomayac/chrome-dino-webhid - using Nintendo Joy-Cons.
- tomayac/joy-con-webhid/demo/ - using Nintendo Joy-Cons.
-
-
Real-world applications
-
Candidates
- Kraken Kitty Edition Controller - Control the LED lighting on your Razer Kraken Kitty Edition headset.
- Ergometer Space - Track your indoor rowing exercise, alone or with other online users.
- Remap - Customize a keyboard's keymap (see [remap-keys/remap](https://github.com/remap-keys/remap)).
-
-
Related
-
Candidates
-
-
Bluetooth, USB, & HID reference
-
Candidates
- A Closer Look at HID Class - Explanation of USB HID, with enough detail yet easy to follow.
- Understanding HID report descriptors - Understanding devices' descriptions of themselves.
- Human Interface Devices (HID) Information - IF)) - Including the device class definition, and usage tables.
- Human Interface Device Profile specification - "An adaptation of the USB HID Specification to operate over a Bluetooth wireless link."
-
-
Good to know
- top-level HID collections - dev/OaDCpCaEe_4/uZ0z7frlAAAJ]), [(ref2)](https://discourse.wicg.io/t/human-interface-device-hid-api/3070/6])</sup>.
- (ref) - bluetooth/issues/393)</sup> APIs allow access to HID-class devices.
-
Blogs & articles
- Upcoming WebHID API - access Bluetooth/USB HID devices in web applications - An introduction to WebHID with an example showing how to open, listen for input and send output to a device.
-
Tools
-
Candidates
- USBDeview - View device information.
- USB Device Tree Viewer - View device information including interface and HID descriptors.
-
-
Ideas
-
Candidates
-
-
Forums & discussion
-
Candidates
- Human Interface Device (HID) API - Introduction by the editor of the specification, and answers to questions.
-
Programming Languages
Categories
Sub Categories