dead key not caught

Simos Xenitellis simos.lists at googlemail.com
Wed Jul 23 17:26:51 PDT 2008


2008/7/22 kaaposc The One <kaaposc at gmail.com>:
>
>
> On Tue, Jul 22, 2008 at 5:06 PM, Simos Xenitellis
> <simos.lists at googlemail.com> wrote:
>>
>> On Tue, Jul 22, 2008 at 2:35 PM, kaaposc <kaaposc at gmail.com> wrote:
>> > Hello!
>> > <skipped />
>> > I really hope anybody could point me where in X11 code to look for dead
>> > key implementation so I could try to figure out a patch (slow typing is
>> > not workaround ;-) ).
>>
>> The Latvian layout does not use dead keys,
>>
>> http://gitweb.freedesktop.org/?p=xkeyboard-config.git;a=blob;f=symbols/lv#l92
>>
>> The issue though would still lie in XKB.
>>
>> Simos
>
>
> Could You please spread light on how these symbol mappings work? And what
> really was dead keys that were removed by these symbols? Until now I was
> thinking pressing apostrophe key is like pressing dead key (like in
> windows)... I would appreciate your insight.

Dead keys are used in compose sequences, which are defined in the
Compose file, at
http://cgit.freedesktop.org/xorg/lib/libX11/tree/nls/en_US.UTF-8/Compose.pre
or
/usr/share/X11/locale/en_US.UTF-8/Compose

If the lv layout made a mention to <dead_acute>, then you would be
able to get á due to the sequence
<dead_acute> <a>                        : "á"   aacute # LATIN SMALL
LETTER A WITH ACUTE

In the case of the lv layout file ("apostrophe" variant), it uses a
special mechanism that makes the Apostrophe key work somewhat as if it
was AltGr.

In the layout file it mentions
        key <AC01>      {[a, A, amacron, Amacron]};

Normally, when you press AltGr + a you get amacron (á). However, with
the instructions in the "apostrophe" variant, the system also makes
the Apostrophe key work as if it was an AltGr key. Unlike the AltGr
key that needs to be pressed the same time with the letter, the
Apostrophe key works similar to a dead key (or a "latch"). However,
the underlying mechanism is probably different from the typical dead
keys. You can try to verify whether the same issue you describe exists
in another layout (such as US International) which uses the typical
dead keys.

Very few layouts use the mechanism that lv uses. One such exception is
the Tibetan layout (in the "cn" file). In the comments of the layout
it says

// One annoyance is that the latching Level3 shift fails to work if the
// previous key is not yet released when "m" is pressed (the key release
// event kills the latch). I consider this a bug in X and don't know an
// easy way to work around it. Complain to the maintainers if it bothers
// you and maybe they'll find a fix. You won't notice it unless you're
// fast at typing Tibetan anyway.

http://gitweb.freedesktop.org/?p=xkeyboard-config.git;a=blob;f=symbols/cn

Therefore, the next step would be to make a bug report on this issue,
which apparently it is known.

Hope this helps,
Simos


More information about the xorg mailing list