StreamDeckSharp 10.0.0

dotnet add package StreamDeckSharp --version 10.0.0
                    
NuGet\Install-Package StreamDeckSharp -Version 10.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="StreamDeckSharp" Version="10.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="StreamDeckSharp" Version="10.0.0" />
                    
Directory.Packages.props
<PackageReference Include="StreamDeckSharp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add StreamDeckSharp --version 10.0.0
                    
#r "nuget: StreamDeckSharp, 10.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package StreamDeckSharp@10.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=StreamDeckSharp&version=10.0.0
                    
Install as a Cake Addin
#tool nuget:?package=StreamDeckSharp&version=10.0.0
                    
Install as a Cake Tool

<div align="center"> <img src="https://raw.githubusercontent.com/OpenStreamDeck/StreamDeckSharp/master/doc/images/banner/StreamDeckSharpBanner_150px.png"> </div>


StreamDeckSharp is a simple (unofficial) .NET interface for the Elgato Stream Deck

license GitHub release Nuget version

Recent Changes

Quickstart (TL;DR)

Should work on all major operating systems.
I typically test on Windows and Linux (Debian, Ubuntu), but it should also work on macOS. See Wiki: Supported Platforms

  1. Add StreamDeckSharp reference (via nuget or download latest release)
  2. Add a using directive for StreamDeckSharp: using StreamDeckSharp;
I want to... Code (C#)
create a device reference var deck = StreamDeck.OpenDevice();
set the brightness deck.SetBrightness(50);
create bitmap for key var bitmap = KeyBitmap.Create.FromFile("icon.png")
set key image deck.SetKeyBitmap(keyId, bitmap)
clear key image deck.ClearKey(keyId)
process key events deck.KeyStateChanged += KeyHandler;

Make sure to dispose the device reference correctly (use using whenever possible)

Examples

If you want to see some examples take a look at the example projects.
Here is a short example called "Austria". Copy the code and start hacking 😉

using System;
using OpenMacroBoard.SDK;
using StreamDeckSharp;

namespace StreamDeckSharp.Examples.Austria
{
    class Program
    {
        static void Main(string[] args)
        {
            //This example is designed for the 5x3 (original) Stream Deck.

            //Create some color we use later to draw the flag of austria
            var red = KeyBitmap.Create.FromRgb(237, 41, 57);
            var white = KeyBitmap.Create.FromRgb(255, 255, 255);
            var rowColors = new KeyBitmap[] { red, white, red };

            //Open the Stream Deck device
            using (var deck = StreamDeck.OpenDevice())
            {
                deck.SetBrightness(100);

                //Send the bitmap informaton to the device
                for (int i = 0; i < deck.Keys.Count; i++)
                    deck.SetKeyBitmap(i, rowColors[i / 5]);

                Console.ReadKey();
            }
        }
    }
}

Here is what the "Rainbow" example looks like after pressing some keys

Rainbow example photo

Play games on a StreamDeck

For example minesweeper (take a look at the example projects if you are interested in that)

<img src="doc/images/minesweeper.jpg?raw=true" width="500" />

You can even play videos on a StreamDeck

Here is a short demo, playing a video on a stream deck device.

Demo video of the example
*The glitches you can see are already fixed.

More about that in the Wiki: Play video on StreamDeck



Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on StreamDeckSharp:

Package Downloads
VL.Devices.StreamDeck

VL Nodeset for the Elgato StreamDeck for use in VVVV Gamma. Based on StreamDeckSharp

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on StreamDeckSharp:

Repository Stars
jskeet/DemoCode
Demo code used in talks, blog posts etc
Version Downloads Last Updated
10.0.0 191 6/19/2026
6.1.0 3,134 9/17/2025
6.0.0 8,311 3/3/2024
5.0.0 2,381 8/1/2023
4.2.0-preview 2,215 11/18/2022
4.1.0-preview 1,084 11/17/2022
4.0.0-preview 1,773 3/24/2022
3.2.0 6,945 9/24/2021
3.0.0 2,339 3/11/2021
2.2.0 2,893 8/24/2020
2.1.0 1,651 8/21/2020
2.0.0 1,806 6/5/2020
1.0.0 1,829 3/13/2020
0.3.5 3,019 11/28/2019
0.3.4 2,090 6/22/2019
0.3.2 1,674 6/19/2019
0.3.1 2,348 1/26/2019
0.3.0 2,174 1/26/2019
0.2.0 2,873 8/25/2018
Loading failed