On Thu, Sep 04, 2003 at 10:13:21AM -0400, David Holl wrote:
> First, is this the right forum for me to ask for assistance (hopefully
> only a small amount of guidance) with creating a Devanagari keymap for
> XFree86 4.3.0? I'm updating the Devanagari / Hindi keymap to support the
> multiple language/layout functionality in 4.3.0, and also including a few
> keys that were previously left out, but specified by INSCRIPT and Unicode
> for Devanagari/Hindi.
It's indeed the correct place.
> Second, is this approach "the right one"? -->
> I've abandoned the idea of using AltGr, and instead left the RALT
> and ISO_Level3_Shift stuff out of my symbol table in exchange for
> loading the map with -option "lv3:switch" -->
>
> setxkbmap -rules xfree86 -model pc104 -layout "us,dev" \
> -option "grp:shift_toggle" -option "lv3:switch" -variant ",extra"
This is where things are moving to; if I'm not mistaken, most
keymaps have been modified in the CVS to behave like this.
> Third, could someone review my attached Devanagari keyboard map, and tell
> me if I'm doing any of this properly?? :) I believe the symbol mappings
> are correct, so I'm just looking for "stylistic" / functionality advice.
> (but if you spot something wrong with the symbols, please tell me!)
Comments below. :^)
> // This is a Devanagari/Hindi keyboard layout for XFree86 4.3.0 with a
> // pc104/us keyboard.
> //
> // Change log:
> // David Holl <[EMAIL PROTECTED]>
> // . moved keys to Group1 out of Group2 for XFree86 4.3.0 friendliness
> // . added a few extra keys to match the Unicode and INSCRIPT definitions
> // (like ZWNJ & ZWJ)
> // . added example usage: setxkmap & XF86Config
> //
> // setxkbmap -rules xfree86 -model pc104 -layout "us,dev" \
> // -option "grp:shift_toggle" -option "lv3:switch" -variant ",extra"
>
> partial default alphanumeric_keys
> xkb_symbols "basic" {
> include "pc/dev(bare)"
> };
Err, why are you using separate definitions of "basic" and "bare"
that are exactly the same? The logical thing to do here is to move all
the definitions that are currently in "bare" to "basic", and simply
delete "bare". "extra" can than include "basic".
The only keymap that has such a separation is the greek one (I
should know, I maintain it), and there's a special reason for it (it
gives it the ability to follow other keymaps for non-letter keys). I
suspect you saw it from there...
> partial alphanumeric_keys
> xkb_symbols "extra" {
> include "pc/dev(bare)"
>
> key.type[Group1]="FOUR_LEVEL";
>
> // I want to be able to type \ / ? | for file names and piping...
> key <AB10> { [ U092f, U095f, slash, question ] };
> key <BKSL> { [ U0949, U0911, backslash, bar ] };
>
> // I also wanted to be able to type nifty circle glyph such as when
> // demo'ing the modifiers, vowels, combining characters, etc...
> // space, circle, ZWNJ, ZWJ:
> key <SPCE> { [ space, U25cc, U200c, U200d ] };
> };
Again, is there any reason to separate these from the rest? My guess
is that the definitions below are the "official" ones, and these ones
are extensions of yours. But if others might find them useful, it
might be worth merging them with the rest. And if not, it might not be
worth including them in the submitted file at all. ;^) But of course,
the choice is yours.
Reminds me to start merging el(extended) back to basic...
> hidden partial alphanumeric_keys
> xkb_symbols "bare" {
> name[Group1]="Devanagari";
>
> key.type[Group1]="FOUR_LEVEL";
>
> key <TLDE> { [ U094a, U0912, grave, asciitilde ] };
> key <AE01> { [ U0967, U090d, 1, exclam ] };
> key <AE02> { [ U0968, U0945, 2, at ] };
> //AE03-AE08 really need to return a macro of keys defined by INSCRIPT
> //in place of the NoSymbol's that are here for now.
> // How do I get XKB to let 1 key translate to pressing 2-3 other keys?
I don't think you can do that, unfortunately.
> key <AE03> { [ U0969, NoSymbol, 3, numbersign ] };
> key <AE04> { [ U096a, NoSymbol, 4, dollar ] };
> key <AE05> { [ U096b, NoSymbol, 5, percent ] };
> key <AE06> { [ U096c, NoSymbol, 6, asciicircum ] };
> key <AE07> { [ U096d, NoSymbol, 7, ampersand ] };
> key <AE08> { [ U096e, NoSymbol, 8, asterisk ] };
> key <AE09> { [ U096f, parenleft, 9, parenleft ] };
> key <AE10> { [ U0966, parenright, 0, parenright ] };
> //I'm debating between which of the two following lines is correct:
> // key <AE11> { [ U0903, U0903, minus, underscore ] };
> key <AE11> { [ NoSymbol, U0903, minus, underscore ] };
Probably the first one, unless you *really* want this key to do
nothing at all when pressed by itself.
> key <AE12> { [ U0943, U090b, U0944, U0960 ] };
>
> key <AD01> { [ U094c, U0914 ] };
> key <AD02> { [ U0948, U0910 ] };
> key <AD03> { [ U093e, U0906 ] };
> key <AD04> { [ U0940, U0908, U0963, U0961 ] };
> key <AD05> { [ U0942, U090a ] };
> key <AD06> { [ U092c, U092d ] };
> key <AD07> { [ U0939, U0919 ] };
> key <AD08> { [ U0917, U0918, U095a ] };
> key <AD09> { [ U0926, U0927 ] };
> key <AD10> { [ U091c, U091d, U095b ] };
> key <AD11> { [ U0921, U0922, U095c, U095d ] };
> key <AD12> { [ U093c, U091e ] };
> key <BKSL> { [ U0949, U0911 ] };
>
> key <AC01> { [ U094b, U0913 ] };
> key <AC02> { [ U0947, U090f ] };
> key <AC03> { [ U094d, U0905 ] };
> key <AC04> { [ U093f, U0907, U0962, U090c ] };
> key <AC05> { [ U0941, U0909 ] };
> key <AC06> { [ U092a, U092b, NoSymbol, U095e ] };
> key <AC07> { [ U0930, U0931 ] };
> key <AC08> { [ U0915, U0916, U0958, U0959 ] };
> key <AC09> { [ U0924, U0925 ] };
> key <AC10> { [ U091a, U091b, U0952 ] };
> key <AC11> { [ U091f, U0920, NoSymbol, U0951 ] };
>
> key <AB01> { [ U0946, U090e, U0953 ] };
> key <AB02> { [ U0902, U0901, NoSymbol, U0950 ] };
> key <AB03> { [ U092e, U0923, U0954 ] };
> key <AB04> { [ U0928, U0929 ] };
> key <AB05> { [ U0935, U0934 ] };
> key <AB06> { [ U0932, U0933 ] };
> key <AB07> { [ U0938, U0936 ] };
> key <AB08> { [ comma, U0937, U0970 ] };
> key <AB09> { [ period, U0964, U0965, U093d ] };
> key <AB10> { [ U092f, U095f ] };
> };
--
Vasilis Vasaitis
[EMAIL PROTECTED]
+306976604701
_______________________________________________
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n