[gtk+] GDK W32: Ignore autorepeated key presses on modifier keys



commit b6ac1b4bbf46221ee33fcca8f49c2c67c6cb6ed8
Author: Jeremy Tan <jtanx outlook com>
Date:   Sat Sep 17 20:46:30 2016 +0800

    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 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index 220771b..363193a 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,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]