diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp --- a/src/video/sdl_v.cpp +++ b/src/video/sdl_v.cpp @@ -340,6 +340,7 @@ bool VideoDriver_SDL::CreateMainSurface( 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 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);