CC-ing to Ivrix-discuss

On Sun, Jun 15, 2003 at 03:08:43PM +0200, Lina Kemmel wrote:
> > > However, I believe that Tzafrir Cohen, whos is subscribed to the
> > > linux.org.il mailing list, has a more advanced version that
> > > includes diacritics ("nikud").
> 
> > It is actually part of the standard XFree as of XFree 4.3 (the variants
> > lyx and si1453)
> 
> For those who don't have advanced versions of XFree, could you provide an
> URL link to xkb keymap with diacritics?

This is a copy of the layout of XFree 4.3, so it includes the parens
mirroring as well.

As I'm one of them:

copy the attached file to /usr/X11R6/lib/X11/xkb/symbols

(call it, say, il_new)

Option A:

Now run:

setxkbmap -variant lyx il_new

Alternatively, in your XF86Config, set XkbVariant as "lyx" and XkbLayout
to "il_new" (instead of "il".)

You get an "alternative Herew" layout instead of the capital English
letters. And in addition, shift-minus gives a proper hyphen. There are
also RLM and LRM.


Option B:

setxkbmap -variant si1452 il_new

However this will require some extra settings that I can't figure out
exactly: switching to shift level 3. For some reason I can't get this
working at the moment.

-- 
Tzafrir Cohen                       +---------------------------+
http://www.technion.ac.il/~tzafrir/ |vim is a mutt's best friend|
mailto:[EMAIL PROTECTED]       +---------------------------+
// based on a keyboard map from an 'xkb/symbols/il' file
//
// $XFree86: xc/programs/xkbcomp/symbols/pc/il,v 1.4 2003/01/20 03:23:18 dawes Exp $

partial default alphanumeric_keys 
xkb_symbols "basic" {

    // uses the kbd layout in use in Israel.

    name[Group2]= "Israelian";

    key <TLDE> {[],  [ semicolon,       asciitilde      ]       };

    key <AD01> {[],  [ slash,   Q               ]       };
    key <AD02> {[],  [ apostrophe,      W               ]       };
    key <AD03> {[],  [ hebrew_qoph,     E               ]       };
    key <AD04> {[],  [ hebrew_resh,     R               ]       };
    key <AD05> {[],  [ hebrew_aleph,T           ]       };
    key <AD06> {[],  [ hebrew_tet,      Y               ]       };
    key <AD07> {[],  [ hebrew_waw,      U               ]       };
    key <AD08> {[],  [ hebrew_finalnun, I       ]       };
    key <AD09> {[],  [ hebrew_finalmem, O       ]       };
    key <AD10> {[],  [ hebrew_pe,       P               ]       };

    key <AC01> {[],  [ hebrew_shin,     A               ]       };
    key <AC02> {[],  [ hebrew_dalet,S           ]       };
    key <AC03> {[],  [ hebrew_gimel,D           ]       };
    key <AC04> {[],  [ hebrew_kaph,     F               ]       };
    key <AC05> {[],  [ hebrew_ayin,     G               ]       };
    key <AC06> {[],  [ hebrew_yod,      H               ]       };
    key <AC07> {[],  [ hebrew_chet,     J               ]       };
    key <AC08> {[],  [ hebrew_lamed, K          ]       };
    key <AC09> {[],  [ hebrew_finalkaph,        L       ]       };
    key <AC10> {[],  [ hebrew_finalpe,  colon   ]       };
    key <AC11> {[],  [ comma,   quotedbl        ]       };

    key <AB01> {[],  [ hebrew_zain,     Z               ]       };
    key <AB02> {[],  [ hebrew_samech, X         ]       };
    key <AB03> {[],  [ hebrew_bet,      C               ]       };
    key <AB04> {[],  [ hebrew_he,       V               ]       };
    key <AB05> {[],  [ hebrew_nun,      B               ]       };
    key <AB06> {[],  [ hebrew_mem,      N               ]       };
    key <AB07> {[],  [ hebrew_zade,     M               ]       };
    // Mirrored:
    key <AB08> {[],  [ hebrew_taw,      greater         ]       };
    key <AB09> {[],  [ hebrew_finalzade,        less    ]       };
    key <AB10> {[],  [ period,  question        ]       };

    // Note the parens mirroring below:
    key <AD11> {[],  [ bracketright,    braceright      ]       };
    key <AD12> {[],  [ bracketleft,     braceleft       ]       };
    key <AE09> {[],  [ 9         ,      parenright      ]       };
    key <AE10> {[],  [ 0         ,      parenleft       ]       };
    key <BKSL> {[],  [ backslash,    bar             ]       };


    // The following may get overriden by the iso9995-3(basic101) symbols.
    // therefore they are included here. 
    // Including them isn't a great idea (for instance: what if group 1 uses
    // UK keyboard mapping, and maps shift-3 to sterling? This mapping won't
    // preserve that, and I'm not sure that this is a good feature.
    key <AE01> {[],     [         1,    exclam          ]       };
    key <AE02> {[],     [         2,    at              ]       };
    key <AE03> {[],     [         3,    numbersign      ]       };
    key <AE04> {[],     [         4,    dollar          ]       };
    key <AE05> {[],     [         5,    percent         ]       };
    key <AE06> {[],     [         6,    asciicircum     ]       };
    key <AE07> {[],     [         7,    ampersand       ]       };
    key <AE08> {[],     [         8,    asterisk        ]       };
    //key <AE09> {[],     [         9,    parenleft       ]       };
    //key <AE10> {[],     [         0,    parenright      ]       };
    key <AE11> {[],     [     minus,    underscore      ]       };
    key <AE12> {[],     [     equal,    plus            ]       };

    key <AD11> {[],     [ bracketleft,  braceleft       ]       };
    key <AD12> {[],     [ bracketright, braceright      ]       };

    key <BKSL> {[],     [ backslash,    bar             ]       };

};


