xkbcomp initialisation messing up with GNOME keyboard layouts?

Peter Hutterer peter.hutterer at who-t.net
Thu Jul 3 06:51:59 PDT 2008


On Thu, Jul 03, 2008 at 10:54:44AM +0100, Simos Xenitellis wrote:
> Hi All,
> One of the big bugs in Ubuntu (and probably elsewhere) is that when a user
> 
> a) Enabled autologin (so they do not need to put username/password at the start)
> b) Use some keyboard layout(s), configured in the GNOME Keyboard
> settings, different from /etc/X11/xorg.conf
> 
> then, the layout details from the GNOME Keyboard settings are not activated.

this is most likely due to gnome setting the keyboard settings on the virtual
core keyboard (VCK) where they are overwritten by the device-specific
configuration on the first key press.
 
> Reading the thread about xkbcomp (how slow it is for X when starting up),
> it makes me think that GNOME configures the keyboard layout first,
> then X.Org eventually configures the layout based on what is in
> /etc/X11/xorg.conf, clearing up the previous settings.

nope, the server waits for xkbcomp to finish, long before the first client
connects.

> Is there a way to verify whether the above happens? Is there a way to
> get X not to initialise keyboard layout settings, so that to see if
> the GNOME settings will actually stay?

setting the keyboard without a device flag changes the VCK. 
On the first keypress of a device however this setting is overwritten by the
keyboard that is actually being used. If you hit a key before gnome sets the
keyboard layout, the phys.  keyboard's settings are already copied into the
VCK and thus gnome can overwrite them again. consecutive keypresses don't
overwrite it again, since the phys. keyboard doesn't change.

the correct solution here is to let gnome set the keyboard settings on each
physical device they apply to.

Cheers,
  Peter



More information about the xorg mailing list