@@ -26,6 +26,9 @@ type textinputPlugin struct {
26
26
word []rune
27
27
selectionBase int
28
28
selectionExtent int
29
+
30
+ virtualKeyboardShow func ()
31
+ virtualKeyboardHide func ()
29
32
}
30
33
31
34
// keyboardShortcutsGLFW handle glfw.ModifierKey from glfwKeyCallback.
@@ -51,9 +54,18 @@ func (p *textinputPlugin) InitPluginGLFW(window *glfw.Window) error {
51
54
p .channel .HandleFuncSync ("TextInput.setClient" , p .handleSetClient )
52
55
p .channel .HandleFuncSync ("TextInput.clearClient" , p .handleClearClient )
53
56
p .channel .HandleFuncSync ("TextInput.setEditingState" , p .handleSetEditingState )
54
- // Ignored: Desktop's don't have a virtual keyboard, so there is no need to show or hide it
55
- p .channel .HandleFuncSync ("TextInput.show" , func (_ interface {}) (interface {}, error ) { return nil , nil })
56
- p .channel .HandleFuncSync ("TextInput.hide" , func (_ interface {}) (interface {}, error ) { return nil , nil })
57
+ p .channel .HandleFunc ("TextInput.show" , func (_ interface {}) (interface {}, error ) {
58
+ if p .virtualKeyboardShow != nil {
59
+ p .virtualKeyboardShow ()
60
+ }
61
+ return nil , nil
62
+ })
63
+ p .channel .HandleFunc ("TextInput.hide" , func (_ interface {}) (interface {}, error ) {
64
+ if p .virtualKeyboardHide != nil {
65
+ p .virtualKeyboardHide ()
66
+ }
67
+ return nil , nil
68
+ })
57
69
return nil
58
70
}
59
71
0 commit comments