Fix stringifying mods

This commit is contained in:
Kovid Goyal 2022-08-24 21:56:29 +05:30
parent 4b18b575cd
commit 5dca2a1a25
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 18 additions and 11 deletions

View File

@ -58,30 +58,30 @@ func (self KeyEventType) String() string {
} }
} }
func (self *KeyModifiers) String() string { func (self KeyModifiers) String() string {
ans := make([]string, 0) ans := make([]string, 0)
if *self&SHIFT != 0 { if self&SHIFT != 0 {
ans = append(ans, "shift") ans = append(ans, "shift")
} }
if *self&ALT != 0 { if self&ALT != 0 {
ans = append(ans, "alt") ans = append(ans, "alt")
} }
if *self&CTRL != 0 { if self&CTRL != 0 {
ans = append(ans, "ctrl") ans = append(ans, "ctrl")
} }
if *self&SUPER != 0 { if self&SUPER != 0 {
ans = append(ans, "super") ans = append(ans, "super")
} }
if *self&HYPER != 0 { if self&HYPER != 0 {
ans = append(ans, "hyper") ans = append(ans, "hyper")
} }
if *self&META != 0 { if self&META != 0 {
ans = append(ans, "meta") ans = append(ans, "meta")
} }
if *self&CAPS_LOCK != 0 { if self&CAPS_LOCK != 0 {
ans = append(ans, "caps_lock") ans = append(ans, "caps_lock")
} }
if *self&NUM_LOCK != 0 { if self&NUM_LOCK != 0 {
ans = append(ans, "num_lock") ans = append(ans, "num_lock")
} }
return strings.Join(ans, "+") return strings.Join(ans, "+")

View File

@ -46,8 +46,15 @@ type Loop struct {
write_buf []byte write_buf []byte
// Callbacks // Callbacks
// Called when the terminal has been fully setup. Any string returned is sent to
// the terminal on shutdown
OnInitialize func(loop *Loop) string OnInitialize func(loop *Loop) string
// Called when a key event happens
OnKeyEvent func(loop *Loop, event *KeyEvent) error OnKeyEvent func(loop *Loop, event *KeyEvent) error
// Called when text is received either from a key event or directly from the terminal
OnText func(loop *Loop, text string, from_key_event bool, in_bracketed_paste bool) error OnText func(loop *Loop, text string, from_key_event bool, in_bracketed_paste bool) error
} }