streamdeck-daemon

a simple streamdeck tool, written in golang, which loads configuration from a JSON file, and exposes an HTTP API to dynamically interact with the streamdeck.

it #WorksOnMyMachine.

requirements

  • : write text on button press
  • : execute command on button press
  • : show images on buttons
  • : manage "pages"
  • : change page on button press
  • : update button on http post

installing dependencies

sudo apt install libxdo-dev

building

go mod tidy
go build

running

./streamdeck-daemon

installing

add udev rules:

sudo cp 99-streamdeck.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo cp ./streamdeck-daemon /opt
sed -i "s/username/$USER/" streamdeck-daemon.service
sudo cp ./streamdeck-daemon.service /etc/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable streamdeck-daemon
sudo systemctl start streamdeck-daemon

dependencies

  • github.com/magicmonkey/go-streamdeck : for basic streamdeck interaction
  • https://github.com/go-chi/chi : for http routing
  • libxdo-dev : for sending keyboard keys on button press (sudo apt install libxdo-dev)