Fixed filtering of events duplicated by XIM.

Duplicate events cannot be filtered by the return value of XFilterEvent,
as that discards dead key events on some IMs (ibus), nor by its inverse,
as that discards all key events on other IMs (?).  This solution is
based on the workaround in SDL2 and takes advantage of the identical
time of the duplicate events.

Fixes #548.
Closes #554.
Closes #571.
This commit is contained in:
Camilla Berglund
2015-07-28 21:56:12 +02:00
parent 8a4e939a10
commit 527952102a
2 changed files with 32 additions and 20 deletions
+6
View File
@@ -96,6 +96,12 @@ typedef struct _GLFWwindowX11
// The last position the cursor was warped to by GLFW
int warpPosX, warpPosY;
// The information from the last KeyPress event
struct {
unsigned int keycode;
Time time;
} last;
} _GLFWwindowX11;