compose-key mappings differ between gtk and qt apps

4

3

I'm noticing that there is an inconsistency in the output of one of the compose-key combos.

When I type ( [Compose] . . ) under Chrome, gedit, gnome-terminal, or roxterm I get the character '˙'. This is a small raised dot:

$ echo -n '˙' | xxd
0000000: cb99                                     ..

When I type the same combo under konsole, yakuake, or kate, I get the character '…'. This is an ellipsis:

$ echo -n '…' | xxd
0000000: e280 a6                                  ...

This is not a font issue: if I copy-paste a character from an app using one toolkit to an app using the other, its appearance is maintained.

I use a few other combos pretty regularly and they seem to work consistently across toolkits.

I think this is a pretty recent phenomenon. I upgraded from Ubuntu 8.10 to 9.10 fairly recently so this might be related.

I'm not sure if this will reoccur if I restart X, and I'd rather not find out.

Can someone explain how this is possible, and what I can do to resolve it? I'd like to have the ellipsis appear in all apps when that combo is entered.

intuited

Posted 2010-04-02T16:51:09.803

Reputation: 2 861

Answers

2

X as well as each widget toolkit has its own compose table. GTK+ gets its mostly from X, whereas Qt has its own mappings located... elsewhere. I'll update this when I find them.

Ignacio Vazquez-Abrams

Posted 2010-04-02T16:51:09.803

Reputation: 100 516

1

Input methods and X have a long, complicated history. Story made short, on your machine Qt and GTK are using different X input methods.

The KDE wiki has a page on getting both Qt and GTK to use the same input method (xim, in this case).

tl;dr for Debian/Ubuntu-based distributions:

sudo update-alternatives --verbose --install /etc/X11/xinit/xinput.d/all_ALL xinput-all_ALL /etc/X11/xinit/xinput.d/*xim 20

Samat Jain

Posted 2010-04-02T16:51:09.803

Reputation: 165