Skip to content

Commit 5628086

Browse files
authored
Merge pull request #14 from pdevine/blocks
Add mouse support + palette fixes
2 parents 44dbe20 + 6130a20 commit 5628086

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

termbox/compat.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ func Init() error {
3333
} else if e = s.Init(); e != nil {
3434
return e
3535
} else {
36+
s.EnableMouse()
3637
screen = s
3738
return nil
3839
}
@@ -678,6 +679,7 @@ const (
678679
MouseLeft = Key(tcell.KeyF63) // arbitrary assignments
679680
MouseRight = Key(tcell.KeyF62)
680681
MouseMiddle = Key(tcell.KeyF61)
682+
MouseRelease = Key(tcell.KeyF64)
681683
KeySpace = Key(tcell.Key(' '))
682684
)
683685

@@ -709,6 +711,30 @@ func makeEvent(tev tcell.Event) Event {
709711
Ch: ch,
710712
Mod: Modifier(mod),
711713
}
714+
case *tcell.EventMouse:
715+
x, y := tev.Position()
716+
var k Key
717+
switch tev.Buttons() {
718+
case tcell.Button1:
719+
k = MouseLeft
720+
break
721+
case tcell.Button2:
722+
k = MouseMiddle
723+
break
724+
case tcell.Button3:
725+
k = MouseRight
726+
break
727+
case tcell.ButtonNone:
728+
k = MouseRelease
729+
break
730+
}
731+
732+
return Event{
733+
Type: EventMouse,
734+
MouseX: x,
735+
MouseY: y,
736+
Key: k,
737+
}
712738
default:
713739
return Event{Type: EventNone}
714740
}

0 commit comments

Comments
 (0)