Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/ecore

Dir     : e17/libs/ecore/src/lib/ecore_x


Modified Files:
        ecore_x.c 


Log Message:


handle binding raw keycodes too

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x.c,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -3 -r1.78 -r1.79
--- ecore_x.c   1 May 2005 14:12:23 -0000       1.78
+++ ecore_x.c   3 May 2005 04:28:15 -0000       1.79
@@ -1415,16 +1415,22 @@
 ecore_x_window_key_grab(Ecore_X_Window win, char *key, 
                        int mod, int any_mod)
 {
-   KeyCode             keycode;
+   KeyCode             keycode = 0;
    KeySym              keysym;
    unsigned int        m;
    unsigned int        locks[8];
    int                 i;
    
-   keysym = XStringToKeysym(key);
-   if (keysym == NoSymbol) return;
-   keycode  = XKeysymToKeycode(_ecore_x_disp, XStringToKeysym(key));
+   if (!strncmp(key, "Keycode-", 8))
+     keycode = atoi(key + 8);
+   else
+     {
+       keysym = XStringToKeysym(key);
+       if (keysym == NoSymbol) return;
+       keycode  = XKeysymToKeycode(_ecore_x_disp, XStringToKeysym(key));
+     }
    if (keycode == 0) return;
+   
    m = mod;
    if (any_mod) m = AnyModifier;
    locks[0] = 0;
@@ -1448,16 +1454,22 @@
 ecore_x_window_key_ungrab(Ecore_X_Window win, char *key,
                          int mod, int any_mod)
 {
-   KeyCode             keycode;
+   KeyCode             keycode = 0;
    KeySym              keysym;
    unsigned int        m;
    unsigned int        locks[8];
    int                 i, shuffle = 0;
 
-   keysym = XStringToKeysym(key);
-   if (keysym == NoSymbol) return;
-   keycode  = XKeysymToKeycode(_ecore_x_disp, XStringToKeysym(key));
+   if (!strncmp(key, "Keycode-", 8))
+     keycode = atoi(key + 8);
+   else
+     {
+       keysym = XStringToKeysym(key);
+       if (keysym == NoSymbol) return;
+       keycode  = XKeysymToKeycode(_ecore_x_disp, XStringToKeysym(key));
+     }
    if (keycode == 0) return;
+   
    m = mod;
    if (any_mod) m = AnyModifier;
    locks[0] = 0;




-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to