m_impl->signal_process_key_event(this, subclass->get_key_ref(), ret);
m_impl->signal_process_key_event_with_keycode(this, subclass->get_key_ref(), keycode_ret, subclass->get_keycode_ref());
- if (ret != 0 && keycode_ret != 0) {
+ if (ret != 0 || keycode_ret != 0) {
ret = 1;
m_impl->process_key_event_done (subclass->get_key_ref(), ret, subclass->get_serial_ref());
- } else {
- if (!(subclass->get_key_ref().get_key_string().compare("KeyRelease+XF86Back") == 0 ||
- subclass->get_key_ref().get_key_string().compare("XF86Back") == 0)) {
- if (m_impl->engine_loader_flag) {
- m_impl->signal_process_key_event_with_imengine(this, subclass->get_key_ref(), subclass->get_serial_ref());
- SECURE_LOGD ("imengine process key %d", subclass->get_key_ref().code);
- } else {
- if (!m_impl->si.null ()) {
- ret = m_impl->si->process_key_event (subclass->get_key_ref());
- SECURE_LOGD ("imengine(%s) process key %d return %d", m_impl->si->get_factory_uuid().c_str(),
- subclass->get_key_ref().code, ret);
- }
- m_impl->process_key_event_done (subclass->get_key_ref(), ret, subclass->get_serial_ref());
- }
- } else
- m_impl->process_key_event_done (subclass->get_key_ref(), ret, subclass->get_serial_ref());
+ break;
}
+
+ if (!(subclass->get_key_ref().get_key_string().compare("KeyRelease+XF86Back") == 0 ||
+ subclass->get_key_ref().get_key_string().compare("XF86Back") == 0)) {
+ if (m_impl->engine_loader_flag) {
+ m_impl->signal_process_key_event_with_imengine(this, subclass->get_key_ref(), subclass->get_serial_ref());
+ SECURE_LOGD ("imengine process key %d", subclass->get_key_ref().code);
+ } else {
+ if (!m_impl->si.null ()) {
+ ret = m_impl->si->process_key_event (subclass->get_key_ref());
+ SECURE_LOGD ("imengine(%s) process key %d return %d", m_impl->si->get_factory_uuid().c_str(),
+ subclass->get_key_ref().code, ret);
+ }
+ m_impl->process_key_event_done (subclass->get_key_ref(), ret, subclass->get_serial_ref());
+ }
+ } else
+ m_impl->process_key_event_done (subclass->get_key_ref(), ret, subclass->get_serial_ref());
break;
}
case ISM_TRANS_CMD_SET_LAYOUT: