diff --git a/hotkeys.go b/hotkeys.go new file mode 100644 index 0000000..f9717ff --- /dev/null +++ b/hotkeys.go @@ -0,0 +1,150 @@ +package main + +func handleHotkey(k byte) { + switch k { + case 'l': + audio.togglePlaybackToDefaultSoundcard() + case ' ': + audio.toggleRecFromDefaultSoundcard() + case 't': + if civControl != nil { + if err := civControl.toggleTune(); err != nil { + log.Error("can't toggle tune: ", err) + } + } + case '+': + if civControl != nil { + if err := civControl.incPwr(); err != nil { + log.Error("can't increase power: ", err) + } + } + case '-': + if civControl != nil { + if err := civControl.decPwr(); err != nil { + log.Error("can't decrease power: ", err) + } + } + case '>': + if civControl != nil { + if err := civControl.incFreq(1); err != nil { + log.Error("can't increase freq: ", err) + } + } + case '<': + if civControl != nil { + if err := civControl.decFreq(1); err != nil { + log.Error("can't decrease freq: ", err) + } + } + case '.': + if civControl != nil { + if err := civControl.incFreq(10); err != nil { + log.Error("can't increase freq: ", err) + } + } + case ',': + if civControl != nil { + if err := civControl.decFreq(10); err != nil { + log.Error("can't decrease freq: ", err) + } + } + case '"': + if civControl != nil { + if err := civControl.incFreq(100); err != nil { + log.Error("can't increase freq: ", err) + } + } + case ':': + if civControl != nil { + if err := civControl.decFreq(100); err != nil { + log.Error("can't decrease freq: ", err) + } + } + case '\'': + if civControl != nil { + if err := civControl.incFreq(1000); err != nil { + log.Error("can't increase freq: ", err) + } + } + case ';': + if civControl != nil { + if err := civControl.decFreq(1000); err != nil { + log.Error("can't decrease freq: ", err) + } + } + case '}': + if civControl != nil { + if err := civControl.incFreq(10000); err != nil { + log.Error("can't increase freq: ", err) + } + } + case '{': + if civControl != nil { + if err := civControl.decFreq(10000); err != nil { + log.Error("can't decrease freq: ", err) + } + } + case ']': + if civControl != nil { + if err := civControl.incFreq(100000); err != nil { + log.Error("can't increase freq: ", err) + } + } + case '[': + if civControl != nil { + if err := civControl.decFreq(100000); err != nil { + log.Error("can't decrease freq: ", err) + } + } + case 'm': + if civControl != nil { + if err := civControl.incOperatingMode(); err != nil { + log.Error("can't change mode: ", err) + } + } + case 'n': + if civControl != nil { + if err := civControl.decOperatingMode(); err != nil { + log.Error("can't change mode: ", err) + } + } + case 'f': + if civControl != nil { + if err := civControl.incFilter(); err != nil { + log.Error("can't change filter: ", err) + } + } + case 'd': + if civControl != nil { + if err := civControl.decFilter(); err != nil { + log.Error("can't change filter: ", err) + } + } + case 'D': + if civControl != nil { + if err := civControl.toggleDataMode(); err != nil { + log.Error("can't change datamode: ", err) + } + } + case 'b': + if civControl != nil { + if err := civControl.incBand(); err != nil { + log.Error("can't change band: ", err) + } + } + case 'v': + if civControl != nil { + if err := civControl.decBand(); err != nil { + log.Error("can't change band: ", err) + } + } + case 'p': + if civControl != nil { + if err := civControl.togglePreamp(); err != nil { + log.Error("can't change preamp: ", err) + } + } + case 'q': + quitChan <- true + } +} diff --git a/keyboard-linux.go b/keyboard-linux.go index d3335b2..39c8891 100644 --- a/keyboard-linux.go +++ b/keyboard-linux.go @@ -12,161 +12,12 @@ type keyboardStruct struct { var keyboard keyboardStruct -func (s *keyboardStruct) handleKey(k byte) { - switch k { - case 'l': - audio.togglePlaybackToDefaultSoundcard() - case ' ': - audio.toggleRecFromDefaultSoundcard() - case 't': - if civControl != nil { - if err := civControl.toggleTune(); err != nil { - log.Error("can't toggle tune: ", err) - } - } - case '+': - if civControl != nil { - if err := civControl.incPwr(); err != nil { - log.Error("can't increase power: ", err) - } - } - case '-': - if civControl != nil { - if err := civControl.decPwr(); err != nil { - log.Error("can't decrease power: ", err) - } - } - case '>': - if civControl != nil { - if err := civControl.incFreq(1); err != nil { - log.Error("can't increase freq: ", err) - } - } - case '<': - if civControl != nil { - if err := civControl.decFreq(1); err != nil { - log.Error("can't decrease freq: ", err) - } - } - case '.': - if civControl != nil { - if err := civControl.incFreq(10); err != nil { - log.Error("can't increase freq: ", err) - } - } - case ',': - if civControl != nil { - if err := civControl.decFreq(10); err != nil { - log.Error("can't decrease freq: ", err) - } - } - case '"': - if civControl != nil { - if err := civControl.incFreq(100); err != nil { - log.Error("can't increase freq: ", err) - } - } - case ':': - if civControl != nil { - if err := civControl.decFreq(100); err != nil { - log.Error("can't decrease freq: ", err) - } - } - case '\'': - if civControl != nil { - if err := civControl.incFreq(1000); err != nil { - log.Error("can't increase freq: ", err) - } - } - case ';': - if civControl != nil { - if err := civControl.decFreq(1000); err != nil { - log.Error("can't decrease freq: ", err) - } - } - case '}': - if civControl != nil { - if err := civControl.incFreq(10000); err != nil { - log.Error("can't increase freq: ", err) - } - } - case '{': - if civControl != nil { - if err := civControl.decFreq(10000); err != nil { - log.Error("can't decrease freq: ", err) - } - } - case ']': - if civControl != nil { - if err := civControl.incFreq(100000); err != nil { - log.Error("can't increase freq: ", err) - } - } - case '[': - if civControl != nil { - if err := civControl.decFreq(100000); err != nil { - log.Error("can't decrease freq: ", err) - } - } - case 'm': - if civControl != nil { - if err := civControl.incOperatingMode(); err != nil { - log.Error("can't change mode: ", err) - } - } - case 'n': - if civControl != nil { - if err := civControl.decOperatingMode(); err != nil { - log.Error("can't change mode: ", err) - } - } - case 'f': - if civControl != nil { - if err := civControl.incFilter(); err != nil { - log.Error("can't change filter: ", err) - } - } - case 'd': - if civControl != nil { - if err := civControl.decFilter(); err != nil { - log.Error("can't change filter: ", err) - } - } - case 'D': - if civControl != nil { - if err := civControl.toggleDataMode(); err != nil { - log.Error("can't change datamode: ", err) - } - } - case 'b': - if civControl != nil { - if err := civControl.incBand(); err != nil { - log.Error("can't change band: ", err) - } - } - case 'v': - if civControl != nil { - if err := civControl.decBand(); err != nil { - log.Error("can't change band: ", err) - } - } - case 'p': - if civControl != nil { - if err := civControl.togglePreamp(); err != nil { - log.Error("can't change preamp: ", err) - } - } - case 'q': - quitChan <- true - } -} - func (s *keyboardStruct) loop() { var b []byte = make([]byte, 1) for { n, err := os.Stdin.Read(b) if n > 0 && err == nil { - s.handleKey(b[0]) + handleHotkey(b[0]) } } }