Author: branden Date: 2004-08-30 23:43:25 -0500 (Mon, 30 Aug 2004) New Revision: 1775
Modified: branches/debconf-overhaul/debian/CHANGESETS branches/debconf-overhaul/debian/TODO branches/debconf-overhaul/debian/changelog branches/debconf-overhaul/debian/patches/000_stolen_from_HEAD.diff branches/debconf-overhaul/debian/patches/000_stolen_from_HEAD_xkb_data.diff branches/debconf-overhaul/debian/patches/087_xkb_fix_altwin.diff branches/debconf-overhaul/debian/xserver-xfree86.config.in Log: Merge revisions 1770 to HEAD from trunk. Modified: branches/debconf-overhaul/debian/CHANGESETS =================================================================== --- branches/debconf-overhaul/debian/CHANGESETS 2004-08-31 04:19:41 UTC (rev 1774) +++ branches/debconf-overhaul/debian/CHANGESETS 2004-08-31 04:43:25 UTC (rev 1775) @@ -14,7 +14,7 @@ Miscellaneous cosmetic fixes. 1607, 1608, 1624, 1626, 1627, 1636, 1651, 1654, 1663, 1664, 1675, 1685, - 1690, 1713, 1715, 1716, 1718, 1736, 1737, 1743, 1761, 1768 + 1690, 1713, 1715, 1716, 1718, 1736, 1737, 1743, 1761, 1768, 1774 Grab latest version of XTerm (#191) from Thomas Dickey's website. 1609 @@ -492,6 +492,18 @@ Make xserver-xfree86 config script's validate_monitor_frequency_db_input() function more strict, so it doesn't regard open-ended ranges like "40-" as valid. - 1766, 1769 + 1766, 1769, 1772 +Grab from XFree86 CVS (2003-12-18) several fixes for keyboard issues: ++ Fix for XKB map 'altwin' to avoid one keysym to more than one modifier + mapping (Ivan Pascal). This really fixes the Alt-Tab issue. + (Closes: #256706) ++ Fix xmodmap's output of the modifiers map to not display BadKey when + the first column keysym is empty (Ivan Pascal). ++ The "modifier_add none" construct was introduced by Ivan Pascal some + times ago, but it was not documented in the changelog and a piece was + missing to enable this feature. No keymaps currently use this feature, + but users may find it useful with broken keymaps. + 1773 + vim:set ai et sts=4 sw=4 tw=80: Modified: branches/debconf-overhaul/debian/TODO =================================================================== --- branches/debconf-overhaul/debian/TODO 2004-08-31 04:19:41 UTC (rev 1774) +++ branches/debconf-overhaul/debian/TODO 2004-08-31 04:43:25 UTC (rev 1775) @@ -50,21 +50,7 @@ + Use /proc/hardware on m68k architecture to set a reasonable default mouse port. See <URL: http://lists.debian.org/debian-68k/2004/08/msg00392.html>. * Add FAQ entry describing Debian's plans in the X department. -* #256706: keep swatting away at the keyboard modifer issue; Ivan Pascal told - BR: - There is not modifier_del instruction in 'XKB language' but ... - I made a simple change for xkbcomp and now it understands an instruction - like - modifier_add none { <LALT> }; - It removes the modifier binding from the specified key. - I'm sorry I forget to mention this patch in CHANGELOG but it was a part - of 667 change made at Dec 18 14:14:37 2003 (i.e. it is included in 4.4.0). - If your xkbcomp is later than that version it understands such instruction. - So I'm thinking the fix is to apply the above, then modify the symbol maps - such that (in most cases) any keys that get modifier mappings are cleared - first. This solution will absolutely positively need testing. - 4.3.0.dfsg.1-8 -------------- Modified: branches/debconf-overhaul/debian/changelog =================================================================== --- branches/debconf-overhaul/debian/changelog 2004-08-31 04:19:41 UTC (rev 1774) +++ branches/debconf-overhaul/debian/changelog 2004-08-31 04:43:25 UTC (rev 1775) @@ -438,6 +438,19 @@ * Add Danish translation of "Generic Video Card" to xserver-xfree86.config.in. Thanks to Anders Dybdal. + Changes by Denis Barbier: + + * Grab from XFree86 CVS (no later than 2003-12-18) several fixes to XKB: + + Fix for XKB map 'altwin' to avoid one keysym to more than one modifier + mapping (Ivan Pascal). This really fixes the Alt-Tab issue. + (Closes: #256706) + + Fix xmodmap's output of the modifiers map to not display BadKey when + the first column keysym is empty (Ivan Pascal). + + The "modifier_add none" construct was introduced by Ivan Pascal some + times ago, but it was not documented in the changelog and a piece was + missing to enable this feature. No keymaps currently use this feature, + but users may find it useful with broken keymaps. + -- Branden Robinson <[EMAIL PROTECTED]> Mon, 30 Aug 2004 14:22:49 -0500 xfree86 (4.3.0.dfsg.1-6) unstable; urgency=low Modified: branches/debconf-overhaul/debian/patches/000_stolen_from_HEAD.diff =================================================================== --- branches/debconf-overhaul/debian/patches/000_stolen_from_HEAD.diff 2004-08-31 04:19:41 UTC (rev 1774) +++ branches/debconf-overhaul/debian/patches/000_stolen_from_HEAD.diff 2004-08-31 04:43:25 UTC (rev 1775) @@ -608,6 +608,18 @@ Fix manual pages typos (Bugzilla #316, Jens Schweikhardt). [Matthieu Herrb] +xc/programs/xmodmap/exec.c @ 1.6 + 634. Fix xmodmap's output of the modifiers map when the first column keysym + is empty (Ivan Pascal). + +xc/programs/xkbcomp/expr.c @ 3.7 + 351. Fixed string octal number parsing and string to int conversion for "\00" + in xkbcomp (BugzillaR #553, Egbert Eich). +xc/programs/xkbcomp/expr.c @ 3.8 + Add "modifier_map none" syntax to remove modifier bindings from the + specified key. [Ivan Pascal] + + diff -urN xc.orig/config/imake/imake.c xc/config/imake/imake.c --- xc.orig/config/imake/imake.c 2002-12-17 09:48:27.000000000 +1100 +++ xc/config/imake/imake.c 2003-04-09 01:58:14.000000000 +1000 @@ -23491,3 +23503,97 @@ and serving as an example for XTrap functionality, it can reasonably used as a primitive "playback" client for X sessions. .LP +Index: xc/programs/xmodmap/exec.c +=================================================================== +RCS file: /cvs/xc/programs/xmodmap/exec.c,v +retrieving revision 1.5 +retrieving revision 1.6 +diff -u -r1.5 -r1.6 +--- xc/programs/xmodmap/exec.c 14 Dec 2001 20:02:13 -0000 1.5 ++++ xc/programs/xmodmap/exec.c 2 Dec 2003 13:13:57 -0000 1.6 +@@ -56,7 +56,7 @@ + * Author: Jim Fulton, MIT X Consortium; derived from parts of the + * original xmodmap, written by David Rosenthal, of Sun Microsystems. + */ +-/* $XFree86: xc/programs/xmodmap/exec.c,v 1.5 2001/12/14 20:02:13 dawes Exp $ */ ++/* $XFree86: xc/programs/xmodmap/exec.c,v 1.6 2003/12/02 13:13:57 pascal Exp $ */ + + #include <X11/Xos.h> + #include <X11/Xlib.h> +@@ -212,8 +212,13 @@ + PrintModifierMapping(XModifierKeymap *map, FILE *fp) + { + int i, k = 0; ++ int min_keycode, max_keycode, keysyms_per_keycode = 0; + +- fprintf (fp, ++ XDisplayKeycodes (dpy, &min_keycode, &max_keycode); ++ XGetKeyboardMapping (dpy, min_keycode, (max_keycode - min_keycode + 1), ++ &keysyms_per_keycode); ++ ++ fprintf (fp, + "%s: up to %d keys per modifier, (keycodes in parentheses):\n\n", + ProgramName, map->max_keypermod); + for (i = 0; i < 8; i++) { +@@ -222,8 +227,14 @@ + fprintf(fp, "%-10s", modifier_table[i].name); + for (j = 0; j < map->max_keypermod; j++) { + if (map->modifiermap[k]) { +- KeySym ks = XKeycodeToKeysym(dpy, map->modifiermap[k], 0); +- char *nm = XKeysymToString(ks); ++ KeySym ks; ++ int index = 0; ++ char *nm; ++ do { ++ ks = XKeycodeToKeysym(dpy, map->modifiermap[k], index); ++ index++; ++ } while ( !ks && index < keysyms_per_keycode); ++ nm = XKeysymToString(ks); + + fprintf (fp, "%s %s (0x%0x)", (j > 0 ? "," : ""), + (nm ? nm : "BadKey"), map->modifiermap[k]); +Index: xc/programs/xkbcomp/expr.c +=================================================================== +RCS file: /cvs/xc/programs/xkbcomp/expr.c,v +retrieving revision 3.6 +retrieving revision 3.8 +diff -u -r3.6 -r3.8 +--- xc/programs/xkbcomp/expr.c 5 Jun 2002 00:00:37 -0000 3.6 ++++ xc/programs/xkbcomp/expr.c 18 Dec 2003 14:14:37 -0000 3.8 +@@ -24,7 +24,7 @@ + THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ********************************************************/ +-/* $XFree86: xc/programs/xkbcomp/expr.c,v 3.6 2002/06/05 00:00:37 dawes Exp $ */ ++/* $XFree86: xc/programs/xkbcomp/expr.c,v 3.8 2003/12/18 14:14:37 pascal Exp $ */ + + #include "xkbcomp.h" + #include "tokens.h" +@@ -245,6 +245,7 @@ + { "mod3", Mod3MapIndex }, + { "mod4", Mod4MapIndex }, + { "mod5", Mod5MapIndex }, ++ { "none", XkbNoModifier }, + { NULL, 0 } + }; + +@@ -569,9 +570,16 @@ + if (expr->type==TypeString) { + register char *str; + str= XkbAtomGetString(NULL,expr->value.str); +- if ((str!=None)&&(strlen(str)==1)) { +- val_rtrn->uval= str[0]; +- return True; ++ if (str!=None) ++ switch (strlen(str)) { ++ case 0: ++ val_rtrn->uval= 0; ++ return True; ++ case 1: ++ val_rtrn->uval= str[0]; ++ return True; ++ default: ++ break; + } + } + if ((expr->type!=TypeInt)&&(expr->type!=TypeFloat)) { Modified: branches/debconf-overhaul/debian/patches/000_stolen_from_HEAD_xkb_data.diff =================================================================== --- branches/debconf-overhaul/debian/patches/000_stolen_from_HEAD_xkb_data.diff 2004-08-31 04:19:41 UTC (rev 1774) +++ branches/debconf-overhaul/debian/patches/000_stolen_from_HEAD_xkb_data.diff 2004-08-31 04:43:25 UTC (rev 1775) @@ -178,6 +178,10 @@ [...] [Ivan Pascal] +xc/programs/xkbcomp/symbols/altwin @ 1.5 + 646. Fix for XKB map 'altwin' to avoid one keysym to more than one modifier + mapping (Ivan Pascal). + xc/programs/xkbcomp/symbols/pc/us @ 1.7 667. Fixes and updates for XKB keyboard maps: - Add to 'us' keymap backslash key that can be rewritten in other layouts @@ -2530,6 +2534,38 @@ - + include "level3(ralt_switch_multikey)" }; +Index: xc/programs/xkbcomp/symbols/altwin +=================================================================== +RCS file: /cvs/xc/programs/xkbcomp/symbols/altwin,v +retrieving revision 1.4 +retrieving revision 1.5 +diff -u -r1.4 -r1.5 +--- xc/programs/xkbcomp/symbols/altwin 10 Oct 2001 19:18:32 -0000 1.4 ++++ xc/programs/xkbcomp/symbols/altwin 3 Dec 2003 14:09:08 -0000 1.5 +@@ -1,4 +1,4 @@ +-// $XFree86: xc/programs/xkbcomp/symbols/altwin,v 1.4 2001/10/10 19:18:32 herrb Exp $ ++// $XFree86: xc/programs/xkbcomp/symbols/altwin,v 1.5 2003/12/03 14:09:08 pascal Exp $ + + partial modifier_keys + xkb_symbols "meta_alt" { +@@ -15,7 +15,7 @@ + key <LWIN> { [ Meta_L ] }; + key <RWIN> { [ Meta_R ] }; + modifier_map Mod1 { Alt_L, Alt_R }; +- modifier_map Mod4 { Meta_L, Meta_R }; ++ modifier_map Mod4 { <META>, Meta_L, Meta_R }; + }; + + partial modifier_keys +@@ -23,7 +23,7 @@ + key <LALT> { [ Alt_L, Alt_L ] }; + key <LWIN> { [ Meta_L ] }; + modifier_map Mod1 { Alt_L }; +- modifier_map Mod4 { Meta_L }; ++ modifier_map Mod4 { <META>, Meta_L }; + }; + + partial modifier_keys Index: xc/programs/xkbcomp/symbols/pc/am =================================================================== RCS file: /cvs/xc/programs/xkbcomp/symbols/pc/am,v Modified: branches/debconf-overhaul/debian/patches/087_xkb_fix_altwin.diff =================================================================== --- branches/debconf-overhaul/debian/patches/087_xkb_fix_altwin.diff 2004-08-31 04:19:41 UTC (rev 1774) +++ branches/debconf-overhaul/debian/patches/087_xkb_fix_altwin.diff 2004-08-31 04:43:25 UTC (rev 1775) @@ -20,7 +20,7 @@ key <LWIN> { [ Meta_L ] }; key <RWIN> { [ Meta_R ] }; - modifier_map Mod1 { Alt_L, Alt_R }; - modifier_map Mod4 { Meta_L, Meta_R }; + modifier_map Mod4 { <META>, Meta_L, Meta_R }; }; partial modifier_keys @@ -28,6 +28,6 @@ - key <LALT> { [ Alt_L, Alt_L ] }; key <LWIN> { [ Meta_L ] }; - modifier_map Mod1 { Alt_L }; - modifier_map Mod4 { Meta_L }; + modifier_map Mod4 { <META>, Meta_L }; }; Modified: branches/debconf-overhaul/debian/xserver-xfree86.config.in =================================================================== --- branches/debconf-overhaul/debian/xserver-xfree86.config.in 2004-08-31 04:19:41 UTC (rev 1774) +++ branches/debconf-overhaul/debian/xserver-xfree86.config.in 2004-08-31 04:43:25 UTC (rev 1775) @@ -276,10 +276,10 @@ db_get "$TEMPLATE" # This is a string, and needs input validation; a regex match will have to # do. We force the first character to be a number to avoid hideous problems - # in the debconf dialog frontend in 0.3.83 (it needs to be one anyway). - # We don't allow values less than 10. + # in the debconf dialog frontend in 0.3.83 (it needs to be one anyway). We + # don't allow values less than 10. if echo "$RET" | grep -qE \ - '^[0-9]{2,3}(\.[0-9]+)?(-[0-9]{2,3}(\.[0-9]+)?)?'; then + '^[0-9]{2,3}(\.[0-9]+)?(-[0-9]{2,3}(\.[0-9]+)?)?$'; then break # valid input fi # we only get to this point if the input was invalid; restore the known