diff --git a/UnleashedRecomp/ui/window.cpp b/UnleashedRecomp/ui/window.cpp index 5b673f4e..7c3dabc5 100644 --- a/UnleashedRecomp/ui/window.cpp +++ b/UnleashedRecomp/ui/window.cpp @@ -57,9 +57,6 @@ int Window_OnSDLEvent(void*, SDL_Event* event) } } - for (auto listener : Window::s_listeners) - listener->OnKeyDown(event->key.keysym.sym); - break; } @@ -72,9 +69,6 @@ int Window_OnSDLEvent(void*, SDL_Event* event) m_isFullscreenKeyReleased = true; break; } - - for (auto listener : Window::s_listeners) - listener->OnKeyUp(event->key.keysym.sym); } case SDL_WINDOWEVENT: @@ -115,8 +109,19 @@ int Window_OnSDLEvent(void*, SDL_Event* event) } for (auto listener : Window::s_listeners) + { listener->OnSDLEvent(event); + if (event->type == SDL_KEYDOWN) + { + listener->OnKeyDown(event->key.keysym.sym); + } + else if (event->type == SDL_KEYUP) + { + listener->OnKeyUp(event->key.keysym.sym); + } + } + return 0; }