* Korean input method is not transliteration method.
The position of the pressed key is important, not the character itself.
So we need to normalize the key event to general qwerty to get the
correct position of the pressed key.
#include <ibus.h>
#include <hangul.h>
#include <string.h>
+#include <ctype.h>
#include "i18n.h"
#include "engine.h"
if (keyval == IBUS_BackSpace) {
retval = hangul_ic_backspace (hangul->context);
} else {
+ // ignore capslock
+ if (modifiers & IBUS_LOCK_MASK) {
+ if (keyval >= 'A' && keyval <= 'z') {
+ if (isupper(keyval))
+ keyval = tolower(keyval);
+ else
+ keyval = toupper(keyval);
+ }
+ }
retval = hangul_ic_process (hangul->context, keyval);
}