94 lines
2.1 KiB
Go
94 lines
2.1 KiB
Go
package main
|
|
|
|
import (
|
|
"git.sr.ht/~tslocum/cbind"
|
|
"github.com/gdamore/tcell"
|
|
)
|
|
|
|
var inputConfig = cbind.NewConfiguration()
|
|
|
|
func setDefaultKeyBinds() {
|
|
inputConfig.SetKey(tcell.ModNone, tcell.KeyUp, func(ev *tcell.EventKey) *tcell.EventKey {
|
|
listPrevious()
|
|
return nil
|
|
})
|
|
|
|
inputConfig.SetKey(tcell.ModNone, tcell.KeyDown, func(ev *tcell.EventKey) *tcell.EventKey {
|
|
listNext()
|
|
return nil
|
|
})
|
|
inputConfig.SetRune(tcell.ModNone, 'k', func(ev *tcell.EventKey) *tcell.EventKey {
|
|
listPrevious()
|
|
return nil
|
|
})
|
|
|
|
inputConfig.SetRune(tcell.ModNone, 'j', func(ev *tcell.EventKey) *tcell.EventKey {
|
|
listNext()
|
|
return nil
|
|
})
|
|
|
|
inputConfig.SetKey(tcell.ModNone, tcell.KeyEnter, func(ev *tcell.EventKey) *tcell.EventKey {
|
|
go listSelect()
|
|
return nil
|
|
})
|
|
|
|
inputConfig.SetRune(tcell.ModNone, ' ', func(ev *tcell.EventKey) *tcell.EventKey {
|
|
pause()
|
|
return nil
|
|
})
|
|
|
|
inputConfig.SetRune(tcell.ModNone, 'p', func(ev *tcell.EventKey) *tcell.EventKey {
|
|
skipPrevious()
|
|
return nil
|
|
})
|
|
|
|
inputConfig.SetRune(tcell.ModNone, 'n', func(ev *tcell.EventKey) *tcell.EventKey {
|
|
skipNext()
|
|
return nil
|
|
})
|
|
|
|
inputConfig.SetRune(tcell.ModNone, '-', func(ev *tcell.EventKey) *tcell.EventKey {
|
|
adjustVolume(-0.5)
|
|
return nil
|
|
})
|
|
|
|
inputConfig.SetRune(tcell.ModNone, '+', func(ev *tcell.EventKey) *tcell.EventKey {
|
|
adjustVolume(0.5)
|
|
return nil
|
|
})
|
|
|
|
inputConfig.SetRune(tcell.ModNone, 'm', func(ev *tcell.EventKey) *tcell.EventKey {
|
|
toggleMute()
|
|
return nil
|
|
})
|
|
|
|
inputConfig.SetKey(tcell.ModNone, tcell.KeyEscape, func(ev *tcell.EventKey) *tcell.EventKey {
|
|
done <- true
|
|
return nil
|
|
})
|
|
|
|
inputConfig.SetKey(tcell.ModNone, tcell.KeyBackspace, func(ev *tcell.EventKey) *tcell.EventKey {
|
|
browseParent()
|
|
return nil
|
|
})
|
|
|
|
inputConfig.SetKey(tcell.ModNone, tcell.KeyBackspace2, func(ev *tcell.EventKey) *tcell.EventKey {
|
|
browseParent()
|
|
return nil
|
|
})
|
|
|
|
inputConfig.SetKey(tcell.ModNone, tcell.KeyPgUp, func(ev *tcell.EventKey) *tcell.EventKey {
|
|
listPreviousPage()
|
|
return nil
|
|
})
|
|
|
|
inputConfig.SetKey(tcell.ModNone, tcell.KeyPgDn, func(ev *tcell.EventKey) *tcell.EventKey {
|
|
listNextPage()
|
|
return nil
|
|
})
|
|
|
|
// TODO:
|
|
// Queue non-recursively - q
|
|
// Queue recursively - Q
|
|
}
|