Repetición y retraso de la clave SDL 2.0

Tengo un problema con la entrada de teclado SDL 2.0 en un juego tipo pong. Cuando ordeno moverme hacia la izquierda presionando la flecha izquierda, SDL_PollEvents () lo procesa y responde correctamente si la tecla se presionó una vez. Sin embargo, si mantengo presionada la tecla, obtengo un breve retraso (siempre que la tecla de Windows repita el retraso) antes de moverme continuamente.

Aquí están los eventos de procesamiento de funciones:

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;
        }
    }
}

EDITAR: después de todo, logré solucionar este problema llamando a SystemParametersInfo (SPI_SETKEYBOARDDELAY, 0, 0, 0) al inicio del programa y SystemParametersInfo (SPI_SETKEYBOARDDELAY, 1, 0, 0) al final, para volver a la repetición de teclas estándar retrasar.

Respuestas a la pregunta(3)

Su respuesta a la pregunta