refact keyboard

mine
derailed 2019-06-22 00:01:25 -06:00
parent 68b45fa6ec
commit 9b7ef3dc6d
3 changed files with 12 additions and 8 deletions

View File

@ -9,6 +9,7 @@ import (
"github.com/derailed/k9s/internal/config" "github.com/derailed/k9s/internal/config"
res "github.com/derailed/k9s/internal/resource" res "github.com/derailed/k9s/internal/resource"
"github.com/gdamore/tcell"
"golang.org/x/text/language" "golang.org/x/text/language"
"golang.org/x/text/message" "golang.org/x/text/message"
"k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/api/resource"
@ -20,6 +21,15 @@ const (
minusSign = "↓" minusSign = "↓"
) )
// AsKey converts rune to keyboard key.,
func asKey(evt *tcell.EventKey) tcell.Key {
key := tcell.Key(evt.Rune())
if evt.Modifiers() == tcell.ModAlt {
key = tcell.Key(int16(evt.Rune()) * int16(evt.Modifiers()))
}
return key
}
// FwFQN returns a fully qualified ns/name:container id. // FwFQN returns a fully qualified ns/name:container id.
func fwFQN(po, co string) string { func fwFQN(po, co string) string {
return po + ":" + co return po + ":" + co

View File

@ -53,10 +53,7 @@ func (s *shellView) keyboard(evt *tcell.EventKey) *tcell.EventKey {
s.cmdBuff.add(evt.Rune()) s.cmdBuff.add(evt.Rune())
return nil return nil
} }
key = tcell.Key(evt.Rune()) key = asKey(evt)
if evt.Modifiers() == tcell.ModAlt {
key = tcell.Key(int16(evt.Rune()) * int16(evt.Modifiers()))
}
} }
if a, ok := s.actions[key]; ok { if a, ok := s.actions[key]; ok {

View File

@ -67,10 +67,7 @@ func (v *tableView) keyboard(evt *tcell.EventKey) *tcell.EventKey {
v.selectFirstRow() v.selectFirstRow()
return nil return nil
} }
key = tcell.Key(evt.Rune()) key = asKey(evt)
if evt.Modifiers() == tcell.ModAlt {
key = tcell.Key(int16(evt.Rune()) * int16(evt.Modifiers()))
}
} }
if a, ok := v.actions[key]; ok { if a, ok := v.actions[key]; ok {