OK, so I got the latest (yesterday's) FAQ. Hopefully it's not too late. :)
I like the new split for this information, but there are a lot of facts reversed (with levels and groups). Here's an update. Frank
--- newnewFAQ.xhtml 2004-11-10 19:37:31.000000000 +0100 +++ mynewnewFAQ.xhtml 2004-11-10 21:15:18.000000000 +0100 @@ -1017,54 +1017,57 @@ class="command">setxkbmap</code> command, which in turn depends on <code class="command">xkbcomp</code>, the XKB data files, and the X libraries.</p> -<p>Many users of the X Window System, particularly outside the United States, -find that they need support for multiple <em>group</em>s on their keyboards. -A group a set of two keyboard symbols paired so that pressing an unshifted key -gets you the first symbol in the group, and pressing the same key with the -<code>Shift</code> key held down give you the second symbol in the group.</p> - -<p>A U.S. keyboard has only one group — this is sufficient to type all of -the symbols in the ASCII character set. Elsewhere in the world, however, -keyboards frequently have keys engraved with more than two glyphs. A third and -often a fourth glyph appear. These comprise the <em>alternate group</em>, which -is usually accessed with a modifier key not found on most U.S. keyboards: -<code>AltGr</code>. When the <code>AltGr</code> key is pressed, the third and -fourth glyphs on the keycap can be entered: <kbd>AltGr + <em>key</em></kbd> -gives you the third, and if a fourth is engraved, it is entered with <kbd>AltGr -+ Shift + <em>key</em></kbd>. For example, on many European keyboards, one can -press <kbd>AltGr + E</kbd> to produce the Euro sign (€). Sometimes the -<code>Alt</code> key on the right-hand side of the keyboard is used as -<code>AltGr</code> if there is no key actually engraved with -<code>AltGr</code>.</p> - -<p>If even an alternate group does not suffice to let users type all of the -symbols they need to, the entire keyboard mapping can be switched out with a -single keystroke using what the X KEYBOARD Extension (XKB) refers to as a -"level". This is typically done with a <code>Mode Switch</code> key, which is -somewhat analogous to <code>Caps Lock</code>. When this key is pressed, the X -Window System toggles the second level. This approach is often taken with -keyboards that need to type in both the Cyrillic and Latin alphabets. A Russian -user, for example, might use a French keyboard layout (complete with alternate -group symbols) on the first level to correspond with Western European friends -via email, but then press <code>Mode Switch</code> to change to the second -level, featuring Cyrillic letters, to write messages to Russian friends.</p> - -<p>XKB supports up to four keysyms per level (two groups of two symbols each), -and up to four levels. In such situations, rather than having a <code>Mode -Switch</code> key, there might be <code>Next Mode</code> and <code>Previous -Mode</code> keys that cycle through the available levels.</p> - -<p>A U.S. keyboard, even if keys are remapped so that <code>AltGr</code> and/or -<code>Mode Switch</code> keys are available, does not acquire much meaningful -additional functionality unless an alternate group and/or multiple levels are -defined in software, so that "the keys know what to do" when the alternate group -is activated or the level is changed.</p> +<p>Many non-US keyboards need to support more than two glyphs per key. +On a typical U.S. keyboard, there are at most two glyphs on each keycap +— one is accessed with a <code>Shift</code> or <code>Caps Lock</code> +key, and one without. To enable access to third, fourth, or fifth glyphs, +other modifiers are used.</p> + +<p>PC Keyboards for Latin-script characters ususally have an <kbd>AltGr</kbd> +(alternate graphic) key that replaces the right <kbd>Alt</kbd> key. When a +key is pressed while the <kbd>AltGr</kbd> key is down will generate the +third glyph, and when <kbd>Shift</kbd> <em>and</em> <kbd>AltGr</kbd> are down, +it will generate the fourth glyph. For example, on many European keyboards, +one can press <kbd>AltGr + E</kbd> to produce the Euro sign (€). +Sometimes the <kbd>Alt</kbd> key on the right-hand side of the keyboard +is used as <kbd>AltGr</kbd> if there is no key actually engraved with +<kbd>AltGr</kbd>.</p> + +<p>Non-Latin keyboards can have most of the keys engraved with non-Latin +<em>and</em> Latin glyphs. For example, Russian keyboards often work this +way because they must support both the Latin and Cyrillic alphabets. +As a consequence, users of the X Window System need a way to <em>combine +layouts</em>. Combined layouts are often useful for users who need to type +in both the Cyrillic and Latin alphabets. A Russian user might use a French +keyboard layout (complete with third and fourth glyphs) to correspond with +Western European friends via email, but then switch to another layout with +Cyrillic letters to write messages to Russian friends.</p> + +<p>There are two ways to specify a more than two glyphs: levels or groups. +The core X protocol uses groups, but XKB now uses levels. XKB changed in order +to better support combined layouts. To specify a third glyph with groups, +a second group is assigned to a key and the glyph is assigned to the first +shift-level of the second group. To use levels, a third level is assigned to +a key. The keysym used to generate these third glyphs also changes. With groups +the <kbd>AltGr</kbd> key is assigned <code>Mode_switch</code>, and with +levels it gets <code>ISO_Level3_Shift</code>. By moving from the muliple-group +to the shift-level method, combined layouts become much more flexible and +easier to maintain. With the old multiple-group approach, it was impossible +to combine layouts that had more than two glyphs per key.</p> + +<p>XKB supports up to four keysyms per group and up to four groups per layout. +In situations with three or four groups, rather than using +<code>Mode_switch</code>, there might be <code>ISO_Next_Group</code> and +<code>ISO_Prev_Group</code> used that cycle through the available +groups.</p> <p>A separate approach to typing symbols not engraved on the keyboard is to use -the <code>Multi_key</code>. This enables you to use two keys to type any symbol -defined by Compose sequences for your locale. For most layouts, the -<code>Multi_key</code> keysym is bound to <kbd>Shift + AltGr</kbd>. Note that -<kbd>AltGr + Shift</kbd> means something else; see above.</p> +<em>compose sequences</em>. Using <code>Multi_key</code> enables two keys to +generate any symbol defined by Compose sequences for your locale. So to type +Ç in the C locale, first type <code>Multi_key</code>, then +<code>comma</code> followed by capital <code>C</code>. The order of the +<code>comma</code> and <code>C</code> can be reversed. Yet another way to +define these kinds of symbols is with the XIM extension.</p> <h3><a id="xfree86_3x">What is the story with XFree86 3.<em>x</em>?</a></h3>