Bugzilla – Bug 116143
yast2-country doesnt set console keyboard correctly
Last modified: 2008-09-24 12:37:09 UTC
yast2-country doesnt set console keyboard correctly Looks like it didn't work even for 9.3; not sure if it isn't only installation-related. yast2-country calls "loadkeys <keymap>; dumpkeys | loadkeys -u" according to description in bug #59223. However, the correct command should use "-c charset" parameter for dumpkeys.
Juergen, should 'loadkeys -u <keymap>' work? Now it works for czech maps (cz-lat2-us.map.gz), not for german ones (de-latin1-nodeadkeys). Steffen, where do you have the map of charset values for the languages (keyboards)? Maybe I could copy it to yast to use the dumpkeys command it correclty.
Some maps have an explicit 'charset' keyword somewhere in them. That's what linuxrc currently has (a bit incomplete): #define KM_L1 "iso-8859-15" #define KM_L2 "iso-8859-2" #define KM_L7 "iso-8859-7" #define KM_KOI "koi8-r" /* keymap encodings */ struct { char *map; char *enc; } km_enc[] = { { "Pl02", KM_L2 }, { "br-abnt2", KM_L1 }, { "cz-us-qwertz", KM_L2 }, { "de-lat1-nd", KM_L1 }, { "es", KM_L1 }, { "fr-latin1", KM_L1 }, { "gr", KM_L7 }, { "hu", KM_L2 }, { "it", KM_L1 }, { "no-latin1", KM_L1 }, { "pt-latin1", KM_L1 }, { "ru1", KM_KOI }, { "sk-qwerty", KM_L2 }, { "slovene", KM_L2 } };
snwint: > BTW, the normal 'kbd' init script leaves out '-c' for dumpkeys, too. > I always wondered how this works for czech. That was my initial finding (in comment #11 of bug #113664) - that current call in yast (without -c) does not work for czech keyboard (while it works for german...)
Is there any architecture specific stuff?
Nothing I'm aware of.
Hmm... looks like de-latin1-nodeadkeys is the only one complaining for loadkeys -u
But does it really _work_?
For the czech keyboard, it works the same way as with dumpkeys -c iso-8859-2. At least it looks like. I'm going to use your map provided in comment #2, unless I get some different advice from Juergen.
Then '-u' seems to be ok but for that de map.
fixed in svn, submited as yast2-country-2.12.15 setting as LATER to find better solution after 10.0 Steffen, thanks for help
when I last tested, "dumpkeys | loadkeys -u" was the only reliably way for de-latin1-nodeadkeys. I haven't played with dumpkeys -c yet.
"dumpkeys | loadkeys -u" works for de-latin1-nodeadkeys. It doesn't work for cz-us-qwertz. "loadkeys -u" fails for de-latin1-nodeadkeys, while it works for most of the keyboards listed above ("most" means "all which I tested").
.
Juergen, why "loadkeys -u" is not possible to use? In bug #59223 you have written "[it] is currently broken." It's more then year ago - what's the problem?
Juergen, could you comment?
-> new maintainer
What's the status of this one? Currently, YaST calls keymap found in the table of comment 2. If the keymap is there, it points to the encoding string. If the encoding string is defined, loadkyes is called this way: 'loadkeys <keymap> ; dumpkeys -c encoding | loadkeys -u' Is this still the correct way or does it work differently now? (I'm also wondering about the connections to bug 367801...)
So, according to bug367801#c19, I'm removing the 'dumpkeys -c encoding | loadkeys -u' part of the command, leaving only loadkeys <keymap> there. Done in yast2-country-2.17.12.