// nikud patter based on Dekel Tsur's Hebrew mapping for LyX
partial alphanumeric_keys 
xkb_symbols "lyx" {
    name[Group2]= "Israelian";

    key <TLDE> {[],  [ semicolon,       asciitilde      ]       };
    // On some key (e.g. AD01, right below) there is not yet mapping for the
    // second shift level. Since I could not figure a simple way to map this
    // to "emit nothing", it is currently mapped to the same letter of the
    // first shift level (avoiding mapping may risk it be used by a character
    // from a different group).
    key <AD01> {[],  [ slash,   slash           ]       };
    key <AD02> {[],  [ apostrophe,      apostrophe      ]       };
    key <AD03> {[],  [ hebrew_qoph,     0x10005b8       ]       }; // Qamats
    key <AD04> {[],  [ hebrew_resh,     0x10005bc       ]       }; // Dagesh/Shuruq
    key <AD05> {[],  [ hebrew_aleph,    0x100200e       ]       }; // LRM
    key <AD06> {[],  [ hebrew_tet,      0x100200f       ]       }; // RLM
    key <AD07> {[],  [ hebrew_waw,      0x10005b9       ]       }; // Holam
    key <AD08> {[],  [ hebrew_finalnun,hebrew_finalnun]      };
    key <AD09> {[],  [ hebrew_finalmem,hebrew_finalmem]      };
    key <AD10> {[],  [ hebrew_pe,       0x10005b7       ]       }; // Patah

    key <AC01> {[],  [ hebrew_shin,     0x10005b0       ]       }; // Sheva
    key <AC02> {[],  [ hebrew_dalet,    0x10005bc       ]       }; // Dagesh/Shuruq
    key <AC03> {[],  [ hebrew_gimel,    hebrew_gimel    ]       };
    key <AC04> {[],  [ hebrew_kaph,     hebrew_kaph     ]       }; 
    key <AC05> {[],  [ hebrew_ayin,     0x10005c2       ]       }; // Sin dot
    key <AC06> {[],  [ hebrew_yod,      0x10005c1       ]       }; // Shin dot
    key <AC07> {[],  [ hebrew_chet,     0x10005b4       ]       }; // Hiriq
    key <AC08> {[],  [ hebrew_lamed, 0x10020aa  ]       }; // NIS
    key <AC09> {[],  [ hebrew_finalkaph,hebrew_finalkaph]    };
    key <AC10> {[],  [ hebrew_finalpe,  colon   ]       };
    key <AC11> {[],  [ comma,   quotedbl        ]       };

    key <AB01> {[],  [ hebrew_zain,     hebrew_zain     ]       };
    key <AB02> {[],  [ hebrew_samech,0x10005b6  ]       }; // Segol
    key <AB03> {[],  [ hebrew_bet,      0x10005bb       ]       }; // Qubuts
    key <AB04> {[],  [ hebrew_he,       0x10005b1       ]       }; // H. Segol
    key <AB05> {[],  [ hebrew_nun,      0x10005b2       ]       }; // H. Patah
    key <AB06> {[],  [ hebrew_mem,      0x10005b3       ]       }; // H.  Qamats
    key <AB07> {[],  [ hebrew_zade,     0x10005b5       ]       }; // Tsere
    key <AB08> {[],  [ hebrew_taw,      greater         ]       };
    key <AB09> {[],  [ hebrew_finalzade,        less    ]       };
    key <AB10> {[],  [ period,  question        ]       };

    // Note the parens mirroring below:
    key <AD11> {[],  [ bracketright,    braceright      ]       };
    key <AD12> {[],  [ bracketleft,     braceleft       ]       };
    key <AE09> {[],  [ 9         ,      parenright      ]       };
    key <AE10> {[],  [ 0         ,      parenleft       ]       };
    
    key <AE11> {[],  [     minus,       0x10005be       ]       }; // H. Hiphen
    
    // The following may get overriden by the iso9995-3(basic101) symbols.
    // therefore they are included here. 
    // Including them isn't a great idea (for instance: what if group 1 uses
    // UK keyboard mapping, and maps shift-3 to sterling? This mapping won't
    // preserve that, and I'm not sure that this is a good feature.
    key <AE01> {[],     [         1,    exclam          ]       };
    key <AE02> {[],     [         2,    at              ]       };
    key <AE03> {[],     [         3,    numbersign      ]       };
    key <AE04> {[],     [         4,    dollar          ]       };
    key <AE05> {[],     [         5,    percent         ]       };
    key <AE06> {[],     [         6,    asciicircum     ]       };
    key <AE07> {[],     [         7,    ampersand       ]       };
    key <AE08> {[],     [         8,    asterisk        ]       };
    //key <AE09> {[],     [         9,    parenleft       ]       };
    //key <AE10> {[],     [         0,    parenright      ]       };
    key <AE11> {[],     [     minus,    underscore      ]       };
    key <AE12> {[],     [     equal,    plus            ]       };

    key <AD11> {[],     [ bracketleft,  braceleft       ]       };
    key <AD12> {[],     [ bracketright, braceright      ]       };

    key <BKSL> {[],     [ backslash,    bar             ]       };
};



