mirror of
https://github.com/Luzifer/streamdeck.git
synced 2024-12-20 17:51:21 +00:00
52 lines
898 B
Go
52 lines
898 B
Go
package streamdeck
|
|
|
|
import (
|
|
"image"
|
|
"image/color"
|
|
|
|
"github.com/sstallion/go-hid"
|
|
)
|
|
|
|
type keyDirection uint
|
|
|
|
const (
|
|
keyDirectionLTR keyDirection = iota
|
|
keyDirectionRTL
|
|
)
|
|
|
|
type deckConfig interface {
|
|
SetDevice(dev *hid.Device)
|
|
|
|
NumKeys() int
|
|
KeyColumns() int
|
|
KeyRows() int
|
|
KeyDirection() keyDirection
|
|
KeyDataOffset() int
|
|
|
|
TransformKeyIndex(keyIdx int) int
|
|
|
|
IconSize() int
|
|
IconBytes() int
|
|
|
|
Model() uint16
|
|
|
|
FillColor(keyIdx int, col color.RGBA) error
|
|
FillImage(keyIdx int, img image.Image) error
|
|
FillPanel(img image.RGBA) error
|
|
|
|
ClearKey(keyIdx int) error
|
|
ClearAllKeys() error
|
|
|
|
SetBrightness(pct int) error
|
|
|
|
ResetToLogo() error
|
|
|
|
GetFimwareVersion() (string, error)
|
|
}
|
|
|
|
var decks = map[uint16]deckConfig{
|
|
StreamDeckOriginalV2: &deckConfigOriginalV2{},
|
|
StreamDeckXL: &deckConfigXL{},
|
|
StreamDeckMini: &deckConfigMini{},
|
|
StreamDeckMiniV2: &deckConfigMini{},
|
|
}
|