From b18426b6cda1b5fbdaeb4ae727a592fe46771c18 Mon Sep 17 00:00:00 2001 From: Choe Hwanjin Date: Sun, 22 Feb 2009 16:10:28 +0900 Subject: [PATCH] Let's ignore shift keys: 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. --- src/engine.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/engine.c b/src/engine.c index 1658967..c0e1028 100644 --- a/src/engine.c +++ b/src/engine.c @@ -234,6 +234,14 @@ ibus_hangul_engine_process_key_event (IBusEngine *engine, 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 { -- 2.7.4