btw, if you mainly want to save cpu time when no events are received you could do the following:
instead of:
while(running)
{
while(GetEvent())
{
// process event
}
}
which is obviously inefficient if you don't do anything except for processing events do the following:
while(running)
{
if(GetEvent())
{
// process event
}
else
{
Sleep(0.01f); // sleep for 10ms
}
}
This should lower cpu usage from 100% to ~2% (as long as there is no excessive processing associated with any specific event)
But if you really, really need passive event polling there are 3 options:
1) Add it yourself (should be easy enough)
2) Use SDL, despite it's somewhat large size, C-Style interface and LGPL license
3) Use GLFW, despite it's lack of support for multiple windows, C-Style interface and being only a framework for creating a valid GL context. (No audio, high-level graphics objects etc.)