From 47b21dcaa111a59f33cda22431e25e648e4953a9 Mon Sep 17 00:00:00 2001 From: Shai Berger Date: Thu, 19 Dec 2013 21:51:15 +0200 Subject: [PATCH] Implemented the new Israeli Standard SI1452 for the il basic layout See also bug: https://bugs.freedesktop.org/show_bug.cgi?id=70887 --- symbols/il | 120 ++++++++++++++++++++++++++++++------------------------------- 1 file changed, 58 insertions(+), 62 deletions(-) diff --git a/symbols/il b/symbols/il index a1f615c..24028a8 100644 --- a/symbols/il +++ b/symbols/il @@ -1,78 +1,74 @@ // based on a keyboard map from an 'xkb/symbols/il' file -// 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. +// This is an implemetation of the Israeli standard SI-1452 (2013) +// It does not implement changes to the English layout, as that part +// of the standard is not normative nor really useful in the context +// of xkb. +// This implementation extends the standard with Yiddish digraphs +// (a common extension) and Nun Hafukha (a fun character). + default partial alphanumeric_keys xkb_symbols "basic" { // uses the kbd layout in use in Israel. name[Group1]= "Hebrew"; + key.type[Group1] = "FOUR_LEVEL_SEMIALPHABETIC"; - key { [ slash, Q ] }; - key { [ apostrophe, W ] }; - key { [ hebrew_resh, R ] }; - key { [ hebrew_aleph,T ] }; - key { [ hebrew_tet, Y ] }; - key { [ hebrew_waw, U ] }; - key { [ hebrew_finalnun, I ] }; - key { [ hebrew_finalmem, O ] }; - key { [ hebrew_pe, P ] }; + key { [ hebrew_zain, Z ] }; + key { [ hebrew_samech, X, U05B6 ] }; // Segol + key { [ hebrew_bet, C, U05B1 ] }; // Hataf Segol + key { [ hebrew_he, V ] }; + key { [ hebrew_nun, B, NoSymbol, U05C6 ]}; // Nun Hafukha + key { [ hebrew_mem, N ] }; + key { [ hebrew_zade, M, U05B5 ] }; // Tsere + key { [ hebrew_taw, greater, rightsinglequotemark ]}; // greater Mirrored + key { [ hebrew_finalzade, less, singlelowquotemark ]}; // less Mirrored - key { [ hebrew_dalet,S ] }; + key { [ hebrew_shin, A, U05B0 ] }; // Shva + key { [ hebrew_dalet,S, U05BC ] }; // Dagesh key { [ hebrew_gimel,D ] }; key { [ hebrew_kaph, F ] }; - key { [ hebrew_ayin, G ] }; - key { [ hebrew_yod, H ] }; - key { [ hebrew_chet, J ] }; + key { [ hebrew_ayin, G, U05F1 ] }; // Yiddish Vav Yod + key { [ hebrew_yod, H, U05F2 ] }; // Yiddish Double Yod + key { [ hebrew_chet, J, U05B4 ] }; // Hiriq key { [ hebrew_lamed, K ] }; - key { [ hebrew_finalkaph, L ] }; - key { [ hebrew_finalpe, colon ] }; - key { [ comma, quotedbl ] }; + key { [ hebrew_finalkaph, L, rightdoublequotemark ]}; + key { [ hebrew_finalpe, colon, doublelowquotemark ]}; - key { [ hebrew_zain, Z ] }; - key { [ hebrew_samech, X ] }; - key { [ hebrew_bet, C ] }; - key { [ hebrew_he, V ] }; - key { [ hebrew_nun, B ] }; - key { [ hebrew_mem, N ] }; - key { [ hebrew_zade, M ] }; - // Mirrored: - key { [ hebrew_taw, greater ] }; - key { [ hebrew_finalzade, less ] }; - - key.type[Group1] = "THREE_LEVEL"; - - key { [ semicolon, asciitilde,0x10005b0 ]}; // Sheva - key { [ period, question, 0x10005c3 ]}; // Sof Pasuq - key { [ hebrew_qoph, E, EuroSign ]}; - key { [ hebrew_shin, A, 0x10020AA ]}; - - // 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 { [ 1, exclam , 0x10005b1 ]}; // H. Segol - key { [ 2, at , 0x10005b2 ]}; // H. Patah - key { [ 3, numbersign , 0x10005b3 ]}; // H. Qamats - key { [ 4, dollar , 0x10005b4 ]}; // Hiriq - key { [ 5, percent , 0x10005b5 ]}; // Tsere - key { [ 6, asciicircum , 0x10005b6 ]}; // Segol - key { [ 7, ampersand , 0x10005b7 ]}; // Patah - key { [ 8, asterisk , 0x10005b8 ]}; // Qamats - // Mirrored: - key { [ 9, parenright , 0x10005c2 ]}; // Sin dot - key { [ 0, parenleft , 0x10005c1 ]}; // Shin dot - key { [ minus, underscore , 0x10005b9 ]}; // Holam - key { [ equal, plus , 0x10005bc ]}; // Dagesh/Shuruq - - // Mirrored: - key { [ bracketright, braceright, 0x10005bf ]}; // Rafe - key { [ bracketleft, braceleft, 0x10005bd ]}; // Meteg - - key { [ backslash, bar, 0x10005bb ]}; // Qubuts + key { [ slash, Q, U05C2 ] }; // Sin Dot + key { [ apostrophe, W, U05C1 ] }; // Shin Dot + key { [ hebrew_qoph, E, U05B8 ] }; // Qamats + key { [ hebrew_resh, R, U05B3 ] }; // Hataf Qamats + key { [ hebrew_aleph,T ] }; + key { [ hebrew_tet, Y, U05F0 ] }; // Yiddish Double Vav + key { [ hebrew_waw, U, U05B9 ] }; // Holam + key { [ hebrew_finalnun, I ] }; + key { [ hebrew_finalmem, O ] }; + key { [ hebrew_pe, P, U05B7 ] }; // Patah + + key.type[Group1] = "FOUR_LEVEL"; + + // Non-alphanumeric keys + key { [ period, question, division ]}; + key { [ comma, quotedbl, U05F4] }; // Gershayim + key { [ bracketright, braceright, U05B2 ]}; // Mirrored; Hataf Patah + key { [ bracketleft, braceleft, U05BF ]}; // Mirrored; Rafe + key { [ backslash, bar, U05BB ] }; // Qubuts + + // Top (digits) row + key { [ semicolon, asciitilde, U05F3 ]}; // Geresh + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign, EuroSign ]}; + key { [ 4, dollar, NewSheqelSign ]}; + key { [ 5, percent, degree ]}; + key { [ 6, asciicircum, U05AB ]}; // Hebrew Accent Ole + key { [ 7, ampersand, U05BD ]}; // Meteg + key { [ 8, asterisk, multiply]}; + key { [ 9, parenright, U200E ]}; // LRM; Paren Mirrored + key { [ 0, parenleft, U200F ]}; // RLM; Paren Mirrored + key { [ minus, underscore, U05BE ]}; // Maqaf + key { [ equal, plus, endash ]}; include "level3(ralt_switch)" }; -- 1.8.5.2