From: cnook <kimcinoo@gmail.com>
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 15 Apr 2012 03:28:49 +0000 (03:28 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 15 Apr 2012 03:28:49 +0000 (03:28 +0000)
Subject: [E-devel] [Patch][Ecore][Win32] Checking control character

The control characters are generated by holding down the Control key while
you strike another letter or symbol key.
Because of this reason, The Evas_Event_Key_Down in the
EVAS_CALLBACK_KEY_DOWN callback does not have proper keyname.
So I have shifted the control character to printing character. Please
review the patch and give any feedbacks. Thanks.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@70186 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore_win32/ecore_win32_event.c

index e0431a8..4476b2b 100644 (file)
@@ -1217,6 +1217,11 @@ _ecore_win32_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_PROCESSKEY: