Author: fredkiefer
Date: Tue Nov  3 09:42:47 2015
New Revision: 39131

URL: http://svn.gna.org/viewcvs/gnustep?rev=39131&view=rev
Log:
Revert part of the repeated key handling as requested by Riccardo.

Modified:
    libs/back/trunk/ChangeLog
    libs/back/trunk/Source/x11/XGServerEvent.m

Modified: libs/back/trunk/ChangeLog
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/back/trunk/ChangeLog?rev=39131&r1=39130&r2=39131&view=diff
==============================================================================
--- libs/back/trunk/ChangeLog   (original)
+++ libs/back/trunk/ChangeLog   Tue Nov  3 09:42:47 2015
@@ -1,3 +1,8 @@
+2015-11-03  Fred Kiefer <[email protected]>
+
+       * Source/x11/XGServerEvent.m (-processEvent:): For repeated keys
+       only eat up the KeyRelease events and pass on all KeyPress.
+
 2015-10-28  Fred Kiefer <[email protected]>
 
        * Source/cairo/CairoGState.m (-GSReadRect:, -DPSimage:..:):

Modified: libs/back/trunk/Source/x11/XGServerEvent.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/back/trunk/Source/x11/XGServerEvent.m?rev=39131&r1=39130&r2=39131&view=diff
==============================================================================
--- libs/back/trunk/Source/x11/XGServerEvent.m  (original)
+++ libs/back/trunk/Source/x11/XGServerEvent.m  Tue Nov  3 09:42:47 2015
@@ -334,8 +334,6 @@
   static int clickCount = 1;
   static unsigned int eventFlags;
   static NSPoint eventLocation;
-  // Time of last key press
-  static Time downTime = 0;
   NSEvent *e = nil;
   XEvent xEvent;
   NSWindow *nswin;
@@ -1202,8 +1200,6 @@
                     xEvent.xkey.window);
         [self setLastTime: xEvent.xkey.time];
         e = process_key_event (&xEvent, self, NSKeyDown, event_queue, NO);
-        // Store the time of key down to catch repeated keys
-        downTime = xEvent.xkey.time;
         break;
 
         // a key has been released
@@ -1216,9 +1212,7 @@
           For key repeats X creates two corresponding KeyRelease/KeyPress 
events.
           So, first we check for the KeyRelease event, take a look at the next
           event in the queue and look if they are a matching 
KeyRelease/KeyPress
-          pair. If so, we ignore the current KeyRelease event, and if there 
was 
-          a long enough time interval report the the next keyPress event as a 
-          repeat.
+          pair. If so, we ignore the current KeyRelease event.
         */
         if (XEventsQueued(dpy, QueuedAfterReading))
           {
@@ -1230,15 +1224,7 @@
                 nev.xkey.time == xEvent.xkey.time &&
                 nev.xkey.keycode == xEvent.xkey.keycode)
               {
-                // delete retriggered KeyPress event
-                XNextEvent (dpy, &xEvent);
-
-                // After some time we should generate repeated keyDowns
-                if (xEvent.xkey.time - downTime > 1000)
-                  {
-                    downTime = xEvent.xkey.time;
-                    e = process_key_event(&xEvent, self, NSKeyDown, 
event_queue, YES);
-                   }
+                // Ignore the current KeyRelease event.
               }
             else
               {


_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to