you need to sdl_pollevent once every so often (around 40-100 miliseconds) to get the event queue from windows. That will make your hourglass go away. As for waiting for user input a simple while loop that checks for events until a mousedown event should suffice.