mirror of
https://github.com/gnustep/libs-back.git
synced 2025-05-31 01:11:00 +00:00
Revert part of the repeated key handling as requested by Riccardo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@39131 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
5843ba3d4d
commit
2478d0b17b
2 changed files with 7 additions and 16 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2015-11-03 Fred Kiefer <FredKiefer@gmx.de>
|
||||||
|
|
||||||
|
* Source/x11/XGServerEvent.m (-processEvent:): For repeated keys
|
||||||
|
only eat up the KeyRelease events and pass on all KeyPress.
|
||||||
|
|
||||||
2015-10-28 Fred Kiefer <FredKiefer@gmx.de>
|
2015-10-28 Fred Kiefer <FredKiefer@gmx.de>
|
||||||
|
|
||||||
* Source/cairo/CairoGState.m (-GSReadRect:, -DPSimage:..:):
|
* Source/cairo/CairoGState.m (-GSReadRect:, -DPSimage:..:):
|
||||||
|
|
|
@ -334,8 +334,6 @@ posixFileDescriptor: (NSPosixFileDescriptor*)fileDescriptor
|
||||||
static int clickCount = 1;
|
static int clickCount = 1;
|
||||||
static unsigned int eventFlags;
|
static unsigned int eventFlags;
|
||||||
static NSPoint eventLocation;
|
static NSPoint eventLocation;
|
||||||
// Time of last key press
|
|
||||||
static Time downTime = 0;
|
|
||||||
NSEvent *e = nil;
|
NSEvent *e = nil;
|
||||||
XEvent xEvent;
|
XEvent xEvent;
|
||||||
NSWindow *nswin;
|
NSWindow *nswin;
|
||||||
|
@ -1202,8 +1200,6 @@ posixFileDescriptor: (NSPosixFileDescriptor*)fileDescriptor
|
||||||
xEvent.xkey.window);
|
xEvent.xkey.window);
|
||||||
[self setLastTime: xEvent.xkey.time];
|
[self setLastTime: xEvent.xkey.time];
|
||||||
e = process_key_event (&xEvent, self, NSKeyDown, event_queue, NO);
|
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;
|
break;
|
||||||
|
|
||||||
// a key has been released
|
// a key has been released
|
||||||
|
@ -1216,9 +1212,7 @@ posixFileDescriptor: (NSPosixFileDescriptor*)fileDescriptor
|
||||||
For key repeats X creates two corresponding KeyRelease/KeyPress events.
|
For key repeats X creates two corresponding KeyRelease/KeyPress events.
|
||||||
So, first we check for the KeyRelease event, take a look at the next
|
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
|
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
|
pair. If so, we ignore the current KeyRelease event.
|
||||||
a long enough time interval report the the next keyPress event as a
|
|
||||||
repeat.
|
|
||||||
*/
|
*/
|
||||||
if (XEventsQueued(dpy, QueuedAfterReading))
|
if (XEventsQueued(dpy, QueuedAfterReading))
|
||||||
{
|
{
|
||||||
|
@ -1230,15 +1224,7 @@ posixFileDescriptor: (NSPosixFileDescriptor*)fileDescriptor
|
||||||
nev.xkey.time == xEvent.xkey.time &&
|
nev.xkey.time == xEvent.xkey.time &&
|
||||||
nev.xkey.keycode == xEvent.xkey.keycode)
|
nev.xkey.keycode == xEvent.xkey.keycode)
|
||||||
{
|
{
|
||||||
// delete retriggered KeyPress event
|
// Ignore the current KeyRelease 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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue