ninjadev64 / OpenDeck

OpenDeck is a cross-platform desktop application that provides functionality for stream controller devices.
https://discord.gg/26Nf8rHvaj
GNU General Public License v3.0
132 stars 7 forks source link
cross-platform elgato linux streamdeck

OpenDeck

OpenDeck is a desktop application for interfacing between human interface devices with keys or encoders and plugins, which provide actions to be carried out when the user interacts with the device. OpenDeck conforms to the OpenAction API, which is cross-compatible with the Stream Deck SDK, allowing a wide range of pre-existing plugins to be used.

OpenDeck supports ProntoKey, Elgato Stream Deck and AKP153 (not AKP153e) hardware on all three major desktop platforms. If you would like to contribute support for additional hardware (e.g. Loupedeck) feel free to reach out on any of the support forums and make a pull request!

If you would like to support development of OpenDeck, consider sponsoring me on GitHub Sponsors!

Special thanks go to the developers of Tauri, elgato-streamdeck, Wine, and Phosphor Icons.

Installation

GNU+Linux

Windows

macOS

Support

How do I...?

To view or modify an action's settings, left-click on it to display its property inspector. To remove an action, right-click on it and choose "Delete" from the context menu.

To edit an action's appearance, right-click on it and select "Edit" in the context menu. You should then be able to customise the image and title of each of its states. To choose an image from your device: left-click on the image, to reset it to the plugin-provided default: right-click on the image, and to remove the image entirely: CTRL+right-click on the image.

To select another device, or to view or switch profiles, use the dropdowns in the top right corner. You can organise profiles into group-like folders by prefixing the profile name with the folder name and a forward slash.

To enable automatic launch on startup, the light theme, or to change the language plugins are localised in, open Settings. From here, you can also view information about your version of OpenDeck or open the configuration directory. To add or remove plugins, visit the Plugins tab.

Solutions to frequent problems

Support forums

Building from source / contributing

You'll need to ensure that all of the prerequisites for building a Tauri application are satisfied to build OpenDeck (this includes the Tauri CLI from cargo install tauri-cli), as well as Deno. On GNU+Linux, you'll also need libudev installed for your distribution. You can then use cargo tauri dev and cargo tauri build to work with OpenDeck.

When submitting a pull request, ensure that all of your Rust code has been formatted using cargo fmt, cargo clippy returns no violations, deno task check returns no violations, and modified Svelte code sticks to the existing style used as far as possible. Feel free to reach out on the support channels above for guidance when contributing!

OpenDeck is licensed under the GNU General Public License version 3.0 or later. For more details, see the LICENSE.md file.

Showcase

Main menu Light mode Multi action Plugins Profiles