|
@@ -392,6 +392,11 @@ EM_BOOL
|
|
|
Emscripten_HandleFocus(int eventType, const EmscriptenFocusEvent *wheelEvent, void *userData)
|
|
|
{
|
|
|
SDL_WindowData *window_data = userData;
|
|
|
+ /* If the user switches away while keys are pressed (such as
|
|
|
+ * via Alt+Tab), key release events won't be received. */
|
|
|
+ if (eventType == EMSCRIPTEN_EVENT_BLUR) {
|
|
|
+ SDL_ResetKeyboard();
|
|
|
+ }
|
|
|
SDL_SendWindowEvent(window_data->window, eventType == EMSCRIPTEN_EVENT_FOCUS ? SDL_WINDOWEVENT_FOCUS_GAINED : SDL_WINDOWEVENT_FOCUS_LOST, 0, 0);
|
|
|
return 1;
|
|
|
}
|