[kbd] [PATCH] loadkeys: Auto-convert “traditional”/Unicode keysyms

Michael Schutte michi at uiae.at
Thu Apr 16 19:45:04 MSD 2009

On Thu, Apr 16, 2009 at 04:07:58AM +0400, Alexey Gladkov wrote:
> Your patch still does not work for me.
> $ kbd_mode -a
> $ export LANG=ru_RU.koi8r
> $ setfont data/consolefonts/koi8r-8x16
> # loadkeys data/keymaps/i386/qwerty/ruwin_cplk-KOI8-R.map
> When typing characters are visible correctly.
> But with your patch:
> # src/loadkeys data/keymaps/i386/qwerty/ruwin_cplk-KOI8-R.map

Do you do this right after the above commands, or after you restored
Unicode mode?  I guess it’s the latter; at least as far as I can see,
the two commands behave identically when they are run in immediate

> When I typing the characters displayed incorrectly.

Oh, alright!  This is the problem: There is no way to automatically
figure out that this keymap is written in the koi8-r encoding, so the
characters are taken from the wrong charset tables (the ones in ksyms.c
and *.syms.h) and converted into Unicode.  The patched version of
loadkeys seems to do the right thing when you add

	charset "koi8-r"

at the beginning of ruwin_cplk-KOI8-R.map.  Can you confirm this?

> How do you test this patch?

Pretty much the way you do: loadkeys, typing some things, verifying that
dumpkeys doesn’t show different results (and if so, whether the
differences are intended by my patch).

> Can you show how loadkeys with this patch to be used in the examples?

I’d say it should be used just the same way as before, just that it
should work regardless of the input file’s encoding.  As long as this
keymap file has a “charset” specification, that is; I have to admit that
I didn’t consider that so many .map files don’t feature such a line.
Still, this shouldn’t be a regression: When the input encoding and the
console mode (XLATE/Unicode) are compatible, my patch shouldn’t change
the behaviour.

> I'm not sure that understand this. Do you want to load 8-bit keymaps
> for UTF locales and unicode keymaps for non-UTF locales ? Am i right ?

Yup, that’s exactly what I want it to do.  It strikes me as a quite
sensible thing to do, given that there are a few keymaps that differ
only in their encodings.

The true reason why I want to push this, though, is that Debian’s
version of kbd has had a similar patch since 2004.  I’d like to get rid
of this divergence without losing its useful features.  This is why I’ve
cleaned it up and why I’m discussing it with you now.

Thanks for you patience :-)
Michael Schutte <michi at uiae.at>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 489 bytes
Desc: Digital signature
URL: <http://lists.altlinux.org/pipermail/kbd/attachments/20090416/840fbfc8/attachment.bin>

More information about the kbd mailing list