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:


well it seems x changed how it maps keysyms to keycodes to break our keysym
finder... but now i changed it to play a different game. :)

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x.c,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -3 -r1.89 -r1.90
--- ecore_x.c   10 Jun 2005 04:18:24 -0000      1.89
+++ ecore_x.c   12 Jul 2005 13:54:39 -0000      1.90
@@ -332,7 +332,7 @@
    /* the windows key... a valid modifier :) */
    ECORE_X_MODIFIER_WIN   = _ecore_x_key_mask_get(XK_Super_L);
    if (!ECORE_X_MODIFIER_WIN) 
-     ECORE_X_MODIFIER_WIN = _ecore_x_key_mask_get(XK_Mode_switch);   
+     ECORE_X_MODIFIER_WIN = _ecore_x_key_mask_get(XK_Mode_switch);
    if (!ECORE_X_MODIFIER_WIN) 
      ECORE_X_MODIFIER_WIN = _ecore_x_key_mask_get(XK_Meta_L);
    
@@ -659,8 +659,8 @@
 _ecore_x_key_mask_get(KeySym sym)
 {
    XModifierKeymap    *mod;
-   KeyCode             nl;
-   int                 i;
+   KeySym              sym2;
+   int                 i, j;
    const int           masks[8] = 
      {
        ShiftMask, LockMask, ControlMask, 
@@ -668,12 +668,16 @@
      };
    
    mod = XGetModifierMapping(_ecore_x_disp);
-   nl = XKeysymToKeycode(_ecore_x_disp, sym);
    if ((mod) && (mod->max_keypermod > 0))
      {
        for (i = 0; i < (8 * mod->max_keypermod); i++)
          {
-            if ((nl) && (mod->modifiermap[i] == nl))
+            for (j = 0; j < 8; j++)
+              {
+                 sym2 = XKeycodeToKeysym(_ecore_x_disp, mod->modifiermap[i], 
j);
+                 if (sym2 != 0) break;
+              }
+            if (sym2 == sym)
               {
                  int mask;
                  




-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP,
AMD, and NVIDIA.  To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to