terminator cannot receive compose key events with input method in Wayland
Terminator
can have multiple panes in the window and it can forward key events on the active pane (input focus) to other panes (input focuses).
The source tarball is available at https://launchpad.net/terminator/gtk3/
Terminator
connects the 'key-press-event' signal on VTE
and receives the key events before GtkIMModule
receives the key events and forward the key events:
Seems mutter clutter
receives key events before VTE receives them in Wayland so Terminator cannot receive compose key events.
To reproduce:
- Run
terminator
in GNOME Wayland - Press
Ctrl-Shift-o
to split the window with two panes. - Press
Alt-a
and to forward key events on the active pane to another.
And terminator cannot receive the compose key events.
E.g. Multi_key-'-a outputs "á".
Either IBusEngineSimple
or GtkIMContextSimple
returns TRUE
in the compose key sequences and clutter_input_method_notify_key_event()
does not forward the compose key events.
IBus GTK IM module (ibus/client/gtk3/ibusimcontext.c) calls gtk_key_snooper_install()
by default and input method engines always receive the key events before terminator does.
But when users set IBUS_DISABLE_SNOOPER=1
environment variable, IBus GTK IM module uses GtkIMContextClass.flter_keypress()
instead of the snooper and terminator can receives the key events before input methods do.
Do you have any ideas that terminator can receives the key events before ClutterInputMethod does?