In my game, if you hold the Up arrow key and the Right arrow key, then it will no longer register the space bar being pressed. When I compile it on Linux it works fine, the problem is only happening on Windows.

Here are my SDL key functions:
Code:
void game::handleKeyPress( SDL_keysym *keysym, SDL_Surface *surface )
{
    switch ( keysym->sym )
    {
	case SDLK_ESCAPE:
	    Quit( 0 );
	    break;
	case SDLK_F1:
	    SDL_WM_ToggleFullScreen( surface );
	    if (!input.fs)
	    {
                SDL_ShowCursor(0);
                input.fs = true;
            }
	    break;
    case SDLK_SPACE:
        fire();
        break;
    case SDLK_UP:
        input.thrust = true;
        break;
    case SDLK_LEFT:
        input.left = true;
        break;
    case SDLK_RIGHT:
        input.right = true;
        break;
	default:
	    break;
    }
    return;
}

void game::handleKeyUp( SDL_keysym *keysym )
{
    switch ( keysym->sym )
    {
    case SDLK_UP:
        input.thrust = false;
        break;
    case SDLK_LEFT:
        input.left = false;
        break;
    case SDLK_RIGHT:
        input.right = false;
        break;
	default:
	    break;
    }
    return;
}