Most application only process key press events, but some process key release events. This change will let Pinyin engine to ignore some release events in init mode, and let applications have chance to get release key events.
BUG=none
TEST=Test within Ubuntu 10.10
Review URL: http://codereview.appspot.com/3975042
if (!m_editors[MODE_INIT]->text ().empty ())
m_editors[MODE_INIT]->reset ();
m_props.toggleModeChinese ();
+ return TRUE;
}
}
- return TRUE;
+
+ if (m_input_mode == MODE_INIT &&
+ m_editors[MODE_INIT]->text ().empty ()) {
+ /* If it is init mode, and no any previouse input text,
+ * we will let client applications to handle release key event */
+ return FALSE;
+ }
+ else {
+ return TRUE;
+ }
}
/* Toggle simp/trad Chinese Mode when hotkey Ctrl + Shift + F pressed */
if (!m_editors[MODE_INIT]->text ().empty ())
m_editors[MODE_INIT]->reset ();
m_props.toggleModeChinese ();
+ return TRUE;
}
}
- return TRUE;
+
+ if (m_input_mode == MODE_INIT &&
+ m_editors[MODE_INIT]->text ().empty ()) {
+ /* If it is init mode, and no any previouse input text,
+ * we will let client applications to handle release key event */
+ return FALSE;
+ }
+ else {
+ return TRUE;
+ }
}
/* Toggle simp/trad Chinese Mode when hotkey Ctrl + Shift + F pressed */