summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;