fix bug back key isn't propagated in case of H/W keyboard mode 44/17444/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Fri, 28 Jun 2013 11:05:41 +0000 (20:05 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Fri, 7 Mar 2014 01:39:57 +0000 (10:39 +0900)
Change-Id: Ic576610ce85ce0848948a11bfe8436e42b4471fe

ism/extras/efl_immodule/isf_imf_context.cpp

index d12e24b..97c6de7 100644 (file)
@@ -460,7 +460,8 @@ _key_down_cb (void *data, int type, void *event)
     Evas_Event_Key_Down *ev = (Evas_Event_Key_Down *)event;
     if (!ev || !_focused_ic || !_focused_ic->ctx) return ECORE_CALLBACK_RENEW;
 
-    if (!strcmp (ev->keyname, KEY_END) &&
+    if ((hw_keyboard_num_get() == 0) &&
+        !strcmp (ev->keyname, KEY_END) &&
         ecore_imf_context_input_panel_state_get (_focused_ic->ctx) != ECORE_IMF_INPUT_PANEL_STATE_HIDE) {
         LOGD ("END key is pressed\n");
         return ECORE_CALLBACK_CANCEL;
@@ -477,7 +478,8 @@ _key_up_cb (void *data, int type, void *event)
     Evas_Event_Key_Down *ev = (Evas_Event_Key_Down *)event;
     if (!ev || !_focused_ic || !_focused_ic->ctx) return ECORE_CALLBACK_RENEW;
 
-    if (!strcmp (ev->keyname, KEY_END) &&
+    if ((hw_keyboard_num_get() == 0) &&
+        !strcmp (ev->keyname, KEY_END) &&
         ecore_imf_context_input_panel_state_get (_focused_ic->ctx) != ECORE_IMF_INPUT_PANEL_STATE_HIDE) {
         LOGD ("END key is released\n");
         isf_imf_context_input_panel_instant_hide (_focused_ic->ctx);