Skip to content

Latest commit

 

History

History
51 lines (37 loc) · 1.52 KB

File metadata and controls

51 lines (37 loc) · 1.52 KB

Custom Modules

Overview

Custom modules are Go plugins (.so files) that expose handlers for:

  • Icon Handlers: Generate dynamic button icons
  • Key Handlers: Implement custom button press actions
  • Lcd Handlers: Control the StreamDeck Plus' touch screen LCD Display
  • Touch or Knob Handlers: Handle touch and knob events on the StreamDeck Plus

Modules are loaded at startup and can be configured through the standard JSON config file.

Getting Started

Prerequisites

  • Go 1.25+
  • streamdeckd API package: github.com/unix-streamdeck/api/v2

Basic Module Structure

Every module must implement the GetModule() function:

N.B - For the latest reference for all the types referenced below, check the api module:

Module

Handlers

package main

import "github.com/unix-streamdeck/api/v2"

func GetModule() api.Module {
    return api.Module{
        Name:       "MyModule",
        NewForeground:    func() api.ForegroundHandler { return &MyForegroundHandler{} },
        NewInput:     func() api.InputHandler { return &MyInputHandler{} },
        ForegroundFields: []api.Field{ /* ... */ },
        InputFields:  []api.Field{ /* ... */ },
    }
}

See Also