libcutesdeck - Stream Deck library for Qt/QtQuick

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

ModelButton sizeInternal formatButtonsDialsUSB DeviceSupported
Strem Deck Original72x72BMP15N/A0x0060Untested
Strem Deck Original Version 272x72JPG15N/A0x006dTested
Stream Deck Mark 272x72JPG15N/A0x0080Untested
Stream Deck Mini80x80BMP6N/A0x0063Untested
Stream Deck Mini Mark 280x80BMP6N/A0x0090Untested
Stream Deck PedalN/AN/A3N/A0x0086Untested
Stream Deck XL96x96 32N/A0x006cUntested
Stream Deck Plus120x120JPG840x0084Untested
Neo Streaming Deck96x96Unknown8Unknown0x009aUnknown

To-do and future ideas

  • Implement (and test) support for other Deck versions

Requirements:

  • Linux hidraw
  • Qt 6