I used Gnome for a long time, but preferred vanilla X input method (
xim) over the default GTK behaviour. I just set
QT_IM_MODULE environment variables to
xim, and didn't have any problem with multiple-layout config, Compose key, custom
misc:typo typography extensions.
Recent Gnome 3.6 completely screwed keyboard input by shipping a half-baked and buggy
ibus and forcing it upon the users. I just couldn't get the keyboard working as well as before (even with
ibus disabled), and had to abandon Gnome completely.
Now I use a simple window manager, and configure my keyboard with
setxkbmap. While the keyboard works well again, I couldn't get the Compose key working everywhere. Compose works in plain X11 apps (
xterm), but it doesn't work in neither GTK2, nor GTK3, nor Qt apps.
I use current Archlinux versions:
xorg-xinput 1.6.0 xorg-server 1.13.1 xf86-input-keyboard 1.6.2 gtk2 2.24.14 gtk3 3.6.4 qt 4.8.4
and enable Compose key like this:
setxkbmap ... -option 'compose:menu'
$ echo $GTK_IM_MODULE $QT_IM_MODULE xim xim
Compose key is properly recognized by X11:
$ xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p' 135 Multi_key
It works properly in
xterm, sequences from my
~/.XCompose included. It doesn't work in either GTK or Qt apps. Let say, if I enter Compose ', then apps echo
' immediately, without waiting for the third key in the sequence.
Now I suppose something has changed in either Xorg (because Compose doesn't work in Qt apps either), or in GTK and Qt.
*_IM_MODULE variables are not enough now. What else is required to make modern GTK and Qt recognise
xim and its Compose sequences?
P.S. There is a similar (and unanswered) question about Compose key not working in GTK. Unlike the asker, I don't have