Parcourir la source

The keyboard text events should be sent after the key down events

Sam Lantinga il y a 11 ans
Parent
commit
ff77ca8d0b
1 fichiers modifiés avec 7 ajouts et 8 suppressions
  1. 7 8
      src/video/windows/SDL_windowsevents.c

+ 7 - 8
src/video/windows/SDL_windowsevents.c

@@ -487,7 +487,14 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
 #endif /* WM_MOUSELEAVE */
 
     case WM_KEYDOWN:
+    case WM_SYSKEYDOWN:
         {
+            SDL_Scancode code = WindowsScanCodeToSDLScanCode( lParam, wParam );
+            if ( code != SDL_SCANCODE_UNKNOWN ) {
+                SDL_SendKeyboardKey(SDL_PRESSED, code );
+            }
+        }
+        if (msg == WM_KEYDOWN) {
             BYTE keyboardState[256];
             char text[5];
             UINT32 utf32 = 0;
@@ -501,14 +508,6 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
                 }
             }
         }
-        // no break
-    case WM_SYSKEYDOWN:
-        {
-            SDL_Scancode code = WindowsScanCodeToSDLScanCode( lParam, wParam );
-            if ( code != SDL_SCANCODE_UNKNOWN ) {
-                SDL_SendKeyboardKey(SDL_PRESSED, code );
-            }
-        }
         returnCode = 0;
         break;