diff --git a/scim-wnn/src/scim_wnn_imengine.cpp b/scim-wnn/src/scim_wnn_imengine.cpp index 222ff1d..a4b66a0 100644 --- a/scim-wnn/src/scim_wnn_imengine.cpp +++ b/scim-wnn/src/scim_wnn_imengine.cpp @@ -88,7 +88,7 @@ if (factory != 0) return NULL; if (_scim_wnn_factory.null ()) { _scim_wnn_factory = - new WnnFactory (utf8_mbstowcs (String (_("WNN"))),String("ja_JP")); + new WnnFactory (utf8_mbstowcs (String (_("Wnn"))),String("ja_JP")); } return _scim_wnn_factory; } @@ -262,6 +262,7 @@ wnn.select(m_convList.pos); update_preedit_string(wnn.getText(),wnn.getAttributeList()); update_preedit_caret(wnn.getText().length()); + return(true); } if ((key.code == SCIM_KEY_Left) || (key.code == SCIM_KEY_Right)) { key.code == SCIM_KEY_Left ? wnn.setPos(wnn.getPos() - 1) : wnn.setPos(wnn.getPos() + 1); @@ -269,6 +270,15 @@ update_preedit_string(wnn.getText(),wnn.getAttributeList()); return(true); } + if (isprint(key.code)) { + commit_string(wnn.getText()); + m_rk.reset(); + wnn.reset(); + m_conversion = false; + hide_preedit_string(); + return(process_preedit_key_event(key)); + } + return(true); }