diff --git a/honoka/src/honoka_imengine.cpp b/honoka/src/honoka_imengine.cpp index a0fc21d..171a2e6 100644 --- a/honoka/src/honoka_imengine.cpp +++ b/honoka/src/honoka_imengine.cpp @@ -1044,6 +1044,23 @@ updatePreEditor(); return true; } else + if (k_filter_commit.comp(key)) { + if (auto_conversion) { + commit_string(m_filter->filter(getConvertedText())); + if (prediction) if (m_predictor->isConnected()) m_predictor->update(getConvertedText(),m_preeditor->getText(true)); + m_convertor->reset(); + } else { + commit_string(m_filter->filter(m_preeditor->getText(true))); + if (prediction) if (m_predictor->isConnected()) m_predictor->update(m_preeditor->getText(true),m_preeditor->getText(true)); + } + m_preeditor->reset(); + while(preeditStack.size()) { + preeditStack.pop(); + } + updatePreEditor(); + return true; + } else + if (k_forward.comp(key) || k_backward.comp(key)) { k_backward.comp(key) ? m_preeditor->setPos(m_preeditor->getPos() - 1) : m_preeditor->setPos(m_preeditor->getPos() + 1); updatePreEditor();