Add q hotkey

This commit is contained in:
Nonoo 2020-11-01 12:53:21 +01:00
parent 1632bf54bd
commit 252617e92a
3 changed files with 27 additions and 12 deletions

View file

@ -145,6 +145,7 @@ not available.
### Hotkeys
- `q` (quit): closes the app
- `l` (listen): toggles audio stream playback to the default sound device
This is useful for quickly listening into the audio stream coming from the
@ -161,18 +162,18 @@ not available.
Some basic CAT control hotkeys are also supported:
- `t`: toggles the tune process
- `+`: increase TX power
- `-`: decrease TX power
- `<`, `>`: decrease, increase frequency 1Hz
- `,`, `.`: decrease, increase frequency 10Hz
- `:`, `"`: decrease, increase frequency 100Hz
- `;`, `'`: decrease, increase frequency 1kHz
- `{`, `}`: decrease, increase frequency 10kHz
- `[`, `]`: decrease, increase frequency 100kHz
- `n`, `m`: cycle through operating modes
- `d`, `f`: cycle through filters
- `D`: toggle data mode
- `v`, `b`: cycle through bands
- `+`: increases TX power
- `-`: decreases TX power
- `<`, `>`: decreases, increases frequency 1Hz
- `,`, `.`: decreases, increases frequency 10Hz
- `:`, `"`: decreases, increases frequency 100Hz
- `;`, `'`: decreases, increases frequency 1kHz
- `{`, `}`: decreases, increases frequency 10kHz
- `[`, `]`: decreases, increases frequency 100kHz
- `n`, `m`: cycles through operating modes
- `d`, `f`: cycles through filters
- `D`: toggles data mode
- `v`, `b`: cycles through bands
## Authors

View file

@ -150,6 +150,8 @@ func (s *keyboardStruct) handleKey(k byte) {
log.Error("can't change band: ", err)
}
}
case 'q':
quitChan <- true
}
}

12
main.go
View file

@ -10,6 +10,7 @@ import (
)
var gotErrChan = make(chan bool)
var quitChan = make(chan bool)
func getAboutStr() string {
var v string
@ -43,6 +44,9 @@ func runControlStream(osSignal chan os.Signal) (shouldExit bool, exitCode int) {
case <-t.C:
return false, 0
case <-osSignal:
log.Print("sigterm received")
return true, 0
case <-quitChan:
return true, 0
}
}
@ -63,6 +67,9 @@ func runControlStream(osSignal chan os.Signal) (shouldExit bool, exitCode int) {
select {
case <-t.C:
case <-osSignal:
log.Print("sigterm received")
return true, 0
case <-quitChan:
return true, 0
}
}
@ -71,6 +78,9 @@ func runControlStream(osSignal chan os.Signal) (shouldExit bool, exitCode int) {
log.Print("sigterm received")
ctrl.deinit()
return true, 0
case <-quitChan:
ctrl.deinit()
return true, 0
}
}
@ -112,6 +122,8 @@ func main() {
case <-osSignal:
log.Print("sigterm received")
shouldExit = true
case <-quitChan:
shouldExit = true
default:
}