mirror of
https://github.com/Luzifer/streamdeck.git
synced 2024-12-21 02:01:24 +00:00
50 lines
774 B
Go
50 lines
774 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{},
|
||
|
}
|