diff options
author | Caleb Bassi <calebjbassi@gmail.com> | 2018-03-06 16:44:33 -0800 |
---|---|---|
committer | Caleb Bassi <calebjbassi@gmail.com> | 2018-03-06 16:44:33 -0800 |
commit | 481a4dd1a1d661904d3b1633e6cca2dc239350e5 (patch) | |
tree | 85d7e22755f3abc4173b284a3713b889ffab5820 /termui | |
parent | 35e79f132bc16e21c64a8c9bb2ffa02b0069c581 (diff) |
Changed some events to use angle brackets
Diffstat (limited to 'termui')
-rw-r--r-- | termui/events.go | 39 |
1 files changed, 30 insertions, 9 deletions
diff --git a/termui/events.go b/termui/events.go index 8849101..3bc5459 100644 --- a/termui/events.go +++ b/termui/events.go @@ -6,6 +6,23 @@ import ( tb "github.com/nsf/termbox-go" ) +/* +here's the list of events which you can assign handlers too using the `On` function: + mouse events: + <MouseLeft> <MouseRight> <MouseMiddle> + <MouseWheelUp> <MouseWheelDown> + keyboard events: + any uppercase or lowercase letter or a set of two letters like j or jj or J or JJ + <C-d> etc + <M-d> etc + <up> <down> <left> <right> + <insert> <delete> <home> <end> <previous> <next> + <backspace> <tab> <enter> <escape> <space> + <C-<space>> etc + terminal events: + <resize> +*/ + var eventStream = EventStream{ make(map[string]func(Event)), "", @@ -104,7 +121,7 @@ func convertTermboxKeyValue(e tb.Event) string { mod := "" if e.Mod == tb.ModAlt { - mod = "M-" + mod = "<M-" } if e.Ch == 0 { if e.Key > 0xFFFF-12 { @@ -115,7 +132,7 @@ func convertTermboxKeyValue(e tb.Event) string { } if e.Key <= 0x7F { - pre = "C-" + pre = "<C-" k = string('a' - 1 + int(e.Key)) kmap := map[tb.Key][2]string{ tb.KeyCtrlSpace: {"C-", "<space>"}, @@ -135,23 +152,27 @@ func convertTermboxKeyValue(e tb.Event) string { } } + if pre != "" { + k += ">" + } + return pre + mod + k } func convertTermboxMouseValue(e tb.Event) string { switch e.Key { case tb.MouseLeft: - return "MouseLeft" + return "<MouseLeft>" case tb.MouseMiddle: - return "MouseMiddle" + return "<MouseMiddle>" case tb.MouseRight: - return "MouseRight" + return "<MouseRight>" case tb.MouseWheelUp: - return "MouseWheelUp" + return "<MouseWheelUp>" case tb.MouseWheelDown: - return "MouseWheelDown" + return "<MouseWheelDown>" case tb.MouseRelease: - return "MouseRelease" + return "<MouseRelease>" } return "" } @@ -173,7 +194,7 @@ func convertTermboxEvent(e tb.Event) Event { } case tb.EventResize: ne = Event{ - Key: "resize", + Key: "<resize>", Width: e.Width, Height: e.Height, } |