xkbcomp initialisation messing up with GNOME keyboard layouts?
peter.hutterer at who-t.net
Sat Jul 19 00:30:56 PDT 2008
On Fri, Jul 18, 2008 at 10:08:58AM -0400, David Huggins-Daines wrote:
>> the correct solution here is to let gnome set the keyboard settings on each
>> physical device they apply to.
> And this makes perfect sense to me as the source of the problem, so I'd
> like to try to see if I can find a solution to it. So, the question I
> have is - how can we set the XKB layout on each physical device? Does
> XKB support multiple keyboards now?
> It seems that in libxklavier (which is the GNOME component responsible
> for managing XKB layouts and things), there is a handler for the
> XkbNewKeyboardNotify event, and this would be the correct place to set
> the XKB layout for each device.
> Does this sound correct to you, and if so, how do we set the XKB layout
> (which is accomplished by running xkbcomp to a tempfile, then loading
> that tempfile with libxkbfile, then calling XkbWriteToServer() to send
> the settings to the server ... ugh) on specific keyboard devices?
AFAIK, the xkb protocol requests allow for a device ID. From a quick check,
Xlib doesn't seem to always expose it so your job could be ... interesting.
xkbcomp supports a device argument too, so maybe peeking at the source may
help to find what requests you need.
More information about the xorg