[systemd-devel] Changing how localed writes keymap for xorg

Lennart Poettering lennart at poettering.net
Wed Feb 11 03:46:29 PST 2015


On Wed, 11.02.15 10:43, Colin Guthrie (gmane at colin.guthr.ie) wrote:

> Hi,
> 
> I've recently run into an annoying problem with the localed xorg.conf
> snippet.
> 
> As it writes an xorg.conf.d snippet, this seems ot take priority over
> udev properties (xkblayout) etc. which Xorg has supported for some time.
> 
> If x starts with this snippet in place and it has a layout of e.g "us",
> but then, later a keyboard with a udev property of xkblayout fr is
> plugged in (don't worry about where that property comes from, this is a
> supported feature of the config/udev.c in xserver), it will still get
> the us keymap. This sucks!

udev is not a place for configuration really. I mean, in a few cases
(like seat assignments) it is what we do, but in general: no it's not
the place for end-user configuration. 

I am pretty sure that people want to assign keymaps with udev rules,
are smart enough to remove the config snippet localed has written.

> Also, anything plugged in to Xorg after running localectl (thus updating
> 00-keyboard.conf) will also get the "us" keymap (as that was what was in
> place at Xorg init time).
> 
> Wouldn't it be better to do the following:
> 
> 1. deprecate the 00-keyboard.conf xorg.conf.d file
> 2. Instead apply the locale settings in udev via "xkb*" properties

No, certainly not. The Xorg fragment is actual
configuration. Configuration should beat the rulesets really, which
carry device metadata. 

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list