diff --git a/scim-wnn/src/scim_wnn_imengine.cpp b/scim-wnn/src/scim_wnn_imengine.cpp index d7b01f7..6b4aea0 100644 --- a/scim-wnn/src/scim_wnn_imengine.cpp +++ b/scim-wnn/src/scim_wnn_imengine.cpp @@ -206,6 +206,7 @@ rc = _scim_config->read(String(SCIM_CONFIG_WNN_RC),String(SCIM_DEFAULT_WNN_RC)); alp = _scim_config->read(String(SCIM_CONFIG_WNN_ALP),SCIM_DEFAULT_WNN_ALP); mini_status = _scim_config->read(String(SCIM_CONFIG_WNN_MINISTATUS),SCIM_DEFAULT_WNN_MINISTATUS); + numkeyselect = _scim_config->read(String(SCIM_CONFIG_WNN_NUMKEY_SELECT),SCIM_DEFAULT_WNN_NUMKEY_SELECT); yosoku = _scim_config->read(String(SCIM_CONFIG_WNN_YOSOKU),SCIM_DEFAULT_WNN_YOSOKU); String t = _scim_config->read(String(SCIM_CONFIG_WNN_SERVERTYPE),String(SCIM_DEFAULT_WNN_SERVERTYPE)); if (t == "Wnn6") { @@ -597,7 +598,7 @@ } else if (key.get_ascii_code()) { if (key.mask & (SCIM_KEY_AltMask | SCIM_KEY_ControlMask)) return(false); - if (m_lookup) { + if (m_lookup && numkeyselect) { char numk[] = "1234567890"; int numc = 0; bool numkey = false; @@ -683,7 +684,7 @@ return(true); } if (!key.get_ascii_code()) return(true); - if (!(key.is_control_down() || key.is_alt_down() || key.is_shift_down())) { + if ((!(key.is_control_down() || key.is_alt_down() || key.is_shift_down())) && numkeyselect) { char numk[] = "1234567890"; for(int numc = 0;numk[numc]; ++ numc) { if (key.get_ascii_code() == numk[numc]) { diff --git a/scim-wnn/src/scim_wnn_imengine.h b/scim-wnn/src/scim_wnn_imengine.h index 6eeaa31..434c776 100644 --- a/scim-wnn/src/scim_wnn_imengine.h +++ b/scim-wnn/src/scim_wnn_imengine.h @@ -96,6 +96,7 @@ PropertyList m_proplist; int alp; int alp_count; + bool numkeyselect; bool mini_status; bool yosoku; String host;