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