aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-09-08 10:10:25 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-09-08 10:10:25 +0200
commit4c554b643c06d0433ef1eeab26d0068e825984b6 (patch)
tree37128f8c81e3655f9c421e03caae095b99920a6c
parenta7b8d6827dbb9177e5b3534c0fa59cbe5e318a97 (diff)
Rename Events
-rw-r--r--cmd/runcmd/main.go6
-rw-r--r--event_string.go19
-rw-r--r--redbutton.go14
3 files changed, 14 insertions, 25 deletions
diff --git a/cmd/runcmd/main.go b/cmd/runcmd/main.go
index b02e1fb..a274e09 100644
--- a/cmd/runcmd/main.go
+++ b/cmd/runcmd/main.go
@@ -11,7 +11,7 @@ import (
type stateFn func(redbutton.Event) stateFn
func Init(b redbutton.Event) stateFn {
- if b == redbutton.LidOpen {
+ if b == redbutton.Enabled {
log.Println("Ready...")
return Armed
}
@@ -19,7 +19,7 @@ func Init(b redbutton.Event) stateFn {
}
func Armed(b redbutton.Event) stateFn {
- if b == redbutton.ButtonPressed {
+ if b == redbutton.Pressed {
log.Println("Go!")
go Exec(os.Args[1:])
return Reset
@@ -28,7 +28,7 @@ func Armed(b redbutton.Event) stateFn {
}
func Reset(b redbutton.Event) stateFn {
- if b == redbutton.LidClosed {
+ if b == redbutton.Disabled {
log.Println("Reset...")
return Init
}
diff --git a/event_string.go b/event_string.go
index fc9466e..c83226a 100644
--- a/event_string.go
+++ b/event_string.go
@@ -4,24 +4,13 @@ package redbutton
import "fmt"
-const (
- _Event_name_0 = "Unknown"
- _Event_name_1 = "LidClosedButtonPressedLidOpen"
-)
+const _Event_name = "UnknownDisabledPressedEnabled"
-var (
- _Event_index_0 = [...]uint8{0, 7}
- _Event_index_1 = [...]uint8{0, 9, 22, 29}
-)
+var _Event_index = [...]uint8{0, 7, 15, 22, 29}
func (i Event) String() string {
- switch {
- case i == 0:
- return _Event_name_0
- case 21 <= i && i <= 23:
- i -= 21
- return _Event_name_1[_Event_index_1[i]:_Event_index_1[i+1]]
- default:
+ if i < 0 || i >= Event(len(_Event_index)-1) {
return fmt.Sprintf("Event(%d)", i)
}
+ return _Event_name[_Event_index[i]:_Event_index[i+1]]
}
diff --git a/redbutton.go b/redbutton.go
index 21e3854..a6f73dd 100644
--- a/redbutton.go
+++ b/redbutton.go
@@ -18,10 +18,10 @@ const (
type Event int
const (
- Unknown Event = 0x00
- LidClosed Event = 0x15
- ButtonPressed Event = 0x16
- LidOpen Event = 0x17
+ Unknown Event = iota
+ Disabled
+ Pressed
+ Enabled
)
func Report(dev *hid.Device) (Event, error) {
@@ -33,7 +33,7 @@ func Report(dev *hid.Device) (Event, error) {
if _, err := dev.Read(buf[:8]); err != nil {
return Unknown, err
}
- return Event(buf[0]), nil
+ return Event(buf[0] & 3), nil
}
func Poll(dev *hid.Device, d time.Duration) <-chan Event {
@@ -42,7 +42,7 @@ func Poll(dev *hid.Device, d time.Duration) <-chan Event {
}
ch := make(chan Event)
go func() {
- prev := LidClosed
+ prev := Disabled
tick := time.NewTicker(d)
defer tick.Stop()
defer close(ch)
@@ -51,7 +51,7 @@ func Poll(dev *hid.Device, d time.Duration) <-chan Event {
if err != nil {
return
}
- if ev != prev && prev != ButtonPressed {
+ if ev != prev && prev != Pressed {
ch <- ev
}
prev = ev