A C++/Qt library for using an Elgato Stream Deck from Qt and QtQuick applications. Currently supports basic functionality, settings buttons images, brightness, and reacting to button presses. Only the Stream Deck version 2 has been tested.
The library uses Linux hidraw directly so for now only Linux environments are supported. It integrates properly into the Qt event loop, not threaded and does not block. Status is still very much work in progress, consider alpha quality for now, only one device has been tested to actually work, there is support code for other models but totally untested due to lack of devices.
See example usage in example.qml file.
Supported functions:
- Signal on button press
- Setting button images
- From jpeg
- From text
- Adjusting button brightness
- Resetting device
Stream deck model support status grid
Model | Button size | Internal format | Buttons | Dials | USB Device | Supported |
---|---|---|---|---|---|---|
Strem Deck Original | 72x72 | BMP | 15 | N/A | 0x0060 | Untested |
Strem Deck Original Version 2 | 72x72 | JPG | 15 | N/A | 0x006d | Tested |
Stream Deck Mark 2 | 72x72 | JPG | 15 | N/A | 0x0080 | Untested |
Stream Deck Mini | 80x80 | BMP | 6 | N/A | 0x0063 | Untested |
Stream Deck Mini Mark 2 | 80x80 | BMP | 6 | N/A | 0x0090 | Untested |
Stream Deck Pedal | N/A | N/A | 3 | N/A | 0x0086 | Untested |
Stream Deck XL | 96x96 | 32 | N/A | 0x006c | Untested | |
Stream Deck Plus | 120x120 | JPG | 8 | 4 | 0x0084 | Untested |
Neo Streaming Deck | 96x96 | Unknown | 8 | Unknown | 0x009a | Unknown |
To-do and future ideas
- Implement (and test) support for other Deck versions
Requirements:
- Linux hidraw
- Qt 6