How does it work
The glue to the GUI framework provides HildonIMContext which is an implementation of GtkIMContext. It provides the access to and inside information of the text entry widget.
When the text entry widget is clicked, the context finds the window of the main UI and tell the UI to shows itself. Then after that the UI loads the plugin. Then the plugin starts to handle all the inputs (finger/key/stylus) and outputs it back to the context through the UI.
The UI and the context communicate using X client message. There are a set of protocols used by both.
When the widget lost the input focus, the context knows this and tells the UI to hide itself.
See the GUADEC 2007 presentation video here: http://www.youtube.com/watch?v=fSo5r9NuhCY