int SDL_PushEvent(SDL_Event *event);
The event queue can actually be used as a two way communication channel. Not only can events be read from the queue, but the user can also push their own events onto it. event is a pointer to the event structure you wish to push onto the queue.
Pushing device input events onto the queue doesn't modify the state of the device within SDL.
Returns 0 on success or -1 if the event couldn't be pushed.
SDL_PollEvent, SDL_PeepEvents, SDL_Event
SDL_AddTimer(3), SDL_Event(3), SDL_PeepEvents(3), SDL_SetEventFilter(3), SDL_UserEvent(3).