Separate process_key_event_with_keycode from process_key_event 24/201624/1
authorInhong Han <inhong1.han@samsung.com>
Mon, 18 Mar 2019 08:09:37 +0000 (17:09 +0900)
committerInhong Han <inhong1.han@samsung.com>
Mon, 18 Mar 2019 08:09:37 +0000 (17:09 +0900)
Change-Id: I8dc7c63ba42333c29a831479e7509fca4e5f48f9

src/inputmethod.cpp

index 1b702d1..af09eb6 100644 (file)
@@ -55,7 +55,8 @@ class CCoreEventCallback : public ISCLCoreEventCallback
     void on_set_return_key_disable(sclu32 disabled);
     void on_set_layout(sclu32 layout);
     void on_reset_input_context(sclint ic, const sclchar *uuid);
-    void on_process_key_event(scim::KeyEvent &key, sclu32 *ret, sclu32 keycode);
+    void on_process_key_event(scim::KeyEvent &key, sclu32 *ret);
+    void on_process_key_event_with_keycode(scim::KeyEvent &key, sclu32 *ret, sclu32 keycode);
     void on_set_display_language(const sclchar *language);
     void on_set_rotation_degree(sclint degree);
     void on_set_accessibility_state(sclboolean state);
@@ -316,32 +317,40 @@ void CCoreEventCallback::on_reset_input_context(sclint ic, const sclchar *uuid)
     }
 }
 
-void CCoreEventCallback::on_process_key_event(scim::KeyEvent &key, sclu32 *ret, sclu32 keycode)
+void CCoreEventCallback::on_process_key_event(scim::KeyEvent &key, sclu32 *ret)
 {
-    if (g_event_callback.process_key_event_with_keycode || g_event_callback.process_key_event) {
+    if (g_event_callback.process_key_event) {
         struct _ime_device_info dev_info = {key.dev_name.c_str(),
             static_cast<Ecore_IMF_Device_Class>(key.dev_class), static_cast<Ecore_IMF_Device_Subclass>(key.dev_subclass)};
+        bool processed = g_event_callback.process_key_event(static_cast<ime_key_code_e>(key.code), static_cast<ime_key_mask_e>(key.mask),
+            static_cast<ime_device_info_h>(&dev_info), g_event_callback.process_key_event_user_data);
 
-        if (g_event_callback.process_key_event_with_keycode) {
-            bool processed = g_event_callback.process_key_event_with_keycode(keycode, static_cast<ime_key_code_e>(key.code), static_cast<ime_key_mask_e>(key.mask),
-                static_cast<ime_device_info_h>(&dev_info), g_event_callback.process_key_event_user_data);
+        if (ret) {
+            if (processed)
+                *ret = 1;
+            else
+                *ret = 0;
+        }
+    } else {
+        if (ret) {
+            *ret = 0;
+        }
+    }
+}
 
-            if (ret) {
-                if (processed)
-                    *ret = 1;
-                else
-                    *ret = 0;
-            }
-        } else if (g_event_callback.process_key_event) {
-            bool processed = g_event_callback.process_key_event(static_cast<ime_key_code_e>(key.code), static_cast<ime_key_mask_e>(key.mask),
+void CCoreEventCallback::on_process_key_event_with_keycode(scim::KeyEvent &key, sclu32 *ret, sclu32 keycode)
+{
+    if (g_event_callback.process_key_event_with_keycode) {
+        struct _ime_device_info dev_info = {key.dev_name.c_str(),
+            static_cast<Ecore_IMF_Device_Class>(key.dev_class), static_cast<Ecore_IMF_Device_Subclass>(key.dev_subclass)};
+        bool processed = g_event_callback.process_key_event_with_keycode(keycode, static_cast<ime_key_code_e>(key.code), static_cast<ime_key_mask_e>(key.mask),
                 static_cast<ime_device_info_h>(&dev_info), g_event_callback.process_key_event_user_data);
 
-            if (ret) {
-                if (processed)
-                    *ret = 1;
-                else
-                    *ret = 0;
-            }
+        if (ret) {
+            if (processed)
+                *ret = 1;
+            else
+                *ret = 0;
         }
     } else {
         if (ret) {