aboutsummaryrefslogtreecommitdiff
path: root/redbutton.go
diff options
context:
space:
mode:
Diffstat (limited to 'redbutton.go')
-rw-r--r--redbutton.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/redbutton.go b/redbutton.go
index 7de6e72..8faf0b7 100644
--- a/redbutton.go
+++ b/redbutton.go
@@ -46,14 +46,15 @@ func Poll(dev *hid.Device) <-chan Button {
ch := make(chan Button)
go func() {
prev := Unknown
- for {
+ tick := time.NewTicker(100 * time.Millisecond)
+ defer tick.Stop()
+ for range tick.C {
if state, ok := State(dev); ok {
if state != prev {
ch <- state
}
prev = state
}
- time.Sleep(100 * time.Millisecond)
}
}()
return ch