From: Jihoon Kim Date: Fri, 30 Jun 2017 11:11:01 +0000 (+0900) Subject: Fix issue update_input_context does not work X-Git-Tag: accepted/tizen/unified/20170713.153704~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F34%2F136634%2F3;p=platform%2Fcore%2Fuifw%2Fisf.git Fix issue update_input_context does not work Change-Id: I47452e843165dd3c2020f46b369613819b835ad7 Signed-off-by: Jihoon Kim --- diff --git a/ism/extras/wayland_immodule/wayland_imcontext.c b/ism/extras/wayland_immodule/wayland_imcontext.c index a065a83..d379ff6 100644 --- a/ism/extras/wayland_immodule/wayland_imcontext.c +++ b/ism/extras/wayland_immodule/wayland_imcontext.c @@ -2401,6 +2401,21 @@ text_input_recapture_string(void *data, // send transaction end ecore_imf_context_event_callback_call(imcontext->ctx, ECORE_IMF_CALLBACK_PRIVATE_COMMAND_SEND, (void *)"TRANSACTION_END"); } + +static void +text_input_input_panel_event(void *data, + struct wl_text_input *text_input EINA_UNUSED, + uint32_t serial EINA_UNUSED, + uint32_t event_type, + uint32_t value) +{ + WaylandIMContext *imcontext = (WaylandIMContext *)data; + if (!imcontext || !imcontext->ctx) return; + + LOGD("event type : %d, value : %d\n", event_type, value); + + ecore_imf_context_input_panel_event_callback_call(imcontext->ctx, event_type, value); +} // static const struct wl_text_input_listener text_input_listener = @@ -2428,7 +2443,8 @@ static const struct wl_text_input_listener text_input_listener = text_input_filter_key_event_done, text_input_hide_permission, text_input_recapture_string, - text_input_commit_content + text_input_commit_content, + text_input_input_panel_event // }; diff --git a/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp b/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp index 7f04b97..49e7d0d 100644 --- a/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp +++ b/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp @@ -2974,6 +2974,14 @@ public: } } + void + update_ise_input_context (int client, uint32 context, uint32 type, uint32 value) { + if (!_focused_ic || !_focused_ic->im_ctx) + return; + + wl_input_method_context_input_panel_event (_focused_ic->im_ctx, _focused_ic->serial, type, value); + } + #if 0 void request_help (int id, uint32 context_id) {