diff --git a/legacy/ecore/ChangeLog b/legacy/ecore/ChangeLog index b66a6f6a25..3279eb54bf 100644 --- a/legacy/ecore/ChangeLog +++ b/legacy/ecore/ChangeLog @@ -616,3 +616,7 @@ * remove EAPI from _ecore_event_signal_user_new(). It should never be exported outside of libecore.so * stop leaking every system signal event. + +2012-04-16 Shinwoo Kim + + * Check control charater and convert into printing character on Windows diff --git a/legacy/ecore/NEWS b/legacy/ecore/NEWS index 07f0e0e15a..e0071a89dd 100644 --- a/legacy/ecore/NEWS +++ b/legacy/ecore/NEWS @@ -95,6 +95,7 @@ Fixes: - possible 0 byte allocation. * ecore_win32/wince: - do not autorepeat Ctrl, Shift, Alt and Win keys. + - Check control charater and convert into printing character * ecore_con: - fix case where SSL certificates not being used. - post data corruption due to it not being copied to the con struct. diff --git a/legacy/ecore/src/lib/ecore_wince/ecore_wince_event.c b/legacy/ecore/src/lib/ecore_wince/ecore_wince_event.c index 764304720c..9afc06281f 100644 --- a/legacy/ecore/src/lib/ecore_wince/ecore_wince_event.c +++ b/legacy/ecore/src/lib/ecore_wince/ecore_wince_event.c @@ -489,6 +489,11 @@ _ecore_wince_event_char_get(int key, *keysymbol = NULL; *keycompose = NULL; + /* check control charaters such as ^a(key:1), ^z(key:26) */ + if ((key > 0) && (key < 27) && + ((GetKeyState(VK_CONTROL) & 0x8000) || + (GetKeyState(VK_CONTROL) & 0x8000))) key += 96; + switch (key) { case VK_APP3: