summaryrefslogtreecommitdiff
path: root/gdk/win32/gdkevents-win32.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdk/win32/gdkevents-win32.c')
-rw-r--r--gdk/win32/gdkevents-win32.c8
1 files changed, 8 insertions, 0 deletions
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,