diff --git a/ui/app/internal/input/router.go b/ui/app/internal/input/router.go index 8c336d47..3f4ef28e 100644 --- a/ui/app/internal/input/router.go +++ b/ui/app/internal/input/router.go @@ -61,7 +61,7 @@ func (q *Router) Add(e input.Event) bool { switch e := e.(type) { case pointer.Event: q.pqueue.Push(e, &q.handlers) - case key.EditEvent, key.ChordEvent, key.FocusEvent: + case key.EditEvent, key.Event, key.FocusEvent: q.kqueue.Push(e, &q.handlers) } return q.handlers.Updated() diff --git a/ui/app/os_android.go b/ui/app/os_android.go index 3f8a8f6c..78fed504 100644 --- a/ui/app/os_android.go +++ b/ui/app/os_android.go @@ -365,7 +365,7 @@ func convertKeyCode(code C.jint) (rune, bool) { func onKeyEvent(env *C.JNIEnv, class C.jclass, handle C.jlong, keyCode, r C.jint, t C.jlong) { w := views[handle] if n, ok := convertKeyCode(keyCode); ok { - w.event(key.ChordEvent{Name: n}) + w.event(key.Event{Name: n}) } if r != 0 { w.event(key.EditEvent{Text: string(rune(r))}) diff --git a/ui/app/os_ios.go b/ui/app/os_ios.go index 93f62ece..f77a8772 100644 --- a/ui/app/os_ios.go +++ b/ui/app/os_ios.go @@ -202,7 +202,7 @@ func (w *window) setAnimating(anim bool) { } func (w *window) onKeyCommand(name rune) { - w.w.event(key.ChordEvent{ + w.w.event(key.Event{ Name: name, }) } diff --git a/ui/app/os_js.go b/ui/app/os_js.go index a1814ab3..1e956357 100644 --- a/ui/app/os_js.go +++ b/ui/app/os_js.go @@ -208,7 +208,7 @@ func (w *window) focus() { func (w *window) keyEvent(e js.Value) { k := e.Get("key").String() if n, ok := translateKey(k); ok { - cmd := key.ChordEvent{Name: n} + cmd := key.Event{Name: n} if e.Call("getModifierState", "Control").Bool() { cmd.Modifiers |= key.ModCommand } diff --git a/ui/app/os_macos.go b/ui/app/os_macos.go index f283516e..d2b6b79c 100644 --- a/ui/app/os_macos.go +++ b/ui/app/os_macos.go @@ -127,7 +127,7 @@ func gio_onKeys(view C.CFTypeRef, cstr *C.char, ti C.double, mods C.NSUInteger) w := views[view] for _, k := range str { if n, ok := convertKey(k); ok { - w.w.event(key.ChordEvent{Name: n, Modifiers: kmods}) + w.w.event(key.Event{Name: n, Modifiers: kmods}) } } }) diff --git a/ui/app/os_wayland.go b/ui/app/os_wayland.go index 131934cc..5be6d14d 100644 --- a/ui/app/os_wayland.go +++ b/ui/app/os_wayland.go @@ -856,7 +856,7 @@ func (w *window) dispatchKey(keyCode C.uint32_t) { } sym := C.xkb_state_key_get_one_sym(conn.xkbState, C.xkb_keycode_t(keyCode)) if n, ok := convertKeysym(sym); ok { - cmd := key.ChordEvent{Name: n} + cmd := key.Event{Name: n} if C.xkb_state_mod_name_is_active(conn.xkbState, (*C.char)(unsafe.Pointer(&_XKB_MOD_NAME_CTRL[0])), C.XKB_STATE_MODS_EFFECTIVE) == 1 { cmd.Modifiers |= key.ModCommand } diff --git a/ui/app/os_windows.go b/ui/app/os_windows.go index 2fb5bd49..7091bb48 100644 --- a/ui/app/os_windows.go +++ b/ui/app/os_windows.go @@ -269,7 +269,7 @@ func windowProc(hwnd syscall.Handle, msg uint32, wParam, lParam uintptr) uintptr return 1 case _WM_KEYDOWN, _WM_SYSKEYDOWN: if n, ok := convertKeyCode(wParam); ok { - cmd := key.ChordEvent{Name: n} + cmd := key.Event{Name: n} if getKeyState(_VK_CONTROL)&0x1000 != 0 { cmd.Modifiers |= key.ModCommand } diff --git a/ui/key/key.go b/ui/key/key.go index aa30d1dd..36477b56 100644 --- a/ui/key/key.go +++ b/ui/key/key.go @@ -34,7 +34,7 @@ type FocusEvent struct { Focus bool } -type ChordEvent struct { +type Event struct { Name rune Modifiers Modifiers } @@ -86,5 +86,5 @@ func (h HideInputOp) Add(o *ui.Ops) { } func (EditEvent) ImplementsEvent() {} -func (ChordEvent) ImplementsEvent() {} +func (Event) ImplementsEvent() {} func (FocusEvent) ImplementsEvent() {} diff --git a/ui/text/editor.go b/ui/text/editor.go index bb6fac79..139bec31 100644 --- a/ui/text/editor.go +++ b/ui/text/editor.go @@ -14,8 +14,8 @@ import ( "gioui.org/ui/input" "gioui.org/ui/key" "gioui.org/ui/layout" - "gioui.org/ui/pointer" "gioui.org/ui/paint" + "gioui.org/ui/pointer" "golang.org/x/image/math/fixed" ) @@ -118,7 +118,7 @@ func (e *Editor) Next(cfg ui.Config, queue input.Queue) (EditorEvent, bool) { switch ke := ke.(type) { case key.FocusEvent: e.focused = ke.Focus - case key.ChordEvent: + case key.Event: if !e.focused { break } @@ -559,7 +559,7 @@ func (e *Editor) scrollToCaret(cfg ui.Config) { } } -func (e *Editor) command(k key.ChordEvent) bool { +func (e *Editor) command(k key.Event) bool { switch k.Name { case key.NameReturn, key.NameEnter: e.append("\n")