static void _e_text_input_cb_input_panel_show(struct wl_client *client, struct wl_resource *resource);
static void _e_text_input_deactivate(E_Text_Input *text_input, E_Input_Method *input_method, Eina_Bool need_focus_in);
static Eina_Bool _e_text_input_method_create_context(struct wl_client *client, E_Input_Method *input_method, E_Text_Input *text_input, Eina_Bool need_focus_out);
+static void send_hide_input_panel(E_Input_Method *input_method);
E_Client *
e_text_input_client_surface_get(void)
((!input_method->context) || (!input_method->context->resource)))
_context_created = _e_text_input_method_create_context(client, input_method, text_input, EINA_FALSE);
- if (input_method && input_method->resource && input_method->context && input_method->context->resource)
- wl_input_method_send_hide_input_panel(input_method->resource, input_method->context->resource);
+ send_hide_input_panel(input_method);
if (_context_created)
_e_text_input_deactivate(text_input, input_method, EINA_FALSE);
g_show_state_candidate = EINA_FALSE;
}
+static void send_hide_input_panel(E_Input_Method *input_method)
+{
+ if (input_method && input_method->resource && input_method->context && input_method->context->resource)
+ {
+ LOGD("Request to hide IME");
+ wl_input_method_send_hide_input_panel(input_method->resource, input_method->context->resource);
+ }
+}
+
static void
_keyboard_mode_changed_cb(keynode_t *key, void* data)
{
if (g_input_method && g_input_method->resource)
input_method = wl_resource_get_user_data(g_input_method->resource);
- if (input_method && input_method->resource && input_method->context && input_method->context->resource)
- wl_input_method_send_hide_input_panel(input_method->resource, input_method->context->resource);
+ send_hide_input_panel(input_method);
}
static void