summaryrefslogtreecommitdiffstats
path: root/src/tui/tcell.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/tui/tcell.go')
-rw-r--r--src/tui/tcell.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/tui/tcell.go b/src/tui/tcell.go
index 7db37c4c..8e5524ae 100644
--- a/src/tui/tcell.go
+++ b/src/tui/tcell.go
@@ -193,19 +193,22 @@ func (r *FullscreenRenderer) GetChar() Event {
button := ev.Buttons()
mod := ev.Modifiers() != 0
if button&tcell.WheelDown != 0 {
- return Event{Mouse, 0, &MouseEvent{y, x, -1, false, false, mod}}
+ return Event{Mouse, 0, &MouseEvent{y, x, -1, false, false, false, mod}}
} else if button&tcell.WheelUp != 0 {
- return Event{Mouse, 0, &MouseEvent{y, x, +1, false, false, mod}}
+ return Event{Mouse, 0, &MouseEvent{y, x, +1, false, false, false, mod}}
} else if runtime.GOOS != "windows" {
// double and single taps on Windows don't quite work due to
// the console acting on the events and not allowing us
// to consume them.
- down := button&tcell.Button1 != 0 // left
+ left := button&tcell.Button1 != 0
+ down := left || button&tcell.Button3 != 0
double := false
if down {
now := time.Now()
- if now.Sub(r.prevDownTime) < doubleClickDuration {
+ if !left {
+ r.clickY = []int{}
+ } else if now.Sub(r.prevDownTime) < doubleClickDuration {
r.clickY = append(r.clickY, x)
} else {
r.clickY = []int{x}
@@ -218,7 +221,7 @@ func (r *FullscreenRenderer) GetChar() Event {
}
}
- return Event{Mouse, 0, &MouseEvent{y, x, 0, down, double, mod}}
+ return Event{Mouse, 0, &MouseEvent{y, x, 0, left, down, double, mod}}
}
// process keyboard: