From b6ac1b4bbf46221ee33fcca8f49c2c67c6cb6ed8 Mon Sep 17 00:00:00 2001 From: Jeremy Tan Date: Sat, 17 Sep 2016 20:46:30 +0800 Subject: [PATCH] GDK W32: Ignore autorepeated key presses on modifier keys The X11 backend does not send autorepeated messages for modifier keys, and doing so prevents motion compression from working. https://bugzilla.gnome.org/show_bug.cgi?id=771568 --- gdk/win32/gdkevents-win32.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index 220771b152..363193ab26 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -2281,6 +2281,14 @@ gdk_event_translate (MSG *msg, in_ime_composition) break; + /* Ignore autorepeats on modifiers */ + if (msg->message == WM_KEYDOWN && + (msg->wParam == VK_MENU || + msg->wParam == VK_CONTROL || + msg->wParam == VK_SHIFT) && + ((HIWORD(msg->lParam) & KF_REPEAT) >= 1)) + break; + if (keyboard_grab && !propagate (&window, msg, keyboard_grab->window,