fixed frame delay debug keys by only allowing 'normal' modifier keys
authorHolger Schemel <info@artsoft.org>
Sat, 7 Oct 2017 19:52:36 +0000 (21:52 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 7 Oct 2017 19:53:19 +0000 (21:53 +0200)
src/events.c
src/libgame/sdl.h

index 5b1e5771c671ca48ae568bdd221dd8100799966f..aa20e2d056999b116d555048a73ad704b2a0a564 100644 (file)
@@ -1470,7 +1470,7 @@ void HandleKeysDebug(Key key)
 
   if (game_status == GAME_MODE_PLAYING || !setup.debug.frame_delay_game_only)
   {
-    boolean mod_key_pressed = (GetKeyModState() != KMOD_None);
+    boolean mod_key_pressed = ((GetKeyModState() & KMOD_Valid) != KMOD_None);
 
     for (i = 0; i < NUM_DEBUG_FRAME_DELAY_KEYS; i++)
     {
index 9ee6c69d4f7ba23dbbe9105d358347fc850f9fc5..075b99bbe5d5d4fbd503cd54e02f670eeeb2a702 100644 (file)
@@ -430,6 +430,12 @@ struct MouseCursorInfo
 #define KMOD_Meta              (KMOD_Meta_L    | KMOD_Meta_R)
 #define KMOD_Alt               (KMOD_Alt_L     | KMOD_Alt_R)
 
+/* this only contains "valid" key modifiers (and ignores keys like "NumLock") */
+#define KMOD_Valid             (KMOD_Shift   | \
+                                KMOD_Control | \
+                                KMOD_Meta    | \
+                                KMOD_Alt)
+
 #if defined(TARGET_SDL2)
 #define KMOD_TextInput         (KMOD_Shift | KMOD_Alt_R)
 #endif