Or you cannot input some characters with shift keys.
If the shift key flush the current preedit string, users cannot add characters
with shift key to the preedit string.
if (modifiers & (IBUS_CONTROL_MASK | IBUS_MOD1_MASK))
return FALSE;
+ // if we don't ignore shift keys, shift key will make flush the preedit
+ // string. So you cannot input shift+key.
+ // Let's think about these examples:
+ // dlTek (2 set)
+ // qhRdmaqkq (2 set)
+ if (keyval == IBUS_Shift_L || keyval == IBUS_Shift_R)
+ return FALSE;
+
if (keyval == IBUS_BackSpace) {
retval = hangul_ic_backspace (hangul->context);
} else {