SDL_PollEvent conflicts with System Control Manager on Laptops


I chatted today in #SDL and we found a Problem with the SDL_PollEvent
function. To say it at the Beginning:
The Problem is the “System Control Manager” that most Laptops have installed
per default on Windows Systems.
My testing case was Windows XP2 with System Control Manager

The thing is, that when you hit a key once, per example the key “a”, it will
normaly write an ‘a’ on windows systems.
When you hit “a” for 1 second, it will start after the 1 second to print

However when my Program should start to get the aaaa Events, it starts to
freeze until i put my finger off they keyboard.
Here is my Testprogram:

#include “SDL.h”
#include “SDL_Opengl.h”
int main( int argc, char* argv[] )
if (SDL_Init(SDL_INIT_VIDEO) != 0)
return 0;
if (SDL_SetVideoMode(1024,768, 0, SDL_OPENGL) == 0)
return 0;

SDL_Event myEvent;
int quit = 0;
while (!quit)
    std::cerr << "A";
        std::cerr << "B";
            case SDL_QUIT:
            quit = 1;
            default: break;
    std::cerr << "C";
return 0;


It prints “ACACACACACACACACACACACACACAC” until i press a Key, then it comes
“ABCACACACACACACACACACACACACACACAC” until 1 Second is over, then it will
stop with an “A”.
So you can see, that the SDL_PollEvent(&myEvent) function freezes the
Program until i put my finger
off they keyboard.

Through many Laptops of “normal” Computerusers has Windows and the System
Control Manager it may
be a Problem then i should post on the mailinglist.

When i close the System Control Manager, it all works fine.

Matthias Thurau, Germany