소스 검색

Don't send normal keyboard events if no application window has focus

This can happen if all the windows shown have the SDL_WINDOW_NOT_FOCUSABLE flag. We'll still accept modifier state changes though, so you can do Control-click actions.
Sam Lantinga 8 달 전
부모
커밋
51fa076fdc
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      src/video/cocoa/SDL_cocoakeyboard.m

+ 1 - 1
src/video/cocoa/SDL_cocoakeyboard.m

@@ -476,7 +476,7 @@ void Cocoa_HandleKeyEvent(SDL_VideoDevice *_this, NSEvent *event)
             [data.fieldEdit setPendingKey:scancode scancode:code timestamp:Cocoa_GetEventTimestamp([event timestamp])];
             [data.fieldEdit interpretKeyEvents:[NSArray arrayWithObject:event]];
             [data.fieldEdit sendPendingKey];
-        } else {
+        } else if (SDL_GetKeyboardFocus()) {
             SDL_SendKeyboardKey(Cocoa_GetEventTimestamp([event timestamp]), SDL_DEFAULT_KEYBOARD_ID, scancode, code, true);
         }
         break;