On Thu, 20.12.12 19:05, Nicolas Mailhot (nicolas.mailhot(a)laposte.net) 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)
Happy to take patches to improve this list.
kbd layout database has fallen into disrepair since ubuntu/debian
started
generating their console layouts from xkb-config (they don't use kbd).
Hmm, are you saying that Fedora is just freeloading off Ubuntu?
Interesting, usually one hears only the opposite...
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)
Well, the conversion stuff is really nothing we'd want to adopt in
Fedora as is. It's a perl hackery around the awful old tools we
use. Yes, it would be great if we could also use the same mappings for
the console as for X, but that would either require that somehow the
conversions can be done offline and shipped pre-converted, or that
somebody reimplements this in a sane toolset that isn't just some Perl
hackery.
> 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.
I doubt it's that rotten. It definitely works fine for the most popular
keymaps, such as the american and german.
Note that this conversion has been exposed via GNOME's kbd config thingy
for a while, and we didn't really get much bugs about it, hence I assume
that it isn't too bad.
I mean, if you see bugs, please report them, tell us what to fix. Other
than that i can only tell you that the amount of bugs we got so far
about this is close to zero, hence I can only assume things are not as
bad as you say.
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
I am pretty sure I don't want to work on this. But I'd welcome if
somebody did work on it, and we'd be happy to support this in systemd if
done right.
Lennart
--
Lennart Poettering - Red Hat, Inc.