Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 1189 by [email protected]: ibus does not handle dead keys
http://code.google.com/p/ibus/issues/detail?id=1189

What version of the product are you using? On what operating system?
OS (Linux distributions, UNIX or ...): Debian sid
Architecture (i386, x86_64): x86_64
IBus version: 1.3.8-1
Input method name and version: ibus-anthy 1.2.5-1, ibus-pinyin-1.3.11, ibus-hangul 1.3.0.20100329-1, ibus-table-compose 1.3.0.20100528-1
Python version: 2.6.6
dbus version: 1.2.24-4
dbus-python version: 0.83.1-1
gtk version (if bug is about gtk applications):
qt version (if bug is about qt applications):

What steps will reproduce the problem?
1. Set up a keymap with dead keys.
2. Start xterm with XMODIFIERS="@im=ibus".
3. Type something with dead keys (e.g. "dead_diaresis" followed by "a")

What is the expected output? What do you see instead?

I expect to see 'ä' (a with diaresis), but I get 'a' instead.

Please provide any additional information below.

Starting xterm with XMODIFIERS="" instead makes things work as expected.

In my test application (which I will attach to this bug report), I see that Xutf8LookupString() returns XLookupKeySym with keysym 0xfe57 (XK_dead_diaeresis) when I press "dead_diaresis" and then XLookupBoth with keysym 0x61 and string "a" when I press "a".

I expect Xutf8LookupString to perform the dead key composition. When running my test application with XMODIFIERS="" I Xutf8LookupString() returns XLookupBoth with keysym 0xe4 and string "ä" when I press the two keys in order (the dead_diaresis keypress is eaten by XFilterEvents(), of course).

Attachments:
        ximtest.cpp  8.0 KB

--
You received this message because you are subscribed to the Google
Groups "ibus-devel" group.
iBus project web page: http://code.google.com/p/ibus/
iBus dev group: http://groups.google.com/group/ibus-devel?hl=en

回复