From 701ceda4d06df1eb649e8cb5ead6dfe7a5c844ac Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Sun, 12 May 2019 18:06:18 +0200 Subject: [PATCH] ui/gesture,ui/editor: don't focus and show keyboard on touch press Wait until click for touches. Signed-off-by: Elias Naur --- ui/gesture/gestures.go | 5 +++-- ui/text/editor.go | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ui/gesture/gestures.go b/ui/gesture/gestures.go index 0b91f407..dfbf868d 100644 --- a/ui/gesture/gestures.go +++ b/ui/gesture/gestures.go @@ -16,6 +16,7 @@ import ( type ClickEvent struct { Type ClickType Position f32.Point + Source pointer.Source } type ClickState uint8 @@ -94,7 +95,7 @@ func (c *Click) Update(q pointer.Events) []ClickEvent { switch e.Type { case pointer.Release: if c.State == StatePressed { - events = append(events, ClickEvent{Type: TypeClick, Position: e.Position}) + events = append(events, ClickEvent{Type: TypeClick, Position: e.Position, Source: e.Source}) } c.State = StateNormal case pointer.Cancel: @@ -104,7 +105,7 @@ func (c *Click) Update(q pointer.Events) []ClickEvent { break } c.State = StatePressed - events = append(events, ClickEvent{Type: TypePress, Position: e.Position}) + events = append(events, ClickEvent{Type: TypePress, Position: e.Position, Source: e.Source}) case pointer.Move: if c.State == StatePressed && !e.Hit { c.State = StateNormal diff --git a/ui/text/editor.go b/ui/text/editor.go index 414e5e7b..7655720c 100644 --- a/ui/text/editor.go +++ b/ui/text/editor.go @@ -86,8 +86,9 @@ func (e *Editor) Update(c *ui.Config, pq pointer.Events, kq key.Events) { } scrollTo := false for _, evt := range e.clicker.Update(pq) { - switch evt.Type { - case gesture.TypePress: + switch { + case evt.Type == gesture.TypePress && evt.Source == pointer.Mouse, + evt.Type == gesture.TypeClick && evt.Source == pointer.Touch: scrollTo = true e.blinkStart = c.Now e.moveCoord(image.Point{