UFOAI use 2 ways for events.
We use event from SDL, then you can check the code to see how to feed the game. i dont dont have a lot of time, cl_input.cpp or something like that.
The second way is to use commands. cl_input should contain both.
Our windows manager only use some event (mouse click and move...), then you can't send new events to widgets (geoscape) without hack. But there is some way (shortcut) to call existing widgets (zoom in, zoom out...)
You can check the code ui_node_geoscape.cpp to see default events, you can check cl_map.cpp to see other things about geoscape (maybe there is some registration of command).
I know TUIO, and I understand what you want to do, but i unfortunatly dont have a lot of time right now to spend on the game. But feel free to ask question or post some code, i hope i can (or somebody else) help a little.