summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2014-06-27 17:29:31 +0800
committerPeng Wu <alexepico@gmail.com>2014-06-27 17:29:31 +0800
commit333f5553b0fdd34d7347cd7baaf3d00393138e40 (patch)
tree546767f4da6d366609bd3b95861c54ec193076dd
parent93bf89ccebc99a79d9866ce03695d604576ff394 (diff)
downloadibus-libzhuyin-333f5553b0fdd34d7347cd7baaf3d00393138e40.tar.gz
ibus-libzhuyin-333f5553b0fdd34d7347cd7baaf3d00393138e40.tar.xz
ibus-libzhuyin-333f5553b0fdd34d7347cd7baaf3d00393138e40.zip
handle enter key
-rw-r--r--src/ZYFallbackEditor.cc9
-rw-r--r--src/ZYZPhoneticEditor.cc9
2 files changed, 15 insertions, 3 deletions
diff --git a/src/ZYFallbackEditor.cc b/src/ZYFallbackEditor.cc
index b23985b..1e5d0ba 100644
--- a/src/ZYFallbackEditor.cc
+++ b/src/ZYFallbackEditor.cc
@@ -153,6 +153,15 @@ FallbackEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers)
case IBUS_space:
retval = processEnglish (keyval, keycode, modifiers);
break;
+ /* enter */
+ case IBUS_Return:
+ case IBUS_KP_Enter:
+ {
+ Text text ("\n");
+ commitText (text);
+ retval = TRUE;
+ }
+ break;
/* others */
default:
break;
diff --git a/src/ZYZPhoneticEditor.cc b/src/ZYZPhoneticEditor.cc
index dd1231c..a37f337 100644
--- a/src/ZYZPhoneticEditor.cc
+++ b/src/ZYZPhoneticEditor.cc
@@ -74,14 +74,17 @@ gboolean
PhoneticEditor::processEnter (guint keyval, guint keycode,
guint modifiers)
{
- if (!m_text)
- return FALSE;
-
if (IBUS_Return != keyval && IBUS_KP_Enter != keyval)
return FALSE;
if (cmshm_filter (modifiers) != 0)
+ return FALSE;
+
+ if (!m_text) {
+ Text text ("\n");
+ commitText (text);
return TRUE;
+ }
commit ();
return TRUE;