You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lntop/ui/keybindings.go

130 lines
2.5 KiB
Go

package ui
import (
"github.com/awesome-gocui/gocui"
"github.com/edouardparis/lntop/ui/models"
)
func quit(g *gocui.Gui, v *gocui.View) error {
return gocui.ErrQuit
}
func setKeyBinding(c *controller, g *gocui.Gui) error {
err := g.SetKeybinding("", gocui.KeyCtrlC, gocui.ModNone, quit)
if err != nil {
return err
}
err = g.SetKeybinding("", gocui.KeyF10, gocui.ModNone, quit)
if err != nil {
return err
}
err = g.SetKeybinding("", 'q', gocui.ModNone, quit)
if err != nil {
return err
}
err = g.SetKeybinding("", gocui.KeyArrowUp, gocui.ModNone, c.cursorUp)
if err != nil {
return err
}
err = g.SetKeybinding("", 'k', gocui.ModNone, c.cursorUp)
if err != nil {
return err
}
err = g.SetKeybinding("", gocui.KeyArrowDown, gocui.ModNone, c.cursorDown)
if err != nil {
return err
}
err = g.SetKeybinding("", 'j', gocui.ModNone, c.cursorDown)
if err != nil {
return err
}
err = g.SetKeybinding("", gocui.KeyArrowLeft, gocui.ModNone, c.cursorLeft)
if err != nil {
return err
}
err = g.SetKeybinding("", 'h', gocui.ModNone, c.cursorLeft)
if err != nil {
return err
}
err = g.SetKeybinding("", gocui.KeyArrowRight, gocui.ModNone, c.cursorRight)
if err != nil {
return err
}
err = g.SetKeybinding("", 'l', gocui.ModNone, c.cursorRight)
if err != nil {
return err
}
err = g.SetKeybinding("", gocui.KeyHome, gocui.ModNone, c.cursorHome)
if err != nil {
return err
}
err = g.SetKeybinding("", 'g', gocui.ModNone, c.cursorHome)
if err != nil {
return err
}
err = g.SetKeybinding("", gocui.KeyEnd, gocui.ModNone, c.cursorEnd)
if err != nil {
return err
}
err = g.SetKeybinding("", 'G', gocui.ModNone, c.cursorEnd)
if err != nil {
return err
}
err = g.SetKeybinding("", gocui.KeyPgdn, gocui.ModNone, c.cursorPageDown)
if err != nil {
return err
}
err = g.SetKeybinding("", gocui.KeyPgup, gocui.ModNone, c.cursorPageUp)
if err != nil {
return err
}
err = g.SetKeybinding("", gocui.KeyEnter, gocui.ModNone, c.OnEnter)
if err != nil {
return err
}
err = g.SetKeybinding("", gocui.KeyF2, gocui.ModNone, c.Menu)
if err != nil {
return err
}
err = g.SetKeybinding("", 'm', gocui.ModNone, c.Menu)
if err != nil {
return err
}
err = g.SetKeybinding("", 'a', gocui.ModNone, c.Order(models.Asc))
if err != nil {
return err
}
err = g.SetKeybinding("", 'd', gocui.ModNone, c.Order(models.Desc))
if err != nil {
return err
}
err = g.SetKeybinding("", 'c', gocui.ModNone, c.NodeInfo)
if err != nil {
return err
}
return nil
}