Additional NULL (??) layout group with evdev+hal
Thomas Fritzsche
tf at noto.de
Mon Dec 1 04:27:47 PST 2008
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
<peter.hutterer at who-t.net> 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
>
More information about the xorg
mailing list