Stream Deck control software for software developer's.
If this is your fist time using a StreamDeck make sure to follow the Pre-requisite: LibUSB HIDAPI Backend steps documented in the wiki
Install DevDeck
pip install devdeck
You should then be able to run DevDeck by running:
devdeck
The first time that DevDeck is run, it will generate a basic ~/.devdeck/settings.yml
populated with the clock control for any Stream Decks that are connected.
Dev Deck ships with the following controls:
-
devdeck.controls.clock_control.ClockControl
is a clock widget for displaying the date and time -
devdeck.controls.command_control.CommandControl
is a control for executing commands on your computer. You can specify any command and icon for the given action. -
devdeck.controls.mic_mute_control.MicMuteControl
toggles the mute on a given microphone input. -
devdeck.controls.name_list_control.NameListControl
cycles through initials from a list of names. Useful for things like stand-ups were you need to rotate through a team and make sure you cover everyone. -
devdeck.controls.timer_control.TimerControl
a basic stopwatch timer that can be used to start/stop/reset timing. -
devdeck.controls.volume_level_control.VolumeLevelControl
sets the volume for a given output to a specified volume level. -
devdeck.controls.volume_mute_control.VolumeMuteControl
toggles the muting of a given output.
-
devdeck.decks.single_page_deck_controller.SinglePageDeckController
provides a basic single page deck for controls to be arranged on. -
devdeck.decks.volume_deck.VolumeDeck
is a pre-built volume deck which will show volume toggles between 0% and 100% at 10% increments.
There are a few controls that are provided as plugins. You can always write your own plugin if you can't find the functionality that you're after:
-
Controls and decks for Slack. Toggle presence, change status, snooze notifications, etc.
-
Controls and decks for Home Assistant. Toggle lights, switches, etc.
-
Controls and decks for controlling an Elgato Key Light.
Can't find support for what you want? Implement your own DeckControl
or DeckController
·
-
DeckControl
A
DeckControl
is an individual button that can be placed on a deck. -
DeckController
A
DeckController
is fronted by a button, pressing the button will take you to a deck screen tailored for the given functionality.For example: Slack is implemented as a DeckController. Pressing the slack button will then present you with buttons for specific statuses.
Pull requests and contributions to this project are welcome.
You can get setup with a virtual environment and all necessary dependencies by running:
./setup.sh
Tests can be run by running:
./run-tests.sh