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

X Strike Force XFree86 SVN commit: r1956 - in trunk/debian: . local



Author: branden
Date: 2004-10-15 15:53:23 -0500 (Fri, 15 Oct 2004)
New Revision: 1956

Modified:
   trunk/debian/CHANGESETS
   trunk/debian/changelog
   trunk/debian/local/FAQ.xhtml
Log:
Update FAQ entry: My keyboard configuration worked with XFree86 4.2; why
is it messed up now?

Update FAQ entry: How does the keyboard work in the X Window System?


Modified: trunk/debian/CHANGESETS
===================================================================
--- trunk/debian/CHANGESETS	2004-10-15 19:04:50 UTC (rev 1955)
+++ trunk/debian/CHANGESETS	2004-10-15 20:53:23 UTC (rev 1956)
@@ -146,4 +146,9 @@
 windows; what's happening?
     1954
 
+Update FAQ entry: My keyboard configuration worked with XFree86 4.2; why
+is it messed up now?
+Update FAQ entry: How does the keyboard work in the X Window System?
+    1956
+
 vim:set ai et sts=4 sw=4 tw=80:

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2004-10-15 19:04:50 UTC (rev 1955)
+++ trunk/debian/changelog	2004-10-15 20:53:23 UTC (rev 1956)
@@ -54,6 +54,11 @@
   * Add FAQ entry: Sometimes I get garbage characters like 1;2c in my xterm
     windows; what's happening?
 
+  * Update FAQ entry: My keyboard configuration worked with XFree86 4.2; why
+    is it messed up now?
+
+  * Update FAQ entry: How does the keyboard work in the X Window System?
+
   Changes by Denis Barbier and Fabio M. Di Nitto:
 
   * Edit xc/programs/xkbcomp/symbols/pc/Imakefile so that the new pc/us_intl

Modified: trunk/debian/local/FAQ.xhtml
===================================================================
--- trunk/debian/local/FAQ.xhtml	2004-10-15 19:04:50 UTC (rev 1955)
+++ trunk/debian/local/FAQ.xhtml	2004-10-15 20:53:23 UTC (rev 1956)
@@ -881,8 +881,11 @@
 -->
 
 <p><em>It will take some time to write a comprehensive entry on this subject,
-but in the meantime it is hoped that the following glossary is useful.</em></p>
+but in the meantime it is hoped that the information presented here is useful.
+Thanks to Denis Barbier for his patience and his explanations.</em></p>
 
+<h4>Glossary</h4>
+
 <dl>
   <dt><strong>compose key</strong></dt>
     <dd>a key which causes the next two keys pressed to be treated specially
@@ -1010,6 +1013,49 @@
 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, which 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: <code>AltGr + <em>key</em></code>
+gives you the third, and if a fourth is engraved, it is entered with <code>AltGr
++ Shift + <em>key</em></code>.  For example, on many European keyboards, one can
+press <kbd>AltGr + E</kbd> to produce the Euro sign (&euro;).  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>
+
 <h2><a id="specquest" class="bigtext">Specific Questions</a></h2>
 
 <h3><a id="custxsess">How do I customize my X session?</a></h3>
@@ -2912,40 +2958,11 @@
 in the X Window System?"</a> above for explanantions of unfamiliar
 terms.</em></p>
 
