elgato-stream-deckdeprecated

An npm module for interfacing with the Elgato Stream Deck

Usage no npm install needed!

<script type="module">
  import elgatoStreamDeck from 'https://cdn.skypack.dev/elgato-stream-deck';
</script>

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. Save the following to /etc/udev/rules.d/50-elgato.rules and reload the rules with sudo udevadm control --reload-rules

SUBSYSTEM=="input", GROUP="input", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0060", MODE:="666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0063", MODE:="666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006c", MODE:="666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006d", MODE:="666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0080", MODE:="666", GROUP="plugdev"

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.