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 <RALT> has 2 symbols Ignoring extra symbols Warning: Type "THREE_LEVEL" has 3 levels but <AC11> 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/