prefered way of configuring X11 keyboard layouts in F18

Nicolas Mailhot nicolas.mailhot at laposte.net
Thu Dec 20 18:05:36 UTC 2012


Le Mer 19 décembre 2012 22:57, Lennart Poettering a écrit :
> On Mon, 03.12.12 10:04, Vratislav Podzimek (vpodzime at redhat.com) wrote:
>
>> The "conversion" (as systemd-localed calls it) works really poorly also
>> for the Czech keymaps/layouts. 'cz' X11 layout is "converted" to
>> 'cz-lat2' which works like 'us' until you hit the "Pause Break" key.
>> This is really unfortunate especially when people set their LUKS
>> password in Anaconda with the 'cz' X11 layout activated and then they
>> are supposed to enter it again with the 'cz-lat2' keymap during boot.
>
> This mapping is based on /usr/share/systemd/kbd-model-map btw which we
> stole from anaconda (or was it s-s-k?).

Unfortunately this mapping never worked well, is full of obsolete entries,
has been a PITA to get updated for at least a decade (bugzilla change
requests got ignored for years). Its only redeemable feature was that once
you had installed your system you could fix anaconda choices in sysconfig
files and forget about this particular i18n horror story (good i18n is
much less important server-side which explains why anaconda layout support
was 'good enough' for RHAT I guess)

kbd layout database has fallen into disrepair since ubuntu/debian started
generating their console layouts from xkb-config (they don't use kbd).

Ubuntu/debian has the lion share desktop-side so all the i18n layouts get
improved and updated in xkb-config, and few layout authors even bother
with kbd layouts anymore (writing a layout is akin to writing in
assembler, no one once to write the same routine twice it two different
obscure layout dialects if it's possible to avoid it)

> We are happy to take patches for this database file, to improve the
> mapping.

The database is bitrotten and even it it wasn't most modern layouts do not
exist kbd-side at all. Most layouts with perfect mapping are old legacy
ascii layouts. They are still in xkb-config for historical reasons but in
many locales the preferred layout includes changes (unicode…) which have
never been ported to kbd.

If you really want to support console keyboard layouts in systemd, you
need to start generating console layouts from xkb-config, not adopt the
old anaconda mapping bandaid

-- 
Nicolas Mailhot



More information about the devel mailing list