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

31 lines
635 B

package ui
import (
"github.com/RasmusLindroth/tut/config"
"github.com/gdamore/tcell/v2"
)
type Control struct {
key config.Key
Label string
Len int
}
func NewControl(c *config.Config, k config.Key, first bool) Control {
label, length := config.ColorFromKey(c, k, first)
return Control{
key: k,
Label: label,
Len: length,
}
}
func (c Control) Click() *tcell.EventKey {
for _, k := range c.key.Keys {
return tcell.NewEventKey(k, 0, tcell.ModNone)
}
for _, r := range c.key.Runes {
return tcell.NewEventKey(tcell.KeyRune, r, tcell.ModNone)
}
return tcell.NewEventKey(tcell.KeyRune, 0, tcell.ModNone)
}