Skip to content

node.js app to render buttons from svg and send bash commands from a Elgato Stream Deck

Notifications You must be signed in to change notification settings

garthvh/node-bashdeck

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-bashdeck

This is a simple node.js app to send bash commands and customized icon buttons to an Elgato Stream Deck on Linux.

All Buttons

I was looking for a way to use the Stream Deck with linux I don't really do any streaming or PC gaming but I thought it was an interesting input device. I found node-oscdeck which used the Google Material Design icon set svg files and allowed for text to be added to the buttons.

I wanted to be able to run arbitrary commands from buttons I replaced the lines sending OSC commands with a bash command and renamed the functions and elements in the JSON files to reflect the change to sending commands.

Buttons

Each file in the configs folder contains a "buttons" array of objects describing each button on the Stream Deck. Below is an example for button 0 (top right). By default the default.json file is loaded which contains all 5 buttons and writes text to the console log.

  {
    "key": 0,                   // The key to assign to, check node-elgato-stream-deck button map
    "symbol": "skip-forward",   // The icon rendered on the button,
                                // referring to the names from https://materialdesignicons.com/
    "color": "green",           // Color of symbol; "red", "#FF0000", "rgb(255, 0, 0)"
    "text": "SKIP",             // Text rendered on button. If left blank, the icon is rendered bigger.
    "cmdDown": [0, "/skip", 1], // The cmd message to send when button is pressed. [cmd, value]
    "cmdUp": [0, "/skip", 0]    // The cmd message to send when button is released. [cmd, value]
  }

Desktop Layout

I was able to set up all of the progams and webpages I wanted the stream deck to open for me on my solus gnome desktop using bash commands. There are thousands of material design icons and the parse-color plugin does a great job loading named css colors.

After getting the stream deck to work as a fancy lancher for my solus desktop I made a couple of other button layouts.

Sentiment Layout

Star Rating Layout

Dependancies

  npm install
    elgato-stream-deck
    material-design-icons-svg
    parse-color
    lodash
    sharp

About

node.js app to render buttons from svg and send bash commands from a Elgato Stream Deck

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%