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