1
0
Fork 0
mirror of https://github.com/gwm17/glfw.git synced 2026-03-31 16:25:07 -04:00
glfw/src
Camilla Löwy 9a3664b4a9 X11: Fix detection of key events duplicated by XIM
Background: The IM will filter out key events, instead sending exact
duplicate events that are not filtered.  It does not send these for
every event, however, so the duplicate events cannot be relied on for
key input.  Instead we need to identify and discard them.  Since they
are identical, they have the same timestamp as the originals.

The previous duplicate event detection would consume unrelated key
events if the keys were pressed simultaneously, as it only tracked
a single timestamp.

This fixes that issue for any combination of keys, at the expense of
a 1 KB array per GLFW window.

This fix is a stopgap until explicit IME support is done.

Based on #1472 by @LucaRood.

Fixes #1112.
Fixes #1415.
Fixes #1616.
Fixes #1663.
Closes #1472.
2020-07-02 21:38:03 +02:00
..
CMakeLists.txt Make compiler specific workarounds more consistent 2020-06-08 01:07:35 +02:00
cocoa_init.m Cocoa: Finish launching NSApp in glfwInit 2020-03-12 01:56:35 +01:00
cocoa_joystick.h Fix -Wextra-semi warnings 2019-10-17 20:09:38 +02:00
cocoa_joystick.m Use the correct type in a for loop 2019-12-26 16:31:37 +01:00
cocoa_monitor.m Cocoa: Replace display link with IOKit query 2019-12-25 21:53:04 +01:00
cocoa_platform.h Remove EGL and OSMesa struct member macros 2020-06-24 00:50:49 +02:00
cocoa_time.c Add C dialect reminders to each source file 2019-05-24 14:43:49 +02:00
cocoa_window.m Cocoa: Fix regression in private use area check 2020-06-29 23:23:26 +02:00
context.c Add C dialect reminders to each source file 2019-05-24 14:43:49 +02:00
egl_context.c EGL: Add support for EGL_ANGLE_platform_angle 2020-06-29 00:02:22 +02:00
egl_context.h EGL: Add support for EGL_ANGLE_platform_angle 2020-06-29 00:02:22 +02:00
glfw_config.h.in Cocoa: Select Vulkan surface extension at runtime 2020-01-16 21:53:18 +01:00
glfw.rc.in Win32: Add VERSIONINFO resource to GLFW DLL 2019-12-11 21:02:08 +01:00
glx_context.c Remove pointless comments 2019-05-24 14:43:49 +02:00
glx_context.h Replace some tabs with spaces 2019-06-16 16:57:09 +02:00
init.c EGL: Add support for EGL_ANGLE_platform_angle 2020-06-29 00:02:22 +02:00
input.c Add more standard cursors 2019-11-28 22:24:00 +01:00
internal.h EGL: Add support for EGL_ANGLE_platform_angle 2020-06-29 00:02:22 +02:00
linux_joystick.c Convert some declarations to C99 style 2019-06-27 18:13:29 +02:00
linux_joystick.h Start 3.4 2019-04-16 23:08:39 +02:00
mappings.h Remove mappings for GUID used by different devices 2019-11-11 22:37:18 +01:00
mappings.h.in Start 3.4 2019-04-16 23:08:39 +02:00
monitor.c Fix comparison of video modes of equal area 2019-09-01 21:57:06 +02:00
nsgl_context.h NSGL: Remove problematic swap interval workaround 2019-12-20 09:46:48 +01:00
nsgl_context.m Cocoa: Fix call to NSWindow from non-main threads 2020-04-30 22:44:54 +02:00
null_init.c Null: Make platform more conformant 2020-06-02 22:40:09 +02:00
null_joystick.c Add C dialect reminders to each source file 2019-05-24 14:43:49 +02:00
null_joystick.h Fix -Wextra-semi warnings 2019-10-17 20:09:38 +02:00
null_monitor.c Null: Make platform more conformant 2020-06-02 22:40:09 +02:00
null_platform.h Remove EGL and OSMesa struct member macros 2020-06-24 00:50:49 +02:00
null_window.c Null: Make platform more conformant 2020-06-02 22:40:09 +02:00
osmesa_context.c Add C dialect reminders to each source file 2019-05-24 14:43:49 +02:00
osmesa_context.h Remove EGL and OSMesa struct member macros 2020-06-24 00:50:49 +02:00
posix_thread.c Add C dialect reminders to each source file 2019-05-24 14:43:49 +02:00
posix_thread.h Start 3.4 2019-04-16 23:08:39 +02:00
posix_time.c Fix POSIX conformance issues for clock_gettime 2019-12-15 18:15:40 +01:00
posix_time.h Start 3.4 2019-04-16 23:08:39 +02:00
vulkan.c Cocoa: Add fully dynamic loading of Vulkan loader 2020-01-16 22:15:30 +01:00
wgl_context.c Remove pointless comments 2019-05-24 14:43:49 +02:00
wgl_context.h WGL: Remove unused constants 2020-02-10 17:44:57 +01:00
win32_init.c Fix typos 2019-09-16 12:30:25 +02:00
win32_joystick.c Win32: Fix VS /W4 compile warnings 2020-05-26 21:37:20 +02:00
win32_joystick.h Fix -Wextra-semi warnings 2019-10-17 20:09:38 +02:00
win32_monitor.c Win32: Add missing include for wcscmp 2019-12-15 18:37:57 +01:00
win32_platform.h Win32: Fix non-BMP Unicode codepoint input 2020-06-29 23:50:05 +02:00
win32_thread.c Add C dialect reminders to each source file 2019-05-24 14:43:49 +02:00
win32_time.c Add C dialect reminders to each source file 2019-05-24 14:43:49 +02:00
win32_window.c Win32: Fix non-BMP Unicode codepoint input 2020-06-29 23:50:05 +02:00
window.c Add GLFW_CONTEXT_DEBUG window hint alias 2020-06-28 19:27:48 +02:00
wl_init.c Fix POSIX conformance issues for clock_gettime 2019-12-15 18:15:40 +01:00
wl_monitor.c Add feature available/implemented errors 2020-06-02 17:18:18 +02:00
wl_platform.h Remove EGL and OSMesa struct member macros 2020-06-24 00:50:49 +02:00
wl_window.c EGL: Add support for EGL_ANGLE_platform_angle 2020-06-29 00:02:22 +02:00
x11_init.c Use the correct type in a for loop 2020-05-26 20:19:14 +02:00
x11_monitor.c Fix typos 2020-06-23 16:41:37 +02:00
x11_platform.h X11: Fix detection of key events duplicated by XIM 2020-07-02 21:38:03 +02:00
x11_window.c X11: Fix detection of key events duplicated by XIM 2020-07-02 21:38:03 +02:00
xkb_unicode.c Add C dialect reminders to each source file 2019-05-24 14:43:49 +02:00
xkb_unicode.h Start 3.4 2019-04-16 23:08:39 +02:00