diff options
-rw-r--r-- | src/video/sdl_v.cpp | 11 | ||||
-rw-r--r-- | src/video/sdl_v.h | 1 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp index a9b909b82..736e069ce 100644 --- a/src/video/sdl_v.cpp +++ b/src/video/sdl_v.cpp @@ -340,6 +340,7 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h) SDL_CALL SDL_QuitSubSystem(SDL_INIT_VIDEO); SDL_CALL SDL_InitSubSystem(SDL_INIT_VIDEO); ClaimMousePointer(); + SetupKeyboard(); } } /* Remember if we wanted a hwpalette. We can't reliably query @@ -649,15 +650,19 @@ const char *VideoDriver_SDL::Start(const char * const *parm) DEBUG(driver, 1, "SDL: using driver '%s'", buf); MarkWholeScreenDirty(); - - SDL_CALL SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL); - SDL_CALL SDL_EnableUNICODE(1); + SetupKeyboard(); _draw_threaded = GetDriverParam(parm, "no_threads") == NULL && GetDriverParam(parm, "no_thread") == NULL; return NULL; } +void VideoDriver_SDL::SetupKeyboard() +{ + SDL_CALL SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL); + SDL_CALL SDL_EnableUNICODE(1); +} + void VideoDriver_SDL::Stop() { SdlClose(SDL_INIT_VIDEO); diff --git a/src/video/sdl_v.h b/src/video/sdl_v.h index 6c69d68d8..66f8bf856 100644 --- a/src/video/sdl_v.h +++ b/src/video/sdl_v.h @@ -37,6 +37,7 @@ public: private: int PollEvent(); bool CreateMainSurface(uint w, uint h); + void SetupKeyboard(); }; /** Factory for the SDL video driver. */ |