Fix issue update_input_context does not work 34/136634/3
authorJihoon Kim <jihoon48.kim@samsung.com>
Fri, 30 Jun 2017 11:11:01 +0000 (20:11 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Thu, 6 Jul 2017 07:32:26 +0000 (07:32 +0000)
Change-Id: I47452e843165dd3c2020f46b369613819b835ad7
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
ism/extras/wayland_immodule/wayland_imcontext.c
ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp

index a065a83..d379ff6 100644 (file)
@@ -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
     //
 };
 
index 7f04b97..49e7d0d 100644 (file)
@@ -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) {