On Thursday 02 October 2003 11:31, Vladimir NOVIKOV wrote:
> First of all, I can't understand this difference between Compose, AltGr
> and dead key modes (that's why I definitively need more documentation).
It's complicated. First, AltGr only exists on the keyboard, not in the
software. For Linux, there are two totally different keyboard mechanisms:
console and XFree86's XKB. We're talking just about XKB here. The four sets
of modifiers we're talking about are the deadkeys (dead_cedilla, et al.),
Multi_key, ISO_Level3_Shift and Mode_switch.
deadkeys are symbols that don't generate a glyph by themselves, but affect the
glyph printed when the next key is pressed. If you have a dead_cedilla key,
you would first press and release the dead_cedilla, then press the 'c' key.
This will print ç. There are lots of different dead_* keys.
Multi_key is also known as Compose. After pressing and releasing the
Multi_key, sequentially press the two keys that you want combined into one
glyph. So press and release Multi_key, then press and release ',' then 'c' to
get ç. Pressing 'c' then ',' also works.
ISO_Level3_Shift and Mode_switch have been confused in X's history. In XFree86
4.3, the new pc/ directory uses ISO_Level3_Shift, which is the "right way."
You can see the difference in the symbol files.
The ISO_Level3_Shift way looks like this:
key { [ ampersand, 1, onesuperior, exclamdown ] };
and the Mode_switch looks like this:
key {[ ampersand, 1 ],
[ onesuperior, exclamdown ] };
The problem with using the Mode_switch way like this is that it is very
difficult to mix two keymaps (say, a US keyboard for Latin script and a
Russian keyboard for Cyrillic).
> If I have "us_intl" keyboard alone, I normally should have deal keys
> working without any Compose key. If I have one I use Compose + "+a to
> get ä, but even without I should be able to get ä using only "+a. And
> AltGr mode should be used to have even more characters.
If you want dead keys to type ä with the us_intl keymap (which uses the old
Mode_switch method), you have to generate a dead_diaeresis symbol. In the
us_intl map, that is the shifted second group on the semi-colon/colon key. Or
it is also the shifted first group of the apostrophe/doublequote key. So, to
get a dead_diaeresis, you can either press +
together, or press + together.
Otherwise, using Multi_key, you can get the behavior that you describe for
Composing.
However, the AltGr key can be mapped to either Mode_switch or Multi_key, so
the behavior to the user might appear the same.
Frank
___
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n