https://github.com/muesli/streamdeck
An application and Go library to control your Elgato Stream Deck on Linux
https://github.com/muesli/streamdeck
hacktoberfest
Last synced: about 2 months ago
JSON representation
An application and Go library to control your Elgato Stream Deck on Linux
- Host: GitHub
- URL: https://github.com/muesli/streamdeck
- Owner: muesli
- License: mit
- Created: 2019-06-25T09:53:19.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-09-05T04:06:10.000Z (almost 2 years ago)
- Last Synced: 2025-03-28T10:54:07.329Z (2 months ago)
- Topics: hacktoberfest
- Language: Go
- Size: 80.1 KB
- Stars: 64
- Watchers: 4
- Forks: 19
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# streamdeck
[](https://github.com/muesli/streamdeck/releases)
[](/LICENSE)
[](https://github.com/muesli/streamdeck/actions)
[](https://goreportcard.com/report/muesli/streamdeck)
[](https://pkg.go.dev/github.com/muesli/streamdeck)A CLI application and Go library to control your Elgato Stream Deck on Linux.
If you're looking for a complete Linux service to control your StreamDeck, check
out [Deckmaster](https://github.com/muesli/deckmaster), which is based on this
library.## Installation
Make sure you have a working Go environment (Go 1.12 or higher is required).
See the [install instructions](http://golang.org/doc/install.html).To install streamdeck, simply run:
go get github.com/muesli/streamdeck
## Configuration
On Linux you need to set up some udev rules to be able to access the device as a
regular user. Edit `/etc/udev/rules.d/99-streamdeck.rules` and add these lines:```
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"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0090", MODE:="666", GROUP="plugdev"
```Make sure your user is part of the `plugdev` group and reload the rules with
`sudo udevadm control --reload-rules`. Unplug and replug the device and you
should be good to go.## Usage
Control the brightness, in percent between 0 and 100:
```
streamdeck-cli brightness 50
```Set an image on the first key (from the top-left):
```
streamdeck-cli image 0 image.png
```Clear all images:
```
streamdeck-cli clear
```Reset the device:
```
streamdeck-cli reset
```## Feedback
Got some feedback or suggestions? Please open an issue or drop me a note!
* [Twitter](https://twitter.com/mueslix)
* [The Fediverse](https://mastodon.social/@fribbledom)