870be026d8
With IBus, key events sometimes get sent to the server than redelivered via gdk_event_put(). Since we expect all key events to be delivered via the GDK event filter Mutter installs, this results in key input not working. To fix this, install an event handler with gdk_event_handler_set() to intercept events being set from GDK to GTK+, pull out the key events and send them back to Clutter. Partially based on a patch by Daiki Ueno https://bugzilla.gnome.org/show_bug.cgi?id=621659