-<p>Many users of the X Window System, particularly outside the United States,
-find that they need support for multiple <em>groups</em> on their keyboards.
-One or more of the keys on their keyboards are engraved with more than two
-glyphs.  On a typical U.S. keyboard, there are at most two glyphs on each keycap
-&mdash; one is accessed with a <code>Shift</code> or <code>Caps Lock</code> key,
-and one without.  Many keyboards outside the United States enable access to
-glyphs beyond the third with modifier keys not found on most U.S. keyboards.
-One approach is with an <code>AltGr</code> (alternate group) key, which is
-analogous to <code>Shift</code>.  The other approach is with a <code>Mode
-Switch</code> key, which is analogous to <code>Caps Lock</code>.  When either of
-these keys are pressed, the X Window System needs to know to switch to an
-alternative key layout &mdash; preferably one which corresponds to the
-engravings on the user's keyboard.  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 and alternate
-group is defined in software, so that "the keys know what to do" when the
-alternate group is enabled.</p>
-
-<p>Sometimes a key layout for a given territory (such as <code>gb</code> for the
-United Kingdom or <code>fr</code> for France) defines what should be in the
-alternate group.  For example, on many European keyboards, one can press
-<kbd>AltGr + E</kbd> to produce the Euro sign (&euro;).  This approach is often
-taken when most keys don't need an symbol defined for the alternate group,
-because most keys are engraved with two or fewer glyphs.</p>
-
-<p>Other times, however, most or all of the printing keys on the keyboard are
-engraved with primary group <em>and</em> alternate group glyphs.  Russian
-keyboards, for example, because they must support both the Latin and Cyrillic
-alphabets, often work this way.  As a consequence, users of the X Window System
-need a way to <em>combine layouts</em>.</p>
-
-<p>Prior to XFree86 4.3, combining layouts was difficult because keyboard
-symbols (<em>keysyms</em>) were defined to be specific to a given group.  For
-example, the <code>us</code> symbols file (in <code
+<p>First of all, XKB layouts have been revisited in XFree86 4.3.
+The most intuitive approach to supporting multiple levels on the keyboard is
+through combining layouts.  Prior to XFree86 4.3, though, this was difficult because
+keyboard symbols (<em>keysyms</em>) were defined to be specific to a given
+group.  For example, the <code>us</code> symbols file (in <code
 class="filespec">/etc/X11/xkb/symbols/</code>) defined the its keycode to keysym
 mappings specifically for group 1 &mdash; the primary group.  The
 <code>us_group2</code> and <code>us_group3</code> files repeated these
@@ -2955,12 +2972,12 @@
 was consequently impossible without modifying the XKB data files directly
 &mdash; a skill most users do not possess.</p>
 
-<p>XKB layouts have been revisited in XFree86 4.3, and new definitions can now
-be used in arbitrary order so that <code>us,ru</code> and <code>ru,us</code> use
-the same <code>symbols</code> files.  The new definitions have been placed in
-<code class="filespec">/etc/X11/xkb/symbols/pc/</code> while the old ones are
-still available in their traditional location; that is, directly within the
-<code class="filespec">/etc/X11/xkb/symbols/</code> directory.</p>
+<p>There are now new definitions that are "multi-layout aware"; they can be used in
+arbitrary order so that <code>us,ru</code> and <code>ru,us</code> use the same
+<code>symbols</code> files.  The multi-layout-capable definitions have been
+placed in <code class="filespec">/etc/X11/xkb/symbols/pc/</code> while the old
+ones are still available in their traditional location; that is, directly within
+the <code class="filespec">/etc/X11/xkb/symbols/</code> directory.</p>
 
 <p>Some symbols files have not been converted to the new multi-layout approach,
 and thus can not be combined with others.  These are listed as
@@ -2969,21 +2986,34 @@
 combining layouts, check that you are not trying to load a layout listed
 there.</p>
 
-<p>Modifiers have also been affected by these changes to make the system more
-modular.  A consequence is that <em>fake keys</em> have been introduced in XKB
-data files for <code>Alt</code>, <code>Meta</code>, <code>Super</code> and
-<code>Hyper</code>.  (The fake keys are distinguished from real keys by not
-being pair-oriented to the "left" or "right".  Even keyboards that have only one
-of a pair of such keys &mdash; like laptop keyboards &mdash; report the keys
-they do have as being either left or right, for compatibility with full-size
-models.) By default, the modifiers <code>mod1</code> and <code>mod4</code> use
-these fake keys instead of real ones.  XKB-aware applications can handle those
-fake keys, but some applications, like <application>GNU Emacs</application>, get
-confused and will not recognize your keys as modifiers.  Until these
-applications are fixed, you can bind keys explicitly with <code>altwin</code>
-XKB options; for example, <kbd>Option "XkbOptions" "altwin:super_win"</kbd>
-binds your logo keys to <code>Super</code> modifiers.</p>
+<p>Secondly, modifiers also been affected by the multi-layout changes to make
+the system more modular.  One consequence is that <em>fake keys</em> have been
+introduced in XKB data files for <code>Alt</code>, <code>Meta</code>,
+<code>Super</code> and <code>Hyper</code>.  (The fake keys are distinguished
+from real keys by not being pair-oriented to the "left" or "right".  Even
+keyboards that have only one of a pair of such keys &mdash; like laptop
+keyboards &mdash; report the keys they do have as being either left or right,
+for compatibility with full-size models.)  By default, the modifiers
+<code>mod1</code> and <code>mod4</code> use these fake keys instead of real
+ones.  XKB-aware applications can handle those fake keys, but some applications,
+like GNU Emacs, XEmacs, and Sawfish, are buggy &mdash; they get confused and
+will not recognize some of your keys as activating the right modifiers.  A
+workaround for XEmacs is to set the <code class="other">altwin:super_win</code>
+XKB option.  The recommendation of Debian developers to frustrated Sawfish users
+appears to be to switch to Metacity.</p>
 
+<p>Futher reading:</p>
+
+<ul>
+  <li><a
+    href="http://lists.debian.org/debian-emacsen/2004/09/msg00019.html";>description
+    of Emacs modifer problem</a></li>
+  <li><a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=274103";>Debian
+    <code class="package">emacs21</code> bug report</a></li>
+  <li><a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=263073";>Debian
+    <code class="package">sawfish</code> bug report</a></li>
+</ul>
+
 <h3><a id="composeinput">Why does composing characters work in some applications
   but not others?</a></h3>
 



Reply to: