From 1eb70ce12bed9d6b53c02ac8693ec52abe1d0216 Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Wed, 20 Nov 2019 19:12:47 +0800 Subject: [PATCH 1/3] fixes period handling --- src/PYFallbackEditor.cc | 1 + src/PYPPinyinEditor.cc | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/PYFallbackEditor.cc b/src/PYFallbackEditor.cc index e3dcfba..12985f4 100644 --- a/src/PYFallbackEditor.cc +++ b/src/PYFallbackEditor.cc @@ -219,6 +219,7 @@ FallbackEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) case IBUS_A ... IBUS_Z: if (modifiers == 0) { if (!m_props.modeFull ()) + m_prev_committed_char = keyval; return FALSE; commit (HalfFullConverter::toFull (keyval)); diff --git a/src/PYPPinyinEditor.cc b/src/PYPPinyinEditor.cc index d2741b0..55bbb63 100644 --- a/src/PYPPinyinEditor.cc +++ b/src/PYPPinyinEditor.cc @@ -130,7 +130,7 @@ PinyinEditor::processPunct (guint keyval, guint keycode, return FALSE; } - return TRUE; + return FALSE; } inline gboolean -- 2.26.2 From 592b628000d9b58bb714ff9232d7d2ddf814cacf Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Thu, 21 Nov 2019 14:45:28 +0800 Subject: [PATCH 2/3] fixes period handling again --- src/PYFallbackEditor.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/PYFallbackEditor.cc b/src/PYFallbackEditor.cc index 12985f4..3d03b49 100644 --- a/src/PYFallbackEditor.cc +++ b/src/PYFallbackEditor.cc @@ -218,9 +218,10 @@ FallbackEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) case IBUS_a ... IBUS_z: case IBUS_A ... IBUS_Z: if (modifiers == 0) { - if (!m_props.modeFull ()) + if (!m_props.modeFull ()) { m_prev_committed_char = keyval; return FALSE; + } commit (HalfFullConverter::toFull (keyval)); retval = TRUE; @@ -261,8 +262,10 @@ FallbackEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) keyval = IBUS_space; case IBUS_space: if (modifiers == 0) { - if (!m_props.modeFull ()) + if (!m_props.modeFull ()) { + m_prev_committed_char = keyval; return FALSE; + } commit (" "); retval = TRUE; @@ -272,6 +275,9 @@ FallbackEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) default: break; } + + if (!retval) + m_prev_committed_char = keyval; return retval; } -- 2.26.2 From 17121ad1dbc8c9be44d449c2d79179cdd90f6d7c Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Fri, 29 Nov 2019 13:23:16 +0800 Subject: [PATCH 3/3] fixes comma handling --- src/PYFallbackEditor.cc | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/PYFallbackEditor.cc b/src/PYFallbackEditor.cc index 3d03b49..6020591 100644 --- a/src/PYFallbackEditor.cc +++ b/src/PYFallbackEditor.cc @@ -76,13 +76,21 @@ FallbackEditor::processPunctForSimplifiedChinese (guint keyval, guint keycode, g m_double_quote = !m_double_quote; return TRUE; case ',': - commit (","); return TRUE; + if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9') { + m_prev_committed_char = keyval; + return FALSE; + } else { + commit (","); + return TRUE; + } case '.': - if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9') + if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9') { + m_prev_committed_char = keyval; return FALSE; - else + } else { commit ("。"); - return TRUE; + return TRUE; + } case '<': commit ("《"); return TRUE; case '>': @@ -144,13 +152,21 @@ FallbackEditor::processPunctForTraditionalChinese (guint keyval, guint keycode, m_double_quote = !m_double_quote; return TRUE; case ',': - commit (","); return TRUE; + if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9') { + m_prev_committed_char = keyval; + return FALSE; + } else { + commit (","); + return TRUE; + } case '.': - if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9') + if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9') { + m_prev_committed_char = keyval; return FALSE; - else + } else { commit ("。"); - return TRUE; + return TRUE; + } case '<': commit ("《"); return TRUE; case '>': -- 2.26.2