typedef Signal2<void, const HelperAgent *, LookupTable &>
HelperAgentSignalLookupTable;
-typedef Signal4<void, const HelperAgent *, KeyEvent &, uint32 &, uint32>
+typedef Signal3<void, const HelperAgent *, KeyEvent &, uint32 &>
HelperAgentSignalKeyEventUint;
+typedef Signal4<void, const HelperAgent *, KeyEvent &, uint32 &, uint32>
+ HelperAgentSignalKeyEventUintUint;
+
typedef Signal5<void, const HelperAgent *, uint32 &, char *, size_t &, uint32 &>
HelperAgentSignalUintCharSizeUint;
HelperAgentSignalInt signal_update_displayed_candidate_number;
HelperAgentSignalInt signal_longpress_candidate;
HelperAgentSignalKeyEventUint signal_process_key_event;
+ HelperAgentSignalKeyEventUintUint signal_process_key_event_with_keycode;
HelperAgentSignalUintVoid signal_set_input_mode;
HelperAgentSignalUintVoid signal_set_input_hint;
HelperAgentSignalUintVoid signal_update_bidi_direction;
{
MessageItemProcessKeyEvent *subclass = static_cast<MessageItemProcessKeyEvent*>(message);
uint32 ret = 0;
- m_impl->signal_process_key_event(this, subclass->get_key_ref(), ret, subclass->get_keycode_ref());
- if (ret == 0) {
+ uint32 keycode_ret = 0;
+ 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 (!m_impl->si.null ()) {
if (!(subclass->get_key_ref().get_key_string().compare("KeyRelease+XF86Back") == 0 ||
subclass->get_key_ref().get_key_string().compare("XF86Back") == 0)) {
* This signal is used to send keyboard key event to Helper ISE.
*
* The prototype of the slot is:
- * void process_key_event (const HelperAgent *agent, KeyEvent &key, uint32 &ret, uint32 keycode);
+ * void process_key_event (const HelperAgent *agent, KeyEvent &key, uint32 &ret);
*/
Connection
HelperAgent::signal_connect_process_key_event (HelperAgentSlotKeyEventUint *slot)
}
/**
+ * @brief Connect a slot to Helper process key event with keycode signal.
+ *
+ * This signal is used to send keyboard key event with keycode to Helper ISE.
+ *
+ * The prototype of the slot is:
+ * void process_key_event_with_keycode (const HelperAgent *agent, KeyEvent &key, uint32 &ret, uint32 keycode);
+ */
+Connection
+HelperAgent::signal_connect_process_key_event_with_keycode (HelperAgentSlotKeyEventUintUint *slot)
+{
+ return m_impl->signal_process_key_event_with_keycode.connect (slot);
+}
+
+/**
* @brief Connect a slot to Helper get return key disable signal.
*
* This signal is used to get return key disable from Helper ISE.
typedef Slot2<void, const HelperAgent *, LookupTable &>
HelperAgentSlotLookupTable;
-typedef Slot4<void, const HelperAgent *, KeyEvent &, uint32 &, uint32>
+typedef Slot3<void, const HelperAgent *, KeyEvent &, uint32 &>
HelperAgentSlotKeyEventUint;
+typedef Slot4<void, const HelperAgent *, KeyEvent &, uint32 &, uint32>
+ HelperAgentSlotKeyEventUintUint;
typedef Slot5<void, const HelperAgent *, uint32 &, char *, size_t &, uint32 &>
HelperAgentSlotUintCharSizeUint;
* @brief Connect a slot to Helper process key event signal.
*
* The prototype of the slot is:
- * void process_key_event (const HelperAgent *, KeyEvent &key, uint32 &ret, uint32 keycode);
+ * void process_key_event (const HelperAgent *, KeyEvent &key, uint32 &ret);
*/
Connection signal_connect_process_key_event (HelperAgentSlotKeyEventUint *slot);
/**
+ * @brief Connect a slot to Helper process key event with keycode signal.
+ *
+ * The prototype of the slot is:
+ * void process_key_event_with_keycode (const HelperAgent *, KeyEvent &key, uint32 &ret, uint32 keycode);
+ */
+ Connection signal_connect_process_key_event_with_keycode (HelperAgentSlotKeyEventUintUint *slot);
+
+ /**
* @brief Connect a slot to Helper set input mode signal.
*
* This signal is used to set Helper ISE input mode.