[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Unicode support for kbd
Hello Andries,
Here is my "Unicode support" patch for kbd-0.99. It addresses the following
problem: When a user switches his keyboard to Unicode (UTF-8) mode, he has
to provide a new keyboard mapping via loadkeys. But since the kernel
does not know how to produce an UTF-8 code from, say, a cyrillic keysym
- we really don't want to put character set conversion tables into the
kernel -, it is "loadkeys" which has to pass the kernel the right Unicode
value. In the current design, this means that the user has to keep two
versions of his keytables: one where he mentions "cyrillic_capital_letter_io"
and the other where he mentions "U+0401". This is not good, because it
multiplies by 2 the number of files in /usr/lib/kbd/keymaps/ and creates
a maintenance problem.
So the conversion from "cyrillic_capital_letter_io" to "U+0401" should be done
by loadkeys. Since (I think) kbd supports nonstandard 8-bit encodings, and
we are not willing to drop platforms earlier than glibc-2.1, loadkeys will
not call `iconv' and instead store the Unicode value in its own tables.
The patch does this, and adds an option -u/--unicode to "loadkeys".
The precise changes are as follows:
* ksyms.h:
- New structure `sym', includes a Unicode value.
- Use "const char *" instead of "char *", this helps me ensure that I don't
accidentally clobber a string literal.
- Declare a new function `unicodetoksym', which is used to make pretty
output for dumpkeys when in Unicode mode (i.e. convert back "U+0401" to
"cyrillic_capital_letter_io").
* ksyms.c:
- Add Unicode codes to all syms.
* cyrillic.syms.h, ethiopic.syms.h: Likewise.
* ksyms.c:
- I'm really not confident that it's safe to erase the upper half of
latin1_syms in set_charset(). It might cause obscure bugs. Therefore I
split latin1_syms into `iso646_syms' whose upper half can be freely
modified, and `latin1_syms' proper which contains only the Latin1 syms.
I.e. treat Latin1 like Latin2, Latin3 etc.
- Added a few comments in front of the spec_syms, pad_syms, etc. tables.
Without these comments, it was really hard to understand the "big picture"
of the keyboard driver. Especially since "sticky_syms" corresponds to
KT_SLOCK, and KT_LATIN actually means KT_8BIT - how would you guess?
- In koi8_r_syms, added the range 128..159 which was previously unmapped.
- Added function unicodetoksym, for dumpkeys.
- ksymtocode: Add support for the `prefer_unicode' flag set by the -u
option. Treat Latin1 like Latin2, Latin3 etc.
- Added function unicodetocode which converts a Unicode value to a
16-bit code for the keyboard driver. Set unicode_used = 1 only if
Unicode is really needed.
- Added function add_capslock which outputs a warning if it has to
ignore the "+" flag (because of the current limitation in the kernel:
only KT_LATIN codes are capable of CapsLock treatment).
* loadkeys.y:
- The unicode_used variable has been transferred to ksyms.c, because it's
now used there. Otherwise `dumpkeys' wouldn't link.
- Use the capslock function. `unicode_used' is now set if it really used,
it depends on both the keymap entry _and_ the value of the -u option.
- Implement option --unicode.
* analyze.l:
- Use unicodetocode here, so the upper level (loadkeys.y) can operate on
KTYP/KVAL composed code.
* dumpkeys.c:
- printksym bug fix: KT_LETTER was assumed to be the largest KT_* value. It
is not.
- printksym uses unicodetoksym in order to print the ksym string. This
generates more maintainable keymaps. ("cedilla" tells the user a lot
more than "U+00b8".)
Bruno
begin 644 kbd-unicode-patch.gz
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
MVH>9H7`BACE11;7:F!_F+YA]E#[(#.H^ED3_,H/,XU9`[H),H&O_#7#J)
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
M$$RVSH,0PB=ZAT((FNK]"R'H!',WA+!3Q/L0HLX09T2(FNE]$R'H&>:J"�
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
=/+2&]$YA6ZZZ:)U'$(',P8U(__\!%YM*J\--`0``
`
end
-
Linux-UTF8: i18n of Linux on all levels
Archive: http://mail.nl.linux.org/lists/