1 // based on a keyboard map from an 'xkb/symbols/il' file
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
7 partial default alphanumeric_keys
9 // uses the kbd layout in use in Israel.
11 name[Group1]= "Hebrew";
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 ] };
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 ] };
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 ] };
42 key <AB08> { [ hebrew_taw, greater ] };
43 key <AB09> { [ hebrew_finalzade, less ] };
45 key.type[Group1] = "THREE_LEVEL";
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 ]};
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
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
72 key <AD11> { [ bracketright, braceright, 0x10005bf ]}; // Rafe
73 key <AD12> { [ bracketleft, braceleft, 0x10005bd ]}; // Meteg
75 key <BKSL> { [ backslash, bar, 0x10005bb ]}; // Qubuts
77 include "level3(ralt_switch)"
81 // nikud patter based on Dekel Tsur's Hebrew mapping for LyX
82 partial alphanumeric_keys
84 name[Group1]= "Hebrew (lyx)";
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
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 ] };
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 ] };
126 // Note the parens mirroring below:
127 key <AD11> { [ bracketright, braceright ] };
128 key <AD12> { [ bracketleft, braceleft ] };
129 key <AE01> { [ 1, exclam ]};
130 key <AE02> { [ 2, at ]};
131 key <AE03> { [ 3, numbersign ]};
132 key <AE04> { [ 4, dollar ]};
133 key <AE05> { [ 5, percent ]};
134 key <AE06> { [ 6, asciicircum ]};
135 key <AE07> { [ 7, ampersand ]};
136 key <AE08> { [ 8, asterisk ]};
137 key <AE09> { [ 9, parenright ]};
138 key <AE10> { [ 0, parenleft ]};
140 key <AE11> { [ minus , 0x10005be ] }; // H. Hiphen
141 key <AE12> { [ equal , plus ] };
145 partial alphanumeric_keys
146 xkb_symbols "phonetic" {
148 // uses the phonetic layout from old Slackware 'il.map' file
150 name[Group1]= "Hebrew (phonetic)";
152 key <AE12> { [ equal, plus, hebrew_doublelowline, hebrew_doublelowline ]};
154 key <LatQ> { [ hebrew_qoph, hebrew_qoph ] };
155 key <LatW> { [ hebrew_waw, hebrew_waw ] };
156 key <LatE> { [ hebrew_aleph, hebrew_aleph ] };
157 key <LatR> { [ hebrew_resh, hebrew_resh ] };
158 key <LatT> { [ hebrew_taw, hebrew_tet ] };
159 key <LatY> { [ hebrew_ayin, hebrew_ayin ] };
160 key <LatU> { [ hebrew_waw, hebrew_waw ] };
161 key <LatI> { [ hebrew_yod, hebrew_yod ] };
162 key <LatO> { [ hebrew_samech, hebrew_samech ] };
163 key <LatP> { [ hebrew_pe, hebrew_finalpe ] };
165 key <LatA> { [ hebrew_aleph, hebrew_aleph ] };
166 key <LatS> { [ hebrew_shin, hebrew_shin ] };
167 key <LatD> { [ hebrew_dalet, hebrew_dalet ] };
168 key <LatF> { [ hebrew_pe, hebrew_finalpe ] };
169 key <LatG> { [ hebrew_gimel, hebrew_gimel ] };
170 key <LatH> { [ hebrew_he, hebrew_he ] };
171 key <LatJ> { [ hebrew_yod, hebrew_yod ] };
172 key <LatK> { [ hebrew_kaph, hebrew_finalkaph ] };
173 key <LatL> { [ hebrew_lamed, hebrew_lamed ] };
175 key <LatZ> { [ hebrew_zain, hebrew_zain ] };
176 key <LatX> { [ hebrew_chet, hebrew_chet ] };
177 key <LatC> { [ hebrew_zade, hebrew_finalzade ] };
178 key <LatV> { [ hebrew_waw, hebrew_waw ] };
179 key <LatB> { [ hebrew_bet, hebrew_bet ] };
180 key <LatN> { [ hebrew_nun, hebrew_finalnun ] };
181 key <LatM> { [ hebrew_mem, hebrew_finalmem ] };
184 // The 'Biblical Hebrew' keyboard layout as defined by Tiro for use with the
185 // 'SBL Hebrew' font was added 2006.11.13 by Sebastian J. Bronner
186 // <waschtl@sbronner.com>. Its primary features (as compared to the lyx layout)
187 // are that the consonants are in the Israeli standard positions, that a great
188 // multitude of glyphs can be input directly from the keyboard, and that it is
189 // the closest thing to a standard layout a theologian can hope for.
190 // Documentation (including printable keyboard tables), SBL Hebrew font, and
191 // keyboard layout for Windows are available at
192 // http://www.sbl-site.org/Resources/Resources_BiblicalFonts.aspx.
194 // It is of interest that the 'basic' layout defined first in this file (as
195 // ships with x.org disagrees in the non-consonant characters that the Tiro-
196 // layout claims to be the Israeli standard. Tiros apparent diligence in the
197 // PDF-documentation accompanying the keyboard-layout-files lead me to put
198 // greater stock in their claim than in this file. Therefore, the 'biblical'
199 // layout below does not include 'il(basic)' but redoes the _whole_ thing from
202 partial alphanumeric_keys
203 xkb_symbols "biblical" {
204 name[Group1]= "Hebrew (Biblical, Tiro)";
205 key.type = "FOUR_LEVEL_SEMIALPHABETIC";
207 key <TLDE> { [ U05C3, U05AE, semicolon, asciitilde ] };
208 key <AE01> { [ 1, U05A9, VoidSymbol, exclam ] };
209 key <AE02> { [ 2, U0599, VoidSymbol, at ] };
210 key <AE03> { [ 3, U0592, VoidSymbol, numbersign ] };
211 key <AE04> { [ 4, U05AF, NewSheqelSign, dollar ] };
212 key <AE05> { [ 5, VoidSymbol, U200D, percent ] };
213 key <AE06> { [ 6, U05B9, U200C, asciicircum ] };
214 key <AE07> { [ 7, U05BF, U034F, ampersand ] };
215 key <AE08> { [ 8, U05C2, U200E, asterisk ] };
216 key <AE09> { [ 9, U05C1, U200F, parenright ] };
217 key <AE10> { [ 0, U059D, U25CC, parenleft ] };
218 key <AE11> { [ U05BE, U05A0, minus, underscore ] };
219 key <AE12> { [ equal, U05BC, VoidSymbol, plus ] };
221 key <AD01> { [ U0307, U05C4, U0308, slash ] };
222 key <AD02> { [ U05F3, U05AC, U05F4, apostrophe ] };
223 key <AD03> { [ hebrew_qoph, U05AB, U20AC ] };
224 key <AD04> { [ hebrew_resh, U059F ] };
225 key <AD05> { [ hebrew_aleph, U0593 ] };
226 key <AD06> { [ hebrew_tet, U059E ] };
227 key <AD07> { [ hebrew_waw, U059C, U05F0 ] };
228 key <AD08> { [ hebrew_finalnun, U05A1 ] };
229 key <AD09> { [ hebrew_finalmem, U0595 ] };
230 key <AD10> { [ hebrew_pe, U0594 ] };
231 key <AD11> { [ bracketright, U0597, VoidSymbol, braceright ] };
232 key <AD12> { [ bracketleft, U0598, VoidSymbol, braceleft ] };
233 key <BKSL> { [ U05C0, U05A8, backslash, bar ] };
235 key <AC01> { [ hebrew_shin, U05BD ] };
236 key <AC02> { [ hebrew_dalet, U05B0 ] };
237 key <AC03> { [ hebrew_gimel, U05BB ] };
238 key <AC04> { [ hebrew_kaph, U05B4 ] };
239 key <AC05> { [ hebrew_ayin, U05B1 ] };
240 key <AC06> { [ hebrew_yod, U05B6, U05F2 ] };
241 key <AC07> { [ hebrew_chet, U05B5, U05F1 ] };
242 key <AC08> { [ hebrew_lamed, U05B3 ] };
243 key <AC09> { [ hebrew_finalkaph, U05B8, U05C7 ] };
244 key <AC10> { [ hebrew_finalpe, U05B2, VoidSymbol, colon ] };
245 key <AC11> { [ U059a, U05B7, comma, quotedbl ] };
247 key <AB01> { [ hebrew_zain, U05C5 ] };
248 key <AB02> { [ hebrew_samech, U05A4 ] };
249 key <AB03> { [ hebrew_bet, U05AA, U05A2 ] };
250 key <AB04> { [ hebrew_he, U05A6 ] };
251 key <AB05> { [ hebrew_nun, U05A5, U05C6 ] };
252 key <AB06> { [ hebrew_mem, U05A7 ] };
253 key <AB07> { [ hebrew_zade, U059B ] };
254 key <AB08> { [ hebrew_taw, U0591, VoidSymbol, greater ] };
255 key <AB09> { [ hebrew_finalzade, U0596, VoidSymbol, less ] };
256 key <AB10> { [ U05AD, U05A3, period, question ] };
258 key <SPCE> { [ space, space, thinspace, nobreakspace ] };
263 // Biblical hebrew (SIL) US Standard layout version 1.5
264 // This map is based closely on v 1.5 of the standard. The only deviation being the replacement of the composite characters sin and shin
265 // by their more recent Unicodev6 counterparts
266 // this map contains all the characters found in Biblical annotation, masoretic and Dead Sea Scroll related work.
267 // The layout corresponds phonetically to a US standard layout or similar (Qwerty).
268 // If you are using an actual Hebrew keyboard, you are probably better off using a Tiro compliant scholarly layout
269 // This linux port created and maintained by Dennis Meulensteen, dennis@meulensteen.nl
270 partial alphanumeric_keys
271 xkb_symbols "biblicalSIL" {
272 name[Group1]= "Hebrew (Biblical, SIL phonetic)";
273 key.type = "FOUR_LEVEL_SEMIALPHABETIC";
275 key <TLDE> { [ U20AC, U20AA, U0024 ] }; //Euro, Shekel, Dollar -
276 key <AE01> { [ 1, U0021, U05BD, U0597 ] }; //1, exclamation meteg revia
277 key <AE02> { [ 2, U0598, U05A2, U05AE ] }; //2, zarqa atn. hafukh zinor
278 key <AE03> { [ 3, U05A8, U0596, U0599 ] }; //3, qadma tipeha pashta
279 key <AE04> { [ 4, U059C, U05A5, U05A0 ] }; //4, geresh merkha tel. gedola
280 key <AE05> { [ 5, U059E, U05A6, U05A9 ] }; //5, gershayim mer. kefula tel qetana
281 key <AE06> { [ 6, VoidSymbol, U05AD, U059F ] }; //6, - dehi qar. para
282 key <AE07> { [ 7, U05AC, U05A3, U05A1 ] }; //7, iluy munah pazer
283 key <AE08> { [ 8, U059D, U059B, U0595 ] }; //8, g. muqdam tevir zaq. gadol
284 key <AE09> { [ 9, U0029, U05A7, U0593 ] }; //9, parenth.R darqa shalshelet
285 key <AE10> { [ 0, U0028, U05AA, U05AF ] }; //0, paren.L yer. ben yomo masora c.
286 key <AE11> { [ U05BE, U2013, U2014, U05BF ] }; //Maqaf, en dash em dash rafe
287 key <AE12> { [ U05BC, VoidSymbol, U0591, U25CC ] }; //Dagesh - etnahta mark base
289 key <AD01> { [ hebrew_qoph, U0597 ] }; //Qof revia - -
290 key <AD02> { [ hebrew_waw] }; //waw - - -
291 key <AD03> { [ U05B6, U05B5, VoidSymbol, U05B1 ] }; //segol tsere - hat. segol
292 key <AD04> { [ hebrew_resh ] }; //resh - - -
293 key <AD05> { [ hebrew_taw ] }; //taw - - -
294 key <AD06> { [ hebrew_yod, U059F ] }; //jod qar. para - -
295 key <AD07> { [ U05BB] }; //quibuts - - -
296 key <AD08> { [ U05B4 ] }; //hiriq, - - -
297 key <AD09> { [ U05B9, U05BA, U05C7, U05B3 ] }; //holam, holam(wav) qam. qatan hat. Qamats
298 key <AD10> { [ hebrew_pe, hebrew_finalpe, VoidSymbol, U034F ] }; //pe final pe - c. grapheme joiner
299 key <AD11> { [ bracketright, braceright, VoidSymbol, U0594 ] }; //Bracket R brace R - zaq. qatan
300 key <AD12> { [ bracketleft, braceleft, U059A, U0592 ] }; //Brachket L brace L yetiv segolta
301 key <BKSL> { [ U05C0, U05C0, U05A4, U05AB ] };//Paseq Paseq mahapakh ole
303 key <AC01> { [ U05B7, U05B8, U05C7, U05B2 ] }; //patah Qamats Qam. Qatan hat. patah
304 key <AC02> { [ hebrew_samech, U05E9 ] }; //Samech, shin no dot - -
305 key <AC03> { [ hebrew_dalet ] }; //dalet - - -
306 key <AC04> { [ UFB2B, hebrew_sin, U05C2 ] }; //UCSv6 Sin sin (nodot) sindot -
307 key <AC05> { [ hebrew_gimel, VoidSymbol, U25E6, U2022 ] }; //gimel - bullet(DSS) bulletfill (DSS)
308 key <AC06> { [ hebrew_he, VoidSymbol, U0336, U030A ] };//he - strikeout(DSS) Ring Above(DSS)
309 key <AC07> { [ UFB2A, hebrew_shin, U05C1] }; //UCSv6 Shin shin (nodot) shindot -
310 key <AC08> { [ hebrew_kaph, hebrew_finalkaph ] }; //kaph Final kaph -
311 key <AC09> { [ hebrew_lamed, VoidSymbol ] }; //lamed - -
312 key <AC10> { [ U05B0, U05F4, semicolon, U05C3 ] }; //sva gers. p semicolon sof pasuq
313 key <AC11> { [ U2019, U201D, U0323, U05C4 ] };//QuoteRight double R Quote punctum punctum Above
315 key <AB01> { [ hebrew_zain ] }; //Zayin - -
316 key <AB02> { [ hebrew_chet ] }; //chet - -
317 key <AB03> { [ hebrew_zade, U05E5 ] }; // tzade, final tzade -
318 key <AB04> { [ hebrew_tet ] }; //tet - -
319 key <AB05> { [ hebrew_bet ] }; //bet - -
320 key <AB06> { [ hebrew_nun, hebrew_finalnun ] }; //nun, final nun
321 key <AB07> { [ hebrew_mem, hebrew_finalmem, U200C, U200D ] }; //mem, final mem 0.wid.non.join. 0.wid.joiner
322 key <AB08> { [ U002C, U05E2, U00AB, U0307 ] }; //comma, ayin guillemetsR masora dot
323 key <AB09> { [ U0002E, U05D0, U00BB, U0308 ] }; //period, alef guillemetsL thousands
324 key <AB10> { [ slash, question, U05F3 ] }; //slash question geresh P
326 key <SPCE> { [ space, space, thinspace, nobreakspace ] };//space space thin space, nbsp