Hi Peter,

this is regression caused  by correction for 14373 (fixed with commit
ae986d1c73d).
I rebuild server removing the coding that copy more than 2 shift level
and more than 2 groups like this:


                /* AB..CDE... -> ABABCDE... */
                if (groupWidth > 0 && maxSymsPerKey >= 3)
                    pCore[2] = pCore[0];
                if (groupWidth > 1 && maxSymsPerKey >= 4)
                    pCore[3] = pCore[1];

                /* ABABCDE... -> ABABCDECDE */
/*              idx = 2 + groupWidth;
                while (groupWidth > 2 &&
                        idx < maxSymsPerKey &&
                        idx < groupWidth * 2)
                {
                    pCore[idx] = pCore[idx - groupWidth + 2];
                    idx++;
                }
                idx = 2 * groupWidth;
                if (idx < 4)
                    idx = 4;
                /* 3 or more groups: ABABCDECDEABCDEABCDE
                for (n = 0; n < groupWidth && idx < maxSymsPerKey; n++)
                    pCore[idx++] = pXKB[n];
*/              
            }

After installing this patched server the system doesn't generate this
strange 3rd groups any more. :-)
My guess is that keys not available on the keyboard can not have
keytype and thus the number of shift level is unknown thus keys with
more than 2 shift level generate this additional groups.

Cheers,
Thomas





On Wed, Nov 26, 2008 at 1:26 PM, Peter Hutterer
<[EMAIL PROTECTED]> wrote:
> Haven't had time to look at it yet, but can you check with Bug 16105 if that's
> the same. If so, please attach everything to said bug.
>
> My guess is that the xkb->core->xkb conversion breaks somehow again.
>
> Cheers,
>  Peter
>
_______________________________________________
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Reply via email to