Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@elgato-stream-deck/webhid

Julusian962MIT7.5.2TypeScript support: included

An npm module for interfacing with the Elgato Stream Deck in the browser

elgato, stream, deck, streamdeck, hid, usb, hardware, interface, controller

readme

@elgato-stream-deck

Node CI codecov

@elgato-stream-deck is a collection of libraries for interfacing with the various models of the Elgato Stream Deck.
With WebHID being made publicly available it is now possible to use the Steam Deck directly in the browser.

Intended use

This library has nothing to do with the streamdeck software produced by Elgato. There is nothing here to install and run. This is a library to help developers make alternatives to that software

Installing & Usage

Check one of the installable packages for installation and usage instructions:

Have another hid target you wish to use?

The existing implementations are a light wrapper around the platform agnostic @elgato-stream-deck/core. You can use your own HID implementation and device scanning/opening logic and reuse all the streamdeck bits.

Demo

If you are using a Chromium v89+ based browser, you can try out the webhid demo

Linux

On linux, the udev subsystem blocks access to the StreamDeck without some special configuration. Copy one of the following files into /etc/udev/rules.d/ and reload the rules with sudo udevadm control --reload-rules

  • Use the headless server version when your software will be running as a system service, and is not related to a logged in user
  • Use the desktop user version when your software is run by a user session on a distribution using systemd

Unplug and replug the device and it should be usable

Contributing

The elgato-stream-deck team enthusiastically welcomes contributions and project participation! There's a bunch of things you can do if you want to contribute! Please don't hesitate to jump in if you'd like to, or even ask us questions if something isn't clear.

Please refer to the Changelog for project history details, too.

changelog

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

7.3.2 (2025-07-14)

Note: Version bump only for package @elgato-stream-deck/webhid

7.3.1 (2025-05-30)

Note: Version bump only for package @elgato-stream-deck/webhid

7.3.0 (2025-05-30)

Features

7.2.0 (2025-05-24)

Features

  • add 6 module, 15 module and 32 module (ca874d8)

7.1.2 (2024-12-09)

Note: Version bump only for package @elgato-stream-deck/webhid

7.1.1 (2024-11-14)

Note: Version bump only for package @elgato-stream-deck/webhid

7.1.0 (2024-11-14)

Bug Fixes

7.0.2 (2024-09-16)

Note: Version bump only for package @elgato-stream-deck/webhid

7.0.1 (2024-09-10)

Note: Version bump only for package @elgato-stream-deck/webhid

7.0.0 (2024-09-08)

Features

7.0.0-0 (2024-08-26)

Features

  • target nodejs 18 (5fe6c09)
  • rework how device functionality is exposed
  • rework events structure

6.2.2 (2024-07-11)

Note: Version bump only for package @elgato-stream-deck/webhid

6.2.1 (2024-07-11)

Note: Version bump only for package @elgato-stream-deck/webhid

6.2.0 (2024-04-30)

Bug Fixes

Features

6.1.0 (2024-04-21)

Bug Fixes

Features

6.0.0 (2023-11-29)

Features

5.7.3 (2023-06-20)

Note: Version bump only for package @elgato-stream-deck/webhid

5.7.1 (2023-01-17)

Bug Fixes

  • webhid: Ignore hid devices which are non-streamdeck #60 (b212d4e)

5.7.0 (2022-11-15)

Features

Reverts

  • Revert "chore: switch to yarn3" (45f6137)

5.6.0 (2022-09-30)

Note: Version bump only for package @elgato-stream-deck/webhid

5.6.0-alpha.0 (2022-09-25)

Note: Version bump only for package @elgato-stream-deck/webhid

5.5.0 (2022-07-25)

Note: Version bump only for package @elgato-stream-deck/webhid

5.5.0-alpha.1 (2022-07-25)

Note: Version bump only for package @elgato-stream-deck/webhid

5.5.0-alpha.0 (2022-07-08)

Note: Version bump only for package @elgato-stream-deck/webhid

5.4.0 (2022-05-10)

Bug Fixes

  • add missing tslib dependency (6b53699)

5.4.0-alpha.0 (2022-04-12)

Features

  • support for the pedal (untested) (ccc4389)

5.3.1 (2022-02-21)

Bug Fixes

  • ensure build before publish (786ad79)

5.3.0 (2022-02-21)

Features

  • allow the original 15 key to be used in webhid (7ff5624)

5.2.0 (2022-01-25)

Note: Version bump only for package @elgato-stream-deck/webhid

5.2.0-alpha.1 (2022-01-19)

Note: Version bump only for package @elgato-stream-deck/webhid

5.2.0-alpha.0 (2022-01-18)

Note: Version bump only for package @elgato-stream-deck/webhid

5.1.2 (2021-12-02)

Note: Version bump only for package @elgato-stream-deck/webhid

5.1.1 (2021-07-19)

Note: Version bump only for package @elgato-stream-deck/webhid

5.1.0 (2021-07-19)

Features

  • support streamdeck mk2 (15 key, new style) (a239503)

5.0.0 (2021-03-07)

Initial release