]> Dogcows Code - chaz/openbox/blobdiff - otk/eventdispatcher.cc
ignore num/caps/scroll lock in events
[chaz/openbox] / otk / eventdispatcher.cc
index 51e2251e201050b29fddf807debe9bbaded7784e..62335781dabd2370f2c4d0b419c12cf92b64e4a6 100644 (file)
@@ -56,13 +56,25 @@ void OtkEventDispatcher::dispatchEvents(void)
     printf("Event %d window %lx\n", e.type, e.xany.window);
 #endif
 
-    // grab the lasttime
+    printf("num=%u scroll=%u\n", OBDisplay::numLockMask(), OBDisplay::scrollLockMask());
+
+    // grab the lasttime and hack up the modifiers
     switch (e.type) {
     case ButtonPress:
     case ButtonRelease:
-      _lasttime = e.xbutton.time; break;
+      _lasttime = e.xbutton.time;
+      e.xbutton.state &= ~(LockMask | OBDisplay::numLockMask() |
+                           OBDisplay::scrollLockMask());
+      break;
+    case KeyPress:
+      e.xkey.state &= ~(LockMask | OBDisplay::numLockMask() |
+                        OBDisplay::scrollLockMask());
+      break;
     case MotionNotify:
-      _lasttime = e.xmotion.time; break;
+      _lasttime = e.xmotion.time;
+      e.xmotion.state &= ~(LockMask | OBDisplay::numLockMask() |
+                           OBDisplay::scrollLockMask());
+      break;
     case PropertyNotify:
       _lasttime = e.xproperty.time; break;
     case EnterNotify:
This page took 0.021317 seconds and 4 git commands to generate.