GdkWindow *gdkWindow; /* the GDK window wrapped around your X window */ GtkIMContext *im_context; /* the context for the keyboard input method */ /* create and map your X and GDK windows */ ... gdkWindow = ...; /* see snippet 3 on how this is done */ /* * use this to show the keyboard */ im_context = gtk_im_multicontext_new(); gtk_im_context_set_client_window(im_context, gdkWindow); hildon_gtk_im_context_show(im_context); while (gtk_events_pending()) gtk_main_iteration(); ... /* * use this to hide the keyboard */ hildon_gtk_im_context_hide(im_context); gtk_im_context_reset(im_context); g_object_unref(im_context); while (gtk_events_pending()) gtk_main_iteration(); ...