четвртак, 14. август 2003. 04:32:57 CEST — Frank Murphy написа:
>
> Sorry, I meant shift levels. my proposed us-ascii would have just
>
> key <AE01> { [ 1, exclam ] };
>
> not
>
> key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
>
I'd go for:
key <AE01> { [ 1, exclam, any, any ] };
(I'm not sure if your idea would work like this -- if it would,
then this is unneccessary burden).
>
> > (Btw, "basic" in "pc/us" is practically "us", eg. just calling
> > "setxkbmap -layout us" will set the "pc/us(basic)" map).
>
> Wouldn't `setxkbmap -layout us` set the "us(basic)" map and
> `setxkbmap -layout pc/us` set the pc/us(basic) map?
>
AFAIK, not on the XFree86 4.3.0, eg.:
$ setxkbmap -layout us -print
xkb_keymap {
xkb_keycodes { include "xfree86+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc/pc(pc105)+pc/us+group(shift_toggle)"
};
xkb_geometry { include "pc(pc105)" };
};
>
> Using a German keymap doesn't prohibit you from typing in English.
> However, if you own a keyboard made for Switzerland, but you set
> the keymap to be German (the dominant language here), you won't be
> able to type the characters on your keyboard -- like finding
> the @. Besides novices won't be setting this, the administrator will.
>
The thing I wanted to point out that if someone was offered with a
choice that read "Germany" (implying a country name) instead of
"German",
it'll be easy to mistake it for "enter your current location".
It's a sort of "Great Britain" for the english layout -- would you ever
look for that if you needed english layout?
OTOH, when it says "German" there are no doubts, even if you're right
now sitting in a hotel in Germany wishing to type in English ;-)
>
> > So, I cannot see any advantage to the naming scheme you seem to be
> > proposing, yet there are many disadvantages.
>
> I agree. I think there are two ways of looking at this, but there are
> three
> types of keymap files: national (based on ISO 3166 country codes),
> linguistic (ISO 639 language codes) , and random.
>
> Looking just in the pc/ directory, I see the following breakdown:
>
> National:
> al (Albania) am (Armenia) be (Belgium) bg (Bulgaria) br (Brazil) by
> (Belorussia) cz cz_qwerty (Czech Republic) de (Germany) dk (Denmark)
> ee (Estonia) el (Greece) es (Spain) fi (Finland) fo (Faroe Islands) fr
> fr-latin9 (France) gb (Britain) ge_la ge_ru (Georgia) hr (Croatia)
> ie (Ireland) il il_phonetic (Israel) ir (Iran) is (Iceland) it (Italy)
> lo (Laos) lt (Lithuania) lv (Latvia) mk (Macedonia) ml (Malaysia) mm
(Burma)
> mt mt_us (Malta) nl (The Netherlands) no (Norway) pl pl2 (Poland) pt
> (Portugal) ro (Romania) ru (Russia) se (Sweden) si (Slovenia) sk
sk_qwerty
> (slovakia) sr (Serbia) th th_pat th_tis (Thailand) tj (Turkmenistan)
tr
> (Turkish) ua (Ukraine) us (United States) uz (Uzbekistan) yu
(Yugoslavia)
>
Actually, many of these are the same for language and nation name,
thereby, this category would shrink very much. Besides, some would even
go to only lingustic (like "sr" for Serbian, because "Serbia" is a part
of
larger country "Serbia and Montenegro" with ISO 3166 codes of "CS" and
"SCG").
The others, like "de", "es", "fi", "fr", "hr", "it", "mk", "nl", "no",
"pt",
"ro", "ru", "sk", "th", "tr" apply to *both* language and country
(actually,
these are the ones I know about; there are probably others).
> Linguistic: ar(abic), ben(gali), hi(ndi), guj(arati), gur(mukhi),
> iu(inuktitut), kan(nada), ogham, ori(ya), sami, telugu, tamil
>
Perhaps, if we'd add the ones above, this list would be much longer ;-)
> Random: dvorak en_US la latin pc
>
>
> So it seems that a good compromise would be to recomment the ones of
> the national type to reflect the name of the country (in English), and
> to leave the ones of the lingustic type to refect the name of the
> language (in English). Does that address your concerns?
>
I see your point and it makes sense. Though, I'd go for an international
standard, because they've already invested time into avoiding
collisions.
For the sake of difference, I would recommend the following:
- National keymaps should use ISO 3166 code in all UPPERCASE (eg. "US")
- Linguistic keymaps should use ISO 639 code in all lowercase (eg. "en")
This would allow one to have "de" which could apply to all the
countries where German is used (eg. "de(DE)") and also a "DE" which
would only apply to Germany. In your example, "CA" (if that's the code
for
Canada) would have "CA(en)", "CA(fr)", while "fr" would have "fr(CA)",
"fr(FR)",... It's up to the implementor to choose and see where to put
the actual definitions, and where to simply include them from the other.
Of course, this would cause *major* breakage for old applications which
rely on one layout being there with a specific name.
And just as a sidenote, this wouldn't prohibit any other variations. It
would just be unwise and unrecommended to use two-letter codes for
naming
xkb_symbols sections in these kind of maps.
> For the random ones, dvorak will have to stay, and both latin and pc
> are kind of include files (though it there ever comes a country or
> language with ISO code pc ...) The two that I'm worried about are
> en_US (which looks like a locale for no good reason) and la (which
> stands for Latin America, but la is the country code for Laos, which
> has taken lo instead).
Just like the names of xkb_symbols sections, anything that doesn't
follow a pattern of "two-letter" code (perhaps it could be extended
to "three-letter" code of ISO 639-2 to accomodate more languages), is
to be considered "random" in your qualification.
>
> So, any ideas for what the Latin America keymap should be called?
> latin_america comes to mind. :)
>
Perhaps "latin(america)" :-)
> But for en_US, I'd like to integrate it into the us file and make
> en_US just include us(latin1). I'd like to make these changes and send
> patches to someone with access. Is anyone here willing to check them
in?
>
I don't think Ivan will have a problem with that -- from the users'
point
of view, there's no change.
Though, for my proposition, there should probably be a new "namespace"
appointed (like "pc/" was introduced in XFree86 4.3).
>
> I'd like to do this, too. Do you know how to map multipe symbols to
> one key code and how to make it usable? (Perhaps adding an XkbOption?)
>
Look at the "alias" keyword in keycodes section (eg. check the current
/etc/X11/xkb/keycodes/aliases). The following in the
/etc/X11/xkb/keycodes/xfree86 file did it for me:
// Microsoft keyboard extra keys
<LLGO> = 115;
<RLGO> = 116;
alias <LWIN> = <LLGO>;
alias <RWIN> = <RLGO>;
Cheers,
Danilo
_______________________________________________
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n