Merge pull request #152 from deepakkamesh/master

Added support for mouse
This commit is contained in:
Caleb Bassi 2018-08-16 19:06:33 -07:00
commit 826e5d68fa
2 changed files with 29 additions and 3 deletions

View File

@ -99,9 +99,7 @@ func crtTermboxEvt(e termbox.Event) Event {
ne.Path = "/sys/err"
ne.Data = err
case termbox.EventMouse:
m := EvtMouse{}
m.X = e.MouseX
m.Y = e.MouseY
m := evtMouse(e)
ne.Path = "/sys/mouse"
ne.Data = m
}
@ -119,6 +117,33 @@ type EvtMouse struct {
Press string
}
func evtMouse(e termbox.Event) (te EvtMouse) {
te.X = e.MouseX
te.Y = e.MouseY
var m string
switch e.Key {
case termbox.MouseLeft:
m = "MouseLeft"
case termbox.MouseMiddle:
m = "MouseMiddle"
case termbox.MouseRight:
m = "MouseRight"
case termbox.MouseRelease:
m = "MouseRelease"
case termbox.MouseWheelUp:
m = "MouseWheelUp"
case termbox.MouseWheelDown:
m = "MouseWheelDown"
default:
m = "Unknown_Mouse_Button"
}
te.Press = m
return
}
type EvtErr error
func hookTermboxEvt() {

View File

@ -33,6 +33,7 @@ func Init() error {
if err := tm.Init(); err != nil {
return err
}
tm.SetInputMode(tm.InputEsc | tm.InputMouse)
sysEvtChs = make([]chan Event, 0)
go hookTermboxEvt()