Has anyone else had trouble with UTF-8 mode on the Linux console?
I'm using a sensible font (lat1u-16.psf.gz and iso01.f16.psf.gz, both of
which have an embedded SFM/unimap). I'm using the keymap
/usr/share/keymaps/i386/qwerty/uk.kmap.gz (standard UK QWERTY), which
appears to be ISO-8859 encoded (according to file).
If I start the system and log into a console, I can type as you would
expect:
+-----------+-----------+
| Unshifted | Shifted |
+----------+-----------+-----------+
| Caps On | ABCDEF | abcdef |
+----------+-----------+-----------+
| Caps Off | abcdef | ABCDEF |
+----------+-----------+-----------+
The system default locale is C, and so the console is put into byte
mode at boot.
If I now put the terminal into UTF-8 mode:
$ unicode_start
I now see this:
+-----------+-----------+
| Unshifted | Shifted |
+----------+-----------+-----------+
| Caps On | ABcDeF | abCdEf |
+----------+-----------+-----------+
| Caps Off | abcdef | ABCDEF |
+----------+-----------+-----------+
The letters 'C' and 'E' have become inverted when caps-lock is on.
Reloading the keymap (with loadkeys) has no effect. If I switch
back to byte mode with
$ unicode_stop
the change is still in effect, but if I reload the keymap (with
loadkeys) then the keyboard operation is restored to normality.
I checked the Linux keyboard and console HOWTO, but didn't find
anything appropriate.
I'm using:
Linux 2.6.[6-8] and current 2.4 kernels
console-tools 0.2.3
The only difference I can see between 'C' and 'E' and the other letters
is their lines in the keymap:
keymaps 0-2,4-6,8-9,12
[...]
keycode 16 = q
keycode 17 = w
keycode 18 = +e +E currency
Control_e Control_e Control_e Meta_e
Meta_E Meta_Control_e
keycode 19 = r
keycode 20 = t
[...]
keycode 44 = z
keycode 45 = x
keycode 46 = +c +C cent
Control_c Control_c Control_c Meta_c
Meta_C Meta_Control_c
keycode 47 = v
keycode 48 = b
[...]
They have a whole stack of modifiers, but I'm not sure what these do.
Changing the "+E" and "+C" to "+e" and "+c" only resulted in an
unusable keymap (I thought they might need inverting).
Has anyone else seen this behaviour or is able to replicate the above?
Can anyone suggest a fix for it?
Many thanks,
Roger
--
Roger Leigh
Printing on GNU/Linux? http://gimp-print.sourceforge.net/
GPG Public Key: 0x25BFB848. Please sign and encrypt your mail.
--
Linux-UTF8: i18n of Linux on all levels
Archive: http://mail.nl.linux.org/linux-utf8/