Versions in this module Expand all Collapse all v3 v3.0.2 Aug 6, 2026 v3.0.1 Aug 6, 2026 Changes in this version + type AvailableModules struct + GroupModules []ModuleGroup + IndividualModules []Module type Connection + func (c *Connection) GetBackgroundExample(serial string, handler string, fields map[string]any, handlerType HandlerType, ...) ([]image.Image, error) + func (c *Connection) SendKnobEvent(serial string, knobIndex int, event InputEventType) error type Module + Description string + DisplayName string + type ModuleGroup struct + Description string + DisplayName string + Modules []Module + Name string v3.0.0 Aug 5, 2026 Changes in this version + const BorderClearance + func DrawProgressBar(img image.Image, label string, x, y, h, w, progress float64) (image.Image, error) + func DrawProgressBarWithAccent(img image.Image, label string, x, y, h, w, progress float64, hex string) (image.Image, error) + func DrawText(img image.Image, text string, options DrawTextOptions) (image.Image, error) + func FindXDoToolKeybindString(code int) string + func HexColor(hex string) color.RGBA + func LayerImages(x, y int, images ...image.Image) (image.Image, error) + func ParseXDoToolKeybindString(keybind string) ([]int, error) + func ResizeImage(img image.Image, keySize int) image.Image + func ResizeImageWH(img image.Image, width int, height int) image.Image + func SubImage(img image.Image, x0, y0, x1, y1 int) image.Image + type BackgroundHandler interface + StartGrid func(fields map[string]any, handlerType HandlerType, info StreamDeckInfo, ...) + type CombinedHandler interface + type Config struct + Decks []Deck + Modules []string + ObsConnectionInfo ObsConnectionInfo + type Connection struct + func Connect() (*Connection, error) + func (c *Connection) Close() + func (c *Connection) CommitConfig() error + func (c *Connection) GetConfig() (*Config, error) + func (c *Connection) GetInfo() ([]*StreamDeckInfo, error) + func (c *Connection) GetLayersExample(serial string, layers []*Layer, handlerType HandlerType) (image.Image, error) + func (c *Connection) GetModules() ([]*Module, error) + func (c *Connection) GetObsFields() ([]*Field, error) + func (c *Connection) PressButton(serial string, keyIndex int) error + func (c *Connection) RegisterPageListener(cback func(string, int32)) error + func (c *Connection) ReloadConfig() error + func (c *Connection) SetConfig(config *Config) error + func (c *Connection) SetPage(serial string, page int) error + type Deck struct + KeyGridBackground string + KeyGridBackgroundBuff []image.Image + KeyGridBackgroundHandler BackgroundHandler + KeyGridBackgroundHandlerFields map[string]any + Pages []Page + Serial string + TouchPanelBackground string + TouchPanelBackgroundBuff []image.Image + TouchPanelBackgroundHandler BackgroundHandler + TouchPanelBackgroundHandlerFields map[string]any + func (d *Deck) GetKeyGridBackground() string + func (d *Deck) GetKeyGridBackgroundBuff() []image.Image + func (d *Deck) GetKeyGridBackgroundHandler() BackgroundHandler + func (d *Deck) GetKeyGridBackgroundHandlerFields() map[string]any + func (d *Deck) GetTouchPanelBackground() string + func (d *Deck) GetTouchPanelBackgroundBuff() []image.Image + func (d *Deck) GetTouchPanelBackgroundHandler() BackgroundHandler + func (d *Deck) GetTouchPanelBackgroundHandlerFields() map[string]any + func (d *Deck) SetKeyGridBackgroundBuff(img []image.Image) + func (d *Deck) SetKeyGridBackgroundHandler(handler BackgroundHandler) + func (d *Deck) SetTouchPanelBackgroundBuff(img []image.Image) + func (d *Deck) SetTouchPanelBackgroundHandler(handler BackgroundHandler) + type DrawTextOptions struct + Anchor *image.Point + Colour string + FontFace string + FontSize int64 + HorizontalAlignment HorizontalAlignment + MaxFontSize int64 + MinFontSize int64 + Overflow Overflow + VerticalAlignment VerticalAlignment + type Field struct + FileTypes []string + ListItems []string + Name string + Title string + Type FieldType + type FieldType string + const Colour + const File + const FontFace + const Number + const Select + const Text + const TextAlignment + type ForegroundHandler interface + Start func(fields map[string]any, handlerType HandlerType, info StreamDeckInfo, ...) + type Handler interface + type HandlerType uint8 + const KEY + const LCD + type HorizontalAlignment string + const Left + const Middle + const Right + type IConn interface + AddMatchSignal func(options ...dbus.MatchOption) error + Close func() error + Object func(dest string, path dbus.ObjectPath) dbus.BusObject + Signal func(ch chan<- *dbus.Signal) + type IContext interface + DrawStringWrapped func(s string, x, y, ax, ay, width, lineSpacing float64, align gg.Align) + Height func() int + Image func() image.Image + MeasureMultilineString func(text string, lineSpacing float64) (float64, float64) + SetFontFace func(font font.Face) + SetHexColor func(color string) + SetRGB func(r, g, b float64) + Width func() int + WordWrap func(text string, width float64) []string + type IHost interface + ExecuteKeybind func(keybind string) error + KeyDown func(keycode int) error + KeyUp func(keycode int) error + RunCommand func(command string) + SetBrightness func(brightness uint8) error + SetPage func(page int) + type InputEvent struct + EventType InputEventType + RotateNotches uint8 + ScreenTapX uint16 + ScreenTapY uint16 + type InputEventType int8 + const KEY_PRESS + const KEY_RELEASE + const KNOB_CCW + const KNOB_CW + const KNOB_PRESS + const SCREEN_LONG_TAP + const SCREEN_SHORT_TAP + const SCREEN_SWIPE + type InputHandler interface + Input func(fields map[string]any, handlerType HandlerType, info StreamDeckInfo, ...) + type Key struct + ActiveApplication string + ActiveBuff image.Image + Application map[string]*KeyConfig + KeyBackground string + KeyBackgroundBuff image.Image + KeyBackgroundHandler BackgroundHandler + KeyBackgroundHandlerFields map[string]any + Layers []*Layer + func (k *Key) GetKeyBackground() string + func (k *Key) GetKeyBackgroundBuff() image.Image + func (k *Key) GetKeyBackgroundHandler() BackgroundHandler + func (k *Key) GetKeyBackgroundHandlerFields() map[string]any + func (k *Key) GetLayers() []*Layer + func (k *Key) SetKeyBackgroundBuff(img image.Image) + func (k *Key) SetKeyBackgroundHandler(handler BackgroundHandler) + type KeyBackgrounder interface + GetKeyBackground func() string + GetKeyBackgroundBuff func() image.Image + GetKeyBackgroundHandler func() BackgroundHandler + GetKeyBackgroundHandlerFields func() map[string]any + SetKeyBackgroundBuff func(img image.Image) + SetKeyBackgroundHandler func(handler BackgroundHandler) + type KeyConfig struct + KeyBackground string + KeyBackgroundBuff image.Image + KeyBackgroundHandler BackgroundHandler + KeyBackgroundHandlerFields map[string]any + Layers []*Layer + func (kc *KeyConfig) GetKeyBackground() string + func (kc *KeyConfig) GetKeyBackgroundBuff() image.Image + func (kc *KeyConfig) GetKeyBackgroundHandler() BackgroundHandler + func (kc *KeyConfig) GetKeyBackgroundHandlerFields() map[string]any + func (kc *KeyConfig) GetLayers() []*Layer + func (kc *KeyConfig) SetKeyBackgroundBuff(img image.Image) + func (kc *KeyConfig) SetKeyBackgroundHandler(handler BackgroundHandler) + type KeyGridBackgrounder interface + GetKeyGridBackground func() string + GetKeyGridBackgroundBuff func() []image.Image + GetKeyGridBackgroundHandler func() BackgroundHandler + GetKeyGridBackgroundHandlerFields func() map[string]any + SetKeyGridBackgroundBuff func(img []image.Image) + SetKeyGridBackgroundHandler func(handler BackgroundHandler) + type Knob struct + ActiveApplication string + ActiveBuff image.Image + Application map[string]*KnobConfig + Layers []*Layer + TouchPanelBackground string + TouchPanelBackgroundBuff image.Image + TouchPanelBackgroundHandler ForegroundHandler + TouchPanelBackgroundHandlerFields map[string]any + func (k *Knob) GetLayers() []*Layer + func (k *Knob) GetTouchPanelBackground() string + func (k *Knob) GetTouchPanelBackgroundBuff() image.Image + func (k *Knob) GetTouchPanelBackgroundHandler() ForegroundHandler + func (k *Knob) GetTouchPanelBackgroundHandlerFields() map[string]any + func (k *Knob) SetTouchPanelBackgroundBuff(img image.Image) + func (k *Knob) SetTouchPanelBackgroundHandler(handler ForegroundHandler) + type KnobConfig struct + Layers []*Layer + TouchPanelBackground string + TouchPanelBackgroundBuff image.Image + TouchPanelBackgroundHandler ForegroundHandler + TouchPanelBackgroundHandlerFields map[string]any + func (kc *KnobConfig) GetLayers() []*Layer + func (kc *KnobConfig) GetTouchPanelBackground() string + func (kc *KnobConfig) GetTouchPanelBackgroundBuff() image.Image + func (kc *KnobConfig) GetTouchPanelBackgroundHandler() ForegroundHandler + func (kc *KnobConfig) GetTouchPanelBackgroundHandlerFields() map[string]any + func (kc *KnobConfig) SetTouchPanelBackgroundBuff(img image.Image) + func (kc *KnobConfig) SetTouchPanelBackgroundHandler(handler ForegroundHandler) + type Layer struct + Buff image.Image + Fields map[string]any + Global bool + Handler string + HandlerStruct Handler + Input bool + InputEvents []InputEventType + Label string + Visual bool + type Layerable interface + GetLayers func() []*Layer + type LcdBackgrounder interface + GetTouchPanelBackground func() string + GetTouchPanelBackgroundBuff func() []image.Image + GetTouchPanelBackgroundHandler func() BackgroundHandler + GetTouchPanelBackgroundHandlerFields func() map[string]any + SetTouchPanelBackgroundBuff func(img []image.Image) + SetTouchPanelBackgroundHandler func(handler BackgroundHandler) + type LcdSegmentBackgrounder interface + GetTouchPanelBackground func() string + GetTouchPanelBackgroundBuff func() image.Image + GetTouchPanelBackgroundHandler func() ForegroundHandler + GetTouchPanelBackgroundHandlerFields func() map[string]any + SetTouchPanelBackgroundBuff func(img image.Image) + SetTouchPanelBackgroundHandler func(handler ForegroundHandler) + type Module struct + BackgroundFields []Field + CombinedFields []Field + IsBackground bool + IsForeground bool + IsInput bool + Name string + NewBackground func() BackgroundHandler + NewCombined func() Handler + type ObsConnectionInfo struct + Host string + Port int + type Overflow string + const Fade + const Wrap + type Page struct + KeyGridBackground string + KeyGridBackgroundBuff []image.Image + KeyGridBackgroundHandler BackgroundHandler + KeyGridBackgroundHandlerFields map[string]any + Keys []Key + Knobs []Knob + TouchPanelBackground string + TouchPanelBackgroundBuff []image.Image + TouchPanelBackgroundHandler BackgroundHandler + TouchPanelBackgroundHandlerFields map[string]any + func (p *Page) GetKeyGridBackground() string + func (p *Page) GetKeyGridBackgroundBuff() []image.Image + func (p *Page) GetKeyGridBackgroundHandler() BackgroundHandler + func (p *Page) GetKeyGridBackgroundHandlerFields() map[string]any + func (p *Page) GetTouchPanelBackground() string + func (p *Page) GetTouchPanelBackgroundBuff() []image.Image + func (p *Page) GetTouchPanelBackgroundHandler() BackgroundHandler + func (p *Page) GetTouchPanelBackgroundHandlerFields() map[string]any + func (p *Page) SetKeyGridBackgroundBuff(img []image.Image) + func (p *Page) SetKeyGridBackgroundHandler(handler BackgroundHandler) + func (p *Page) SetTouchPanelBackgroundBuff(img []image.Image) + func (p *Page) SetTouchPanelBackgroundHandler(handler BackgroundHandler) + type StreamDeckInfo struct + Cols int + Connected bool + IconSize int + KeyGridBackgroundHeight int + KeyGridBackgroundWidth int + KnobCols int + LastConnected time.Time + LastDisconnected time.Time + LcdBackgroundHeight int + LcdBackgroundWidth int + LcdCols int + LcdHeight int + LcdWidth int + Name string + PaddingX int + PaddingY int + Page int + Rows int + Serial string + func (info StreamDeckInfo) GetDimensions(handlerType HandlerType) (int, int) + func (info StreamDeckInfo) GetGridDimensions(handlerType HandlerType) (int, int) + func (info StreamDeckInfo) SplitBackgroundImage(background image.Image, handlerType HandlerType) []image.Image + type VerticalAlignment string + const Bottom + const Center + const Top + type VisualHandler interface + IsRunning func() bool + SetRunning func(running bool) + Stop func() Other modules containing this package github.com/unix-streamdeck/api github.com/unix-streamdeck/api/v2