Separate input from video

Is there any reasonable way to use SDL input with an
application other than the one that uses SDL window?

Certainly there is.
shows how to do it. But it looks rather like a parody
of a portable lib.

I would like to use SDL input system along with ogre
engine. I could use Ogre Input System, but I really
love SDL events that are much cleaner and nicer.

Would it be possible to add another layer, say, SDL_Window
for managing multiple windows?

We could then assign the input to every window owned
by an application:

SDL_Window *windows = SDL_GetWindows();
// returns a pointer to a NULL terminated array, so we can:
SDL_Window *w;
for(w = windows; w; ++w)
SDL_InputFrom(w, SDL_ENABLE);

This way the library could be extended without loosing
backwards compatibility. The only thing that needs to
be assured is that no SDL window is created until
SDL_Init(SDL_INIT_VIDEO) is called.

At least that’s how it looks from the high-level point of view.
(I’m not really good if it comes to low-level programming,
so I don’t know if it’s doable)

Thanks in advance
Maciek Godek