SDL 2.0 Повтор ключа и задержка

У меня проблема с клавиатурным вводом SDL 2.0 в понгоподобной игре. Когда я приказываю двигаться влево, нажимая стрелку влево, он обрабатывается SDL_PollEvents () и правильно реагирует, если клавиша была нажата один раз. Однако, если я удерживаю клавишу нажатой, я получаю небольшую задержку (до тех пор, пока задержка повторения клавиши Windows) перед непрерывным движением.

Вот функция обработки событий:

void Event::PlayerEvent (Player &player)
{
    while (SDL_PollEvent (&mainEvent))
    {
        switch (mainEvent.type)
        {
            case SDL_KEYDOWN :
                switch (mainEvent.key.keysym.sym)
                {
                    case SDLK_ESCAPE :
                        gameRunning = false;
                        break;
                    case SDLK_LEFT :
                        player.moving = player.left;
                        break;
                    case SDLK_RIGHT :
                        player.moving = player.right;
                }
                break;
            case SDL_QUIT :
                gameRunning = false;
        }
    }
}

РЕДАКТИРОВАТЬ: В конце концов мне удалось исправить эту проблему, вызвав SystemParametersInfo (SPI_SETKEYBOARDDELAY, 0, 0, 0) в начале программы и SystemParametersInfo (SPI_SETKEYBOARDDELAY, 1, 0, 0) в конце, чтобы вернуться к повторению стандартного ключа задержка.