Re: Experiments with classical Greek keyboard input

2006-01-16 Thread Alexandros Diamantidis
* Jan Willem Stumpel [2006-01-16 21:52]:
> This xkb stuff is not so easy to understand, but Alexandros' and Jim's
> comments helped a lot.

I don't understand xkb files very well, either!

> All characters, including things like ᾦ, can be made in Greek
> mode, even in en_GB.UTF-8 locale, if the dead ogonek and horn in the
> symbols/pc/gr file are replaced by the utf-8 characters COMBINING COMMA
> ABOVE (0x1000313) and COMBINING REVERSED COMMA ABOVE (0x1000314); the
> (default?) US Compose file then has lots of entries for combined Greek
> characters.

Right, that's one way to do it. Another way would be to create a custom
personal compose file, which includes both the US and GR Compose files.
That way, you can use the dead_horn and dead_ogonek keysyms used in the
existing greek keymap, with no need to add the combining Unicode
characters you mention.

I think if you put the following two lines in ~/.XCompose it will work:

include "/usr/lib/X11/locale/el_GR.UTF-8/Compose"
include "/usr/lib/X11/locale/en_US.UTF-8/Compose"

> Still this setup generates warnings which probably explain why I cannot
> reach the 4th level symbols (you see the warnings after closing X), like:
> 
> Warning: Type "THREE_LEVEL" has 3 levels but  has 4 symbols
>Ignoring extra symbols
> 
> Now how to fix this?

I'm sorry, I don't know about this...

-- 
Alexandros Diamantidis * [EMAIL PROTECTED]

--
Linux-UTF8:   i18n of Linux on all levels
Archive:  http://mail.nl.linux.org/linux-utf8/



Re: Experiments with classical Greek keyboard input

2006-01-16 Thread Jan Willem Stumpel

Alexandros Diamantidis wrote:


When I made an initial try at a polytonic Greek keyboard, I couldn't
find a dead_comma_above and a dead_reversed_comma_above, so I just
(ab)used the first two keysyms that weren't otherwise meaningful on a
Greek keyboard. Subsequent updates to the Greek keyboard layout and
Compose files kept this (perhaps not strictly correct) arrangement.


This xkb stuff is not so easy to understand, but Alexandros' and Jim's
comments helped a lot.

I have so far always used a "us_intl" keyboard layout in order to enter
accents. This needs the AltGr key to change groups when a key must
produce more than 2 symbols.

But there is also a variant called alt-int of the "us" keyboard, which
uses extra levels (instead of a new group) to get the same effect. The
AltGr key is used to make the 3rd level. BTW I still don't know what to
press for the 4th level.

From the user's point of view, the behaviour of us_intl and
us(alt-intl) is exactly the same. You get all the accents (dead keys),
the Euro sign, etc. in the same way with both methods. But us(alt-intl)
does not use an extra group. So the groups can be used for other
languages (so you do not need to "switch" groups, only "toggle" them).

I found the following combination works nicely:

setxkbmap "us(alt-intl),gr(polytonic)" \
 -option compose:rwin
 -option grp:lwin_toggle

With this, left-Windows toggles between us(alt-intl) and polytonic Greek
mode. All characters, including things like ᾦ, can be made in Greek
mode, even in en_GB.UTF-8 locale, if the dead ogonek and horn in the
symbols/pc/gr file are replaced by the utf-8 characters COMBINING COMMA
ABOVE (0x1000313) and COMBINING REVERSED COMMA ABOVE (0x1000314); the
(default?) US Compose file then has lots of entries for combined Greek
characters.

This change would probably break things for Greek users unless the Greek
Compose file is also changed.

Other scripts can be added, e.g us(alt-intl),gr(polytonic),ru.

Still this setup generates warnings which probably explain why I cannot
reach the 4th level symbols (you see the warnings after closing X), like:

Warning: Type "ONE_LEVEL" has 1 levels but  has 2 symbols
   Ignoring extra symbols
Warning: Type "THREE_LEVEL" has 3 levels but  has 4 symbols
   Ignoring extra symbols

Now how to fix this?

Regards, Jan





--
Linux-UTF8:   i18n of Linux on all levels
Archive:  http://mail.nl.linux.org/linux-utf8/