1
0
Fork 0
mirror of https://github.com/Luzifer/streamdeck.git synced 2024-10-18 05:04:18 +00:00
streamdeck/interface.go
Knut Ahlers 41a34dd76c
Add support for SDXL and multiple StreamDecks
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2020-06-06 15:13:06 +02:00

50 lines
814 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{},
}