// This is a partial implemetation of the Israeli standard SI-1452
// It does not implement changes to the English layout ("Alt-English"), 
// as I believe that it is not the job of this layout to modify the English
// layout. 
partial alphanumeric_keys 
xkb_symbols "si1452" {
    name[Group2]= "Israelian";

    include "pc/il(basic)"
    
    key.type = "THREE_LEVEL";
    
    key <TLDE> { [ semicolon,   asciitilde,0x10005b0    ]}; // Sheva
    key <AB10> { [ period,      question,  0x10005c3    ]}; // Sof Pasuq
  
    // The following may get overriden by the iso9995-3(basic101) symbols.
    // therefore they are included here. 
    // Including them isn't a great idea (for instance: what if group 1 uses
    // UK keyboard mapping, and maps shift-3 to sterling? This mapping won't
    // preserve that, and I'm not sure that this is a good feature.
    key <AE01> { [     1, exclam      , 0x10005b1       ]}; // H. Segol
    key <AE02> { [     2, at          , 0x10005b2       ]}; // H. Patah
    key <AE03> { [     3, numbersign  , 0x10005b3       ]}; // H.  Qamats
    key <AE04> { [     4, dollar      , 0x10005b4       ]}; // Hiriq
    key <AE05> { [     5, percent     , 0x10005b5       ]}; // Tsere
    key <AE06> { [     6, asciicircum , 0x10005b6       ]}; // Segol
    key <AE07> { [     7, ampersand   , 0x10005b7       ]}; // Patah
    key <AE08> { [     8, asterisk    , 0x10005b8       ]}; // Qamats
    // Mirrored!: 
    key <AE09> { [     9, parenright   , 0x10005c2      ]}; // Sin dot
    key <AE10> { [     0, parenleft  , 0x10005c1        ]}; // Shin dot
    key <AE11> { [ minus, underscore  , 0x10005b9       ]}; // Holam
    key <AE12> { [ equal, plus        , 0x10005bc       ]}; // Dagesh/Shuruq
  
    // Mirrored!: 
    key <AD11> { [ bracketright, braceright, 0x10005bf  ]}; // Rafe
    key <AD12> { [ bracketleft,  braceleft,  0x10005bd  ]}; // Meteg
                                      
    key <BKSL> { [ backslash,    backslash,  0x10005bb  ]}; // Qubuts
};

לענות