Add on_process_key_event function for HW key event. 96/40896/1
authorSungmin Kwak <sungmin.kwak@samsung.com>
Thu, 5 Mar 2015 02:20:09 +0000 (11:20 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Wed, 10 Jun 2015 07:24:10 +0000 (16:24 +0900)
Change-Id: I071aa44206f2eeb4ec9cbe2050734c0061e6683e

src/sclconnection-isf.cpp [changed mode: 0755->0644]
src/sclcorecallback.h
src/sclcoreui-efl.cpp [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index e490f44..de8ce57
@@ -486,6 +486,16 @@ static void slot_show_ise_option_window (const scim::HelperAgent *agent, int ic,
     }
 }
 
+static void slot_process_key_event (const scim::HelperAgent *agent, scim::KeyEvent &key, scim::uint32 &ret) {
+    CSCLCoreImpl *impl = CSCLCoreImpl::get_instance();
+    if (impl) {
+        ISCLCoreEventCallback *callback = impl->get_core_event_callback();
+        if (callback) {
+            callback->on_process_key_event (key, &ret);
+        }
+    }
+}
+
 /* Internal input handler function */
 Eina_Bool input_handler (void *data, Ecore_Fd_Handler *fd_handler)
 {
@@ -588,6 +598,7 @@ sclboolean CSCLConnectionISF::init()
     m_helper_agent.signal_connect_associate_table_page_down (scim::slot (slot_associate_table_page_down));
     m_helper_agent.signal_connect_update_associate_table_page_size (scim::slot (slot_update_associate_table_page_size));
     m_helper_agent.signal_connect_show_option_window (scim::slot (slot_show_ise_option_window));
+    m_helper_agent.signal_connect_process_key_event (scim::slot (slot_process_key_event));
 
     return ret;
 }
index 132bea9..0b46d32 100644 (file)
  *
  */
 
+#include <vector>
+#include <scim_visibility.h>
+#include <scim_types.h>
+#include <scim_event.h>
 #include <ise_context.h>
 #include "scltypes.h"
 #include "sclcoretypes.h"
@@ -82,6 +86,7 @@ struct ISCLCoreEventCallback {
     virtual void on_associate_table_page_up(sclint ic, const sclchar *uuid) {}
     virtual void on_associate_table_page_down(sclint ic, const sclchar *uuid) {}
     virtual void on_update_associate_table_page_size(sclint ic, const sclchar *uuid, sclint page_size) {}
+    virtual void on_process_key_event(scim::KeyEvent &key, sclu32 *ret) {}
 
     virtual void on_set_display_language(const sclchar *language) {}
     virtual void on_set_rotation_degree(sclint degree) {}
old mode 100755 (executable)
new mode 100644 (file)