Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 10437 - Major issue with UK keymap (pound sterling doesn't work and other anomalies)
Summary: Major issue with UK keymap (pound sterling doesn't work and other anomalies)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High major
Assignee: Stefan Jones (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-11-08 12:52 UTC by kfm
Modified: 2003-02-04 19:42 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kfm 2002-11-08 12:52:06 UTC
Hi,

it appears that the UK keymap for the console in Gentoo Linux doesn't work at
all properly.

Configuration:

In /etc/rc.conf, KEYMAP="uk" and no CHAR translation. Obviously, the init script
is using 'loadkeys' to load the keymap, as it should.

Symptoms:

* The pound sterling sign (Shift + 3) does not work. Every other character, to
the best of my knowledge, does. Instead it generates a "u" with an acute accent.
* You're going to love this one: the above behaviour is consistent on vc/1. Now,
I switch over to vc/2 which is waiting for a login. I try typing some chars
other than a pound sterling sign, then use Backspace (Rubout) key to delete them
fine. Now, I press Shift + 3 for a pound sterling sign. Nothing happens. After
that, other characters generate properly but /get this/: now when I press
Backspace to delete them I get: (1) an "e" with an umlaut + (2) an "a" with an
acute accent + (3) an "e" with an umlaut again! Pressing Backspace after that
does exacly the same thing. Now I press Enter to get through the invalid login
attempt. I now login properly, and when reaching the prompt do not try to press
Shift + 3 again. Hey, now Backspace is working properly again.
* And the killer: The above doesn't happen on vc/1, I get a "u" with an acute
accent every time for Shift + 3 on vc/1, regardless.

Further info:

Needless to say, this is a matter of grave concern! I have three Gentoo
installations of varying vintages on varying types of PC and it happens on all
of them. I'm booting up a 1.4_rc1 CD on a Compaq Proliant ML350 server and it
happens on that. I boot from a 1.2 CD or 1.4_rc1 CD on any PC and set the
keyboard to UK and it happens :-(

US keyboard setting works just fine. I've tried fiddling with the
/usr/share/keymaps/i386/qwerty/uk.map.gz (which seems OK) and no joy. I've tried
playing with /etc/inputrc (changing meta options and so forth) and it just makes
matters worse. It ocurred to me that I've /never/ needed to enter a pound sign
in the console before really (use the # for commenting mainly which is a
different key) and that us UK users have probably missed this the whole time.
This seems to be backed up by the forum thread I created, where another UK
resident chimed in, thinking he wasn't affected, then later realised he was.
http://forums.gentoo.org/viewtopic.php?t=21406
XFree is not affected at all.
Comment 1 Seemant Kulleen (RETIRED) gentoo-dev 2002-11-09 01:54:10 UTC
Stefan, you're British, you have a look :P
Comment 2 Stefan Jones (RETIRED) gentoo-dev 2002-11-10 16:07:37 UTC
I also have this problem.
If you use vim and make a file in the console with <shift>-3 in it.
The console shows u accute, both in vim and cat <file>
But if you read the file in X using cat, etc. you see the pound sign.
This means that the problem is with the fonts not the keymap.
Will search further,

Stefan
Comment 3 Stefan Jones (RETIRED) gentoo-dev 2002-11-10 16:24:10 UTC
Right, I have found the following:

By setting 
CONSOLETRANSLATION="8859-1_to_uni"
in /etc/rc.conf you get the pound sign back in the console once you log in.
Other setting may work better, but this one works fine for me.

The other login bug is a bit more difficult, I'll keep looking,

Me
Comment 4 Stefan Jones (RETIRED) gentoo-dev 2002-11-14 04:36:38 UTC
Did this work for you, a reply may help me fix this problem!
Are you there?
Comment 5 kfm 2002-11-15 11:14:31 UTC
> Did this work for you, a reply may help me fix this problem!

Yes it did (sort of), and indeed it would respectively!

Right, as you say it resolves the issue in so far as the pound sign will be
displayed *after* you've logged in. That's nice but, for me, it's still irksome
that pressing Shift + 3 still doesn't work for the login prompt. It's still
pretty much the same as before:

* First login prompt -> type some chars, Backspace them fine. Press Shift + 3,
nothing. Now Backspace results in intermixed "e" chars with an umlaut, and spaces.
* Press Enter to fail that login. It seems to "reset" things. But now
(sometimes) Shift + 3 results in a hash symbol, and Backspace gets buggered up
again.
* The strange behaviour is always reset to the condition in the first bullet
point above when a fresh login prompt appears, /before/ typing any characters.
* Said behaviour seems reasonably consistent across all virtual consoles.

I'm not au fait with the particulars of Linux in terms of how it decides how to
 map keys and display chars before a user session but, for what it's worth, my
opinion is that if Linux cannot set up UK key mapping / correct character
representation before logging in then it needs changing :-) Aside from that, it
should at least be consistent: if it's going to be hash, then a hash it is ...
but pressing Shift + 3 shouldn't result in nothing being displayed then the
Backspace key going wild.

Does this sort of thing happen in other distros (or *BSD)? Shall I check?
Comment 6 Stefan Jones (RETIRED) gentoo-dev 2002-11-27 03:30:52 UTC
mmm, I failed to get the last email so missed your reply, sorry.

The problem with gentoo is that the user has to setup all the keymap settings so
there is a large scope for error.

How does redhat do this, I have looked at it and it seems to have the same setup.

Comment 7 kfm 2002-11-27 06:56:10 UTC
Stefan,

good question. Right now I only have access to OpenBSD as an alternative *nix
which is probably too far removed, but I intend to have a look at something like
RedHat or Debian to see how things are working with those distros - hopefully
quite soon.
Comment 8 Stefan Jones (RETIRED) gentoo-dev 2002-11-28 02:49:13 UTC
Found the solution, here it is:

1) put in /etc/env.d/10lang the following:
LANG="en_GB"
2) run env-update
3) in rc.config put CONSOLETRANSLATION="8859-1_to_uni"
4) manually emerge net-dialup/mingetty, it is masked
5) in /etc/inittab replace
c1:12345:respawn:/sbin/agetty 38400 tty1 linux lines by
c1:12345:respawn:/sbin/mingetty tty1
6) reboot and all will work