diff options
Diffstat (limited to 'backends/platform/sdl')
-rw-r--r-- | backends/platform/sdl/sdl.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp index f2bf9590c5..68a987bc61 100644 --- a/backends/platform/sdl/sdl.cpp +++ b/backends/platform/sdl/sdl.cpp @@ -43,6 +43,7 @@ #include "backends/audiocd/sdl/sdl-audiocd.h" #endif +#include "backends/events/default/default-events.h" #include "backends/events/sdl/sdl-events.h" #include "backends/mutex/sdl/sdl-mutex.h" #include "backends/timer/sdl/sdl-timer.h" @@ -207,6 +208,16 @@ void OSystem_SDL::initBackend() { if (_eventSource == 0) _eventSource = new SdlEventSource(); + if (_eventManager == nullptr) { + DefaultEventManager *eventManager = new DefaultEventManager(_eventSource); +#if SDL_VERSION_ATLEAST(2, 0, 0) + // SDL 2 generates its own keyboard repeat events. + eventManager->setGenerateKeyRepeatEvents(false); +#endif + _eventManager = eventManager; + } + + #ifdef USE_OPENGL #if SDL_VERSION_ATLEAST(2, 0, 0) SDL_DisplayMode displayMode; |