Re: locale and dead keys

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I made considerable progress with this problem, particularly because
I've read "Un unreliable guide to xkb configuration" and got some idea
of what's going on. Here are my findings.

I wrote:
> Can't I just somehow say to the system to ignore what is before the
> dot at LC_CTYPE and just accept the UTF-8 result that seems to be
> coming from the keyboard driver anyway?

No, of course not. The keyboard driver does not send a UTF-8 result to
the application, this wouldn't make sense. The keyboard driver, that
is, xkb, does not know the LC_CTYPE of the application; it is the
application that knows that. So xkb does not know if it should send
the character encoded in iso-8859-1, or in utf-8, or in whatever.

So what xkb sends to the applications is actually a symbolic code,
such as "lower-case greek epsilon" (this is presumably a number
defined somewhere in the X libraries). The application then has to
convert this into an encoded character, and has to look at its
LC_CTYPE in order to decide how to encode it (the application
obviously uses some locale-related X library to do all this, and I
couldn't find the conversion tables on my system, if you know where
they are tell me).

For the dead keys, all that xkb sends to the app is the symbolic code
for the dead key. For example, if acute is pressed, and then a greek
epsilon, then xkb sends to the application the symbolic codes
<dead_acute> and then <Greek_epsilon>. xkb does not compose these into
"έ"; it is the app's responsibility to do so, and it is locale
specific. /usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose contains a
table that indicates what the sequences containing dead keys produce
in locale en_US.UTF-8; likewise for other locales. en_US.UTF-8 is
reasonably complete and can do almost everything I want; it can even
produce the punctuation symbols that I'm missing (namely guillemots
and centered period), thought not with dead keys, as does el_GR.UTF-8,
but with multi-key. I don't know what's the multi-key, and I believe
that my keyboard doesn't have one, but I think I can map my alt-gr,
which I don't use, to multi-key. It is even possible to change the
Compose file, and it's fairly easy (but I prefer to not do it because
it's a system file; upgrades might revert it, I can only do it in
systems where I have root access, etc.)

-- 
Antonios Christofides
+30-2661020814

_______________________________________________
XFree86 mailing list
XFree86@xxxxxxxxxxx
http://XFree86.Org/mailman/listinfo/xfree86

[Index of Archives]     [X Forum]     [Xorg]     [XFree86 Newbie]     [IETF Announce]     [Security]     [Font Config]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux Kernel]

  Powered by Linux