aboutsummaryrefslogtreecommitdiff
path: root/hid.go
blob: eda942db3d4426895719087f0a8a31e7d19ecb64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package blinkstick

import (
	"errors"

	"github.com/karalabe/hid"
)

const (
	vendorID  = 0x20a0
	productID = 0x41e5
)

// Errors
var (
	ErrUnsupported = errors.New("unsupproted platform")
	ErrNotFound    = errors.New("device not found")
)

/* Found device:
   Manufacturer:  Agile Innovative Ltd
   Description:   BlinkStick
   Serial:        BS019296-3.0
   Current Color: #000000
   Mode:          2
   LEDs:          unsupported
   Info Block 1:
   Info Block 2:
*/

// Open blinkstick device
func Open() (*hid.Device, error) {
	if !hid.Supported() {
		return nil, ErrUnsupported
	}
	for _, dev := range hid.Enumerate(vendorID, productID) {
		return dev.Open()
	}
	return nil, ErrNotFound
}