diff --git a/honoka/plugins/nicolainput.cpp b/honoka/plugins/nicolainput.cpp index d683e41..b2beabb 100644 --- a/honoka/plugins/nicolainput.cpp +++ b/honoka/plugins/nicolainput.cpp @@ -211,15 +211,15 @@ (key.code == SCIM_KEY_Hyper_L) || (key.code == SCIM_KEY_Hyper_R)) return true; - map::iterator it = keymap.find(key.code); + map::iterator it = keymap.find(key); if (it == keymap.end()) { - if (isprint(key.get_ascii_code())) { - String s; + if ((isprint(key.get_ascii_code())) && (!key.is_alt_down()) && (!key.is_control_down())) { + String s; s += key.get_ascii_code(); text = text.substr(0,pos) + utf8_mbstowcs(s) + text.substr(pos); pos ++; - } - return true; + return true; + } else return false; } WideString w; if (LShift) w = it->second.leftShift;