il revision bfd7cbc1
1// based on a keyboard map from an 'xkb/symbols/il' file 2 3// This is a partial implemetation of the Israeli standard SI-1452 4// It does not implement changes to the English layout ("Alt-English"), 5// as I believe that it is not the job of this layout to modify the English 6// layout. 7partial default alphanumeric_keys 8xkb_symbols "basic" { 9 // uses the kbd layout in use in Israel. 10 11 name[Group1]= "Hebrew"; 12 13 key <AD01> { [ slash, Q ] }; 14 key <AD02> { [ apostrophe, W ] }; 15 key <AD04> { [ hebrew_resh, R ] }; 16 key <AD05> { [ hebrew_aleph,T ] }; 17 key <AD06> { [ hebrew_tet, Y ] }; 18 key <AD07> { [ hebrew_waw, U ] }; 19 key <AD08> { [ hebrew_finalnun, I ] }; 20 key <AD09> { [ hebrew_finalmem, O ] }; 21 key <AD10> { [ hebrew_pe, P ] }; 22 23 key <AC02> { [ hebrew_dalet,S ] }; 24 key <AC03> { [ hebrew_gimel,D ] }; 25 key <AC04> { [ hebrew_kaph, F ] }; 26 key <AC05> { [ hebrew_ayin, G ] }; 27 key <AC06> { [ hebrew_yod, H ] }; 28 key <AC07> { [ hebrew_chet, J ] }; 29 key <AC08> { [ hebrew_lamed, K ] }; 30 key <AC09> { [ hebrew_finalkaph, L ] }; 31 key <AC10> { [ hebrew_finalpe, colon ] }; 32 key <AC11> { [ comma, quotedbl ] }; 33 34 key <AB01> { [ hebrew_zain, Z ] }; 35 key <AB02> { [ hebrew_samech, X ] }; 36 key <AB03> { [ hebrew_bet, C ] }; 37 key <AB04> { [ hebrew_he, V ] }; 38 key <AB05> { [ hebrew_nun, B ] }; 39 key <AB06> { [ hebrew_mem, N ] }; 40 key <AB07> { [ hebrew_zade, M ] }; 41 // Mirrored: 42 key <AB08> { [ hebrew_taw, greater ] }; 43 key <AB09> { [ hebrew_finalzade, less ] }; 44 45 key.type[Group1] = "THREE_LEVEL"; 46 47 key <TLDE> { [ semicolon, asciitilde,0x10005b0 ]}; // Sheva 48 key <AB10> { [ period, question, 0x10005c3 ]}; // Sof Pasuq 49 key <AD03> { [ hebrew_qoph, E, EuroSign ]}; 50 key <AC01> { [ hebrew_shin, A, 0x10020AA ]}; 51 52 // The following may get overriden by the iso9995-3(basic101) symbols. 53 // therefore they are included here. 54 // Including them isn't a great idea (for instance: what if group 1 uses 55 // UK keyboard mapping, and maps shift-3 to sterling? This mapping won't 56 // preserve that, and I'm not sure that this is a good feature. 57 key <AE01> { [ 1, exclam , 0x10005b1 ]}; // H. Segol 58 key <AE02> { [ 2, at , 0x10005b2 ]}; // H. Patah 59 key <AE03> { [ 3, numbersign , 0x10005b3 ]}; // H. Qamats 60 key <AE04> { [ 4, dollar , 0x10005b4 ]}; // Hiriq 61 key <AE05> { [ 5, percent , 0x10005b5 ]}; // Tsere 62 key <AE06> { [ 6, asciicircum , 0x10005b6 ]}; // Segol 63 key <AE07> { [ 7, ampersand , 0x10005b7 ]}; // Patah 64 key <AE08> { [ 8, asterisk , 0x10005b8 ]}; // Qamats 65 // Mirrored: 66 key <AE09> { [ 9, parenright , 0x10005c2 ]}; // Sin dot 67 key <AE10> { [ 0, parenleft , 0x10005c1 ]}; // Shin dot 68 key <AE11> { [ minus, underscore , 0x10005b9 ]}; // Holam 69 key <AE12> { [ equal, plus , 0x10005bc ]}; // Dagesh/Shuruq 70 71 // Mirrored: 72 key <AD11> { [ bracketright, braceright, 0x10005bf ]}; // Rafe 73 key <AD12> { [ bracketleft, braceleft, 0x10005bd ]}; // Meteg 74 75 key <BKSL> { [ backslash, bar, 0x10005bb ]}; // Qubuts 76 77 include "level3(ralt_switch)" 78}; 79 80 81// nikud patter based on Dekel Tsur's Hebrew mapping for LyX 82partial alphanumeric_keys 83xkb_symbols "lyx" { 84 name[Group1]= "Hebrew (lyx)"; 85 86 key <TLDE> { [ semicolon, asciitilde ] }; 87 // On some key (e.g. AD01, right below) there is not yet mapping for the 88 // second shift level. Since I could not figure a simple way to map this 89 // to "emit nothing", it is currently mapped to the same letter of the 90 // first shift level (avoiding mapping may risk it be used by a character 91 // from a different group). 92 key <AD01> { [ slash, slash ] }; 93 key <AD02> { [ apostrophe, apostrophe ] }; 94 key <AD03> { [ hebrew_qoph, 0x10005b8 ] }; // Qamats 95 key <AD04> { [ hebrew_resh, 0x10005bc ] }; // Dagesh/Shuruq 96 key <AD05> { [ hebrew_aleph, 0x100200e ] }; // LRM 97 key <AD06> { [ hebrew_tet, 0x100200f ] }; // RLM 98 key <AD07> { [ hebrew_waw, 0x10005b9 ] }; // Holam 99 key <AD08> { [ hebrew_finalnun,hebrew_finalnun] }; 100 key <AD09> { [ hebrew_finalmem,hebrew_finalmem] }; 101 key <AD10> { [ hebrew_pe, 0x10005b7 ] }; // Patah 102 103 key <AC01> { [ hebrew_shin, 0x10005b0 ] }; // Sheva 104 key <AC02> { [ hebrew_dalet, 0x10005bc ] }; // Dagesh/Shuruq 105 key <AC03> { [ hebrew_gimel, hebrew_gimel ] }; 106 key <AC04> { [ hebrew_kaph, hebrew_kaph ] }; 107 key <AC05> { [ hebrew_ayin, 0x10005c2 ] }; // Sin dot 108 key <AC06> { [ hebrew_yod, 0x10005c1 ] }; // Shin dot 109 key <AC07> { [ hebrew_chet, 0x10005b4 ] }; // Hiriq 110 key <AC08> { [ hebrew_lamed, 0x10020aa ] }; // NIS 111 key <AC09> { [ hebrew_finalkaph,hebrew_finalkaph] }; 112 key <AC10> { [ hebrew_finalpe, colon ] }; 113 key <AC11> { [ comma, quotedbl ] }; 114 115 key <AB01> { [ hebrew_zain, hebrew_zain ] }; 116 key <AB02> { [ hebrew_samech,0x10005b6 ] }; // Segol 117 key <AB03> { [ hebrew_bet, 0x10005bb ] }; // Qubuts 118 key <AB04> { [ hebrew_he, 0x10005b1 ] }; // H. Segol 119 key <AB05> { [ hebrew_nun, 0x10005b2 ] }; // H. Patah 120 key <AB06> { [ hebrew_mem, 0x10005b3 ] }; // H. Qamats 121 key <AB07> { [ hebrew_zade, 0x10005b5 ] }; // Tsere 122 key <AB08> { [ hebrew_taw, greater ] }; 123 key <AB09> { [ hebrew_finalzade, less ] }; 124 key <AB10> { [ period, question ] }; 125 126 // Note the parens mirroring below: 127 key <AD11> { [ bracketright, braceright ] }; 128 key <AD12> { [ bracketleft, braceleft ] }; 129 key <AE09> { [ 9 , parenright ] }; 130 key <AE10> { [ 0 , parenleft ] }; 131 132 key <AE11> { [ minus , 0x10005be ] }; // H. Hiphen 133 key <AE12> { [ equal , plus ] }; 134}; 135 136 137partial alphanumeric_keys 138xkb_symbols "phonetic" { 139 140 // uses the phonetic layout from old Slackware 'il.map' file 141 142 name[Group1]= "Hebrew (phonetic)"; 143 144 key <AE12> { [ equal, plus, hebrew_doublelowline, hebrew_doublelowline ]}; 145 146 key <LatQ> { [ hebrew_qoph, hebrew_qoph ] }; 147 key <LatW> { [ hebrew_waw, hebrew_waw ] }; 148 key <LatE> { [ hebrew_aleph, hebrew_aleph ] }; 149 key <LatR> { [ hebrew_resh, hebrew_resh ] }; 150 key <LatT> { [ hebrew_taw, hebrew_tet ] }; 151 key <LatY> { [ hebrew_ayin, hebrew_ayin ] }; 152 key <LatU> { [ hebrew_waw, hebrew_waw ] }; 153 key <LatI> { [ hebrew_yod, hebrew_yod ] }; 154 key <LatO> { [ hebrew_samech, hebrew_samech ] }; 155 key <LatP> { [ hebrew_pe, hebrew_finalpe ] }; 156 157 key <LatA> { [ hebrew_aleph, hebrew_aleph ] }; 158 key <LatS> { [ hebrew_shin, hebrew_shin ] }; 159 key <LatD> { [ hebrew_dalet, hebrew_dalet ] }; 160 key <LatF> { [ hebrew_pe, hebrew_finalpe ] }; 161 key <LatG> { [ hebrew_gimel, hebrew_gimel ] }; 162 key <LatH> { [ hebrew_he, hebrew_he ] }; 163 key <LatJ> { [ hebrew_yod, hebrew_yod ] }; 164 key <LatK> { [ hebrew_kaph, hebrew_finalkaph ] }; 165 key <LatL> { [ hebrew_lamed, hebrew_lamed ] }; 166 167 key <LatZ> { [ hebrew_zain, hebrew_zain ] }; 168 key <LatX> { [ hebrew_chet, hebrew_chet ] }; 169 key <LatC> { [ hebrew_zade, hebrew_finalzade ] }; 170 key <LatV> { [ hebrew_waw, hebrew_waw ] }; 171 key <LatB> { [ hebrew_bet, hebrew_bet ] }; 172 key <LatN> { [ hebrew_nun, hebrew_finalnun ] }; 173 key <LatM> { [ hebrew_mem, hebrew_finalmem ] }; 174}; 175 176// The 'Biblical Hebrew' keyboard layout as defined by Tiro for use with the 177// 'SBL Hebrew' font was added 2006.11.13 by Sebastian J. Bronner 178// <waschtl@sbronner.com>. Its primary features (as compared to the lyx layout) 179// are that the consonants are in the Israeli standard positions, that a great 180// multitude of glyphs can be input directly from the keyboard, and that it is 181// the closest thing to a standard layout a theologian can hope for. 182// Documentation (including printable keyboard tables), SBL Hebrew font, and 183// keyboard layout for Windows are available at 184// http://www.sbl-site.org/Resources/Resources_BiblicalFonts.aspx. 185// 186// It is of interest that the 'basic' layout defined first in this file (as 187// ships with x.org disagrees in the non-consonant characters that the Tiro- 188// layout claims to be the Israeli standard. Tiros apparent diligence in the 189// PDF-documentation accompanying the keyboard-layout-files lead me to put 190// greater stock in their claim than in this file. Therefore, the 'biblical' 191// layout below does not include 'il(basic)' but redoes the _whole_ thing from 192// scratch. 193 194partial alphanumeric_keys 195xkb_symbols "biblical" { 196 name[Group1]= "Hebrew (Biblical, Tiro)"; 197 key.type = "FOUR_LEVEL_SEMIALPHABETIC"; 198 199 key <TLDE> { [ U05C3, U05AE, semicolon, asciitilde ] }; 200 key <AE01> { [ 1, U05A9, VoidSymbol, exclam ] }; 201 key <AE02> { [ 2, U0599, VoidSymbol, at ] }; 202 key <AE03> { [ 3, U0592, VoidSymbol, numbersign ] }; 203 key <AE04> { [ 4, U05AF, NewSheqelSign, dollar ] }; 204 key <AE05> { [ 5, VoidSymbol, U200D, percent ] }; 205 key <AE06> { [ 6, U05B9, U200C, asciicircum ] }; 206 key <AE07> { [ 7, U05BF, U034F, ampersand ] }; 207 key <AE08> { [ 8, U05C2, U200E, asterisk ] }; 208 key <AE09> { [ 9, U05C1, U200F, parenright ] }; 209 key <AE10> { [ 0, U059D, U25CC, parenleft ] }; 210 key <AE11> { [ U05BE, U05A0, minus, underscore ] }; 211 key <AE12> { [ equal, U05BC, VoidSymbol, plus ] }; 212 213 key <AD01> { [ U0307, U05C4, U0308, slash ] }; 214 key <AD02> { [ U05F3, U05AC, U05F4, apostrophe ] }; 215 key <AD03> { [ hebrew_qoph, U05AB, U20AC ] }; 216 key <AD04> { [ hebrew_resh, U059F ] }; 217 key <AD05> { [ hebrew_aleph, U0593 ] }; 218 key <AD06> { [ hebrew_tet, U059E ] }; 219 key <AD07> { [ hebrew_waw, U059C, U05F0 ] }; 220 key <AD08> { [ hebrew_finalnun, U05A1 ] }; 221 key <AD09> { [ hebrew_finalmem, U0595 ] }; 222 key <AD10> { [ hebrew_pe, U0594 ] }; 223 key <AD11> { [ bracketright, U0597, VoidSymbol, braceright ] }; 224 key <AD12> { [ bracketleft, U0598, VoidSymbol, braceleft ] }; 225 key <BKSL> { [ U05C0, U05A8, backslash, bar ] }; 226 227 key <AC01> { [ hebrew_shin, U05BD ] }; 228 key <AC02> { [ hebrew_dalet, U05B0 ] }; 229 key <AC03> { [ hebrew_gimel, U05BB ] }; 230 key <AC04> { [ hebrew_kaph, U05B4 ] }; 231 key <AC05> { [ hebrew_ayin, U05B1 ] }; 232 key <AC06> { [ hebrew_yod, U05B6, U05F2 ] }; 233 key <AC07> { [ hebrew_chet, U05B5, U05F1 ] }; 234 key <AC08> { [ hebrew_lamed, U05B3 ] }; 235 key <AC09> { [ hebrew_finalkaph, U05B8, U05C7 ] }; 236 key <AC10> { [ hebrew_finalpe, U05B2, VoidSymbol, colon ] }; 237 key <AC11> { [ U059a, U05B7, comma, quotedbl ] }; 238 239 key <AB01> { [ hebrew_zain, U05C5 ] }; 240 key <AB02> { [ hebrew_samech, U05A4 ] }; 241 key <AB03> { [ hebrew_bet, U05AA, U05A2 ] }; 242 key <AB04> { [ hebrew_he, U05A6 ] }; 243 key <AB05> { [ hebrew_nun, U05A5, U05C6 ] }; 244 key <AB06> { [ hebrew_mem, U05A7 ] }; 245 key <AB07> { [ hebrew_zade, U059B ] }; 246 key <AB08> { [ hebrew_taw, U0591, VoidSymbol, greater ] }; 247 key <AB09> { [ hebrew_finalzade, U0596, VoidSymbol, less ] }; 248 key <AB10> { [ U05AD, U05A3, period, question ] }; 249 250 key <SPCE> { [ space, space, thinspace, nobreakspace ] }; 251}; 252