First some observations about reproducing this bug. If charset "iso-8859-7" is added as the first line of the provided keymap, loadkeys accepts it. This is why the gr-utf8 keymap in console-tools works - it has a charset line at the top.
Now why the bug happens. The 430_read_keymaps_fmt patch, added in 0.2.3dbs-57, introduces the prefer_unicode variable in lib/ksyms.c. This variable is used instead of checking whether the console is in UTF-8 mode; however it is never set anywhere. If this variable is unconditionally set to 1, the keymap supplied by the reporter is loaded correctly. However setting prefer_unicode either to 1 or 0 unconditionally is presumably not the correct behaviour. It should be 1 iff the console is in UTF-8 mode or the user specified the -u flag. Since kbdtools/loadkeys.c calls set_charset("unicode") in either of these cases, set_charset would appear to be the place to set the prefer_unicode variable. The following patch does that: diff -Naru2 console-tools-0.2.3.orig/lib/ksyms.c console-tools-0.2.3/lib/ksyms.c --- console-tools-0.2.3.orig/lib/ksyms.c 2005-10-29 17:06:31.000000000 +0100 +++ console-tools-0.2.3/lib/ksyms.c 2005-10-29 17:07:45.000000000 +0100 @@ -1669,6 +1669,9 @@ int i; - if (!strcasecmp(charset, "unicode")) + if (!strcasecmp(charset, "unicode")) { + prefer_unicode = 1; return 0; + } + prefer_unicode = 0; for (i = 1; i < sizeof(charsets)/sizeof(charsets[0]); i++) { -- Martin Orr -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]