[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xfree-i18n
Subject:    [I18n]Re: [Xpert]Decimal key on European keyboard layouts
From:       Christian Rose <menthos () menthos ! com>
Date:       2002-12-14 21:03:32
[Download RAW message or body]

fre 2002-12-13 klockan 11.13 skrev Dr Andrew C Aitchison:
> > When I press "," (the decimal symbol key) on the numerical part of my
> > Swedish keyboard in XFree86, I get a "." (point). This is obviously
> > wrong, as it should be a comma, the decimal symbol that is used in
> > Sweden and what this key is labeled with on Swedish standard keyboards.
> > 
> > I've checked some other keyboard layouts and others for which the
> > decimal key on the numeric keypad is a comma is as follows:
> > Finland (identical to the Swedish layout), Denmark, Netherlands, Norway,
> > Switzerland, Germany. I suspect that these may be wrongly defined as
> > point too.
> > 
> > Anyone else seen this? Suggestions?
> 
> I'm not an expert on internationalization, but I think that in an 
> ideal world, what it prints should be controlled by the LC_NUMERIC
> locale setting.

I doubt that this is the right approach. I think the goal of the
keyboard layout should be to match what characters are printed on the
keyboard. To have it send the wrong character, a character that isn't
printed on the key, based on some environment variable is just broken.
Also, the comma should be the same comma as on the regular keys. It may
not only be used for entering decimals, even if that's certainly the
most common usage.
If one desperately needs a Swedish layout with a point on the numeric
keyboard, then a seperate layout should be created for that purpose.


> Can you get any clue from the commands "locale" and "xev" whether
> the key is sending the wrong value, or whether the wrong value is
> being printed ?

I get:
KeyPress event, serial 25, synthetic NO, window 0x4000001,
    root 0x46, subw 0x4000002, time 517414115, (51,51), root:(53,93),
    state 0x10, keycode 91 (keysym 0xffae, KP_Decimal), same_screen YES,
    XLookupString gives 1 characters:  "."

KeyRelease event, serial 25, synthetic NO, window 0x4000001,
    root 0x46, subw 0x4000002, time 517414194, (51,51), root:(53,93),
    state 0x10, keycode 91 (keysym 0xffae, KP_Decimal), same_screen YES,
    XLookupString gives 1 characters:  "."

The locale is sv_SE.UTF-8, and the same happens with just sv_SE.


> Looking at the unicode charts (especially the character name index
> 	http://www.unicode.org/charts/charindex.html
> ) I see that ASCII dot 0x2E has become Unicode 0x002E "Decimal Point"
> and ASCII comma 0x2C has become 0x002C "decimal separator".
> http://www.unicode.org/charts/PDF/U0000.pdf
> renders these in the English way, not the continental one you desire.

I doubt this has anything with Unicode to do -- the behavior is the same
regardless of if UTF-8 is being used or not.


Christian


_______________________________________________
I18n mailing list
I18n@XFree86.Org
http://XFree86.Org/mailman/listinfo/i18n
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic