[Pkg-kde-bugs-fwd] [Bug 102742] KGlobalAccel conflicts with Mode_switch handling on SunRay

Lubos Lunak 102742@bugs.kde.org
29 Mar 2005 14:26:09 -0000


------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
         
http://bugs.kde.org/show_bug.cgi?id=102742         
l.lunak kde org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From l.lunak kde org  2005-03-29 16:26 -------
CVS commit by lunakl: 

Ignore also Mode Switch modifier.
BUG: 102742


  M +2 -1      kglobalaccel_x11.cpp   1.34
  M +8 -0      kkeynative.h   1.14
  M +1 -0      kkeynative_x11.cpp   1.24
  M +4 -2      kkeyserver_x11.cpp   1.35
  M +8 -0      kkeyserver_x11.h   1.17


--- kdelibs/kdecore/kglobalaccel_x11.cpp  #1.33:1.34
 @ -69,5 +69,6  @ static void calculateGrabMasks()
                         KKeyServer::modXLock() |
                         KKeyServer::modXNumLock() |
-                        KKeyServer::modXScrollLock();
+                        KKeyServer::modXScrollLock() | 
+                        KKeyServer::modXModeSwitch(); 
         //kdDebug() << "g_keyModMaskXAccel = " << g_keyModMaskXAccel
         //      << "g_keyModMaskXOnOrOff = " << g_keyModMaskXOnOrOff << endl;

--- kdelibs/kdecore/kkeynative.h  #1.13:1.14
 @ -241,4 +241,12  @ class KDECORE_EXPORT KKeyNative
          */
         static uint modXScrollLock();
+
+        /** 
+         * Returns the X11 Mode_switch modifier mask/flag. 
+         *  return the X11 Mode_switch modifier mask/flag. 
+         *  see accelModMaskX() 
+         *  since 3.5
+         */ 
+        static uint modXModeSwitch(); 
 #endif
 

--- kdelibs/kdecore/kkeynative_x11.cpp  #1.23:1.24
 @ -193,4 +193,5  @ uint KKeyNative::modXNumLock()          
 uint KKeyNative::modXLock()                    { return KKeyServer::modXLock(); }
 uint KKeyNative::modXScrollLock()              { return KKeyServer::modXScrollLock(); }
+uint KKeyNative::modXModeSwitch()              { return KKeyServer::modXModeSwitch(); }
 #endif
 

--- kdelibs/kdecore/kkeyserver_x11.cpp  #1.34:1.35
 @ -325,5 +325,5  @ static bool g_bInitializedMods, g_bIniti
 static bool g_bMacLabels;
 #ifdef Q_WS_X11
-static uint g_modXNumLock, g_modXScrollLock;
+static uint g_modXNumLock, g_modXScrollLock, g_modXModeSwitch; 
 
 bool initializeMods()
 @ -331,5 +331,5  @ bool initializeMods()
         XModifierKeymap* xmk = XGetModifierMapping( qt_xdisplay() );
 
-        g_rgModInfo[3].modX = g_modXNumLock = g_modXScrollLock = 0;
+        g_rgModInfo[3].modX = g_modXNumLock = g_modXScrollLock = g_modXModeSwitch = 0; 
 
         int min_keycode, max_keycode;
 @ -355,4 +355,5  @ bool initializeMods()
                         case XK_Meta_R:      if( !g_rgModInfo[3].modX ) g_rgModInfo[3].modX = mask; break; // Win alternate
                         case XK_Scroll_Lock: g_modXScrollLock = mask; break;  // Normally Mod5Mask
+                        case XK_Mode_switch: g_modXModeSwitch = mask; break; 
                 }
         }
 @ -610,4 +611,5  @ uint modXNumLock()    { if( !g_bInitiali
 uint modXWin()        { if( !g_bInitializedMods ) { initializeMods(); } return g_rgModInfo[3].modX; }
 uint modXScrollLock() { if( !g_bInitializedMods ) { initializeMods(); } return g_modXScrollLock; }
+uint modXModeSwitch() { if( !g_bInitializedMods ) { initializeMods(); } return g_modXModeSwitch; } 
 
 uint accelModMaskX()

--- kdelibs/kdecore/kkeyserver_x11.h  #1.16:1.17
 @ -326,4 +326,12  @ namespace KKeyServer
 
         /**
+         * Returns the X11 Mode_switch modifier mask/flag. 
+         *  return the X11 Mode_switch modifier mask/flag. 
+         *  see accelModMaskX()
+         *  since 3.5
+         */
+        KDECORE_EXPORT uint modXModeSwitch();
+
+        /**
          * Returns bitwise OR'ed mask containing Shift, Ctrl, Alt, and
          * Win (if available).