Fix trailing whitespaces in XKB files
[platform/upstream/libxkbcommon.git] / test / data / rules / evdev-xkbcommon
1 // DO NOT EDIT THIS FILE - IT WAS AUTOGENERATED BY merge.sh FROM rules/*.part
2 //
3 //  Rules for resolving XKB components for use with XFree86
4 //  Copyright 1996 by Joseph Moss
5 //
6 //  2002 Modifier: Ivan Pascal      The XFree86 Project
7 //
8
9 // If you want non-latin layouts implicitly include the en_US layout
10 // uncomment lines below
11 //! $nonlatin = am ara ben bd bg bt by cs deva ge gh gr guj guru il \
12 //              in ir iku jp kan kh kr la lao lk mk mm mn mv mal ori pk \
13 //              ru scc sy syr tel th tj tam ua uz
14
15 // PC models
16 ! $pcmodels = pc101 pc102 pc104 pc105
17
18 // Microsoft models (using MS geometry)
19 ! $msmodels = microsoft microsoft4000 microsoft7000 microsoftpro microsoftprousb microsoftprose
20
21 // Nokia devices and keyboards
22 ! $nokiamodels = nokiasu8w nokiarx44 nokiarx51
23
24 // PC geometries - they have special geometry but symbols are mostly pc105
25 ! $pcgeometries = latitude
26
27 // TypeMatrix geometries
28 ! $tmgeometries = tm2020 tm2030PS2 tm2030USB tm2030USB-102 tm2030USB-106
29
30 // Layouts that provide further specializations for the OLPC
31 ! $olpclayouts = af am ara br ca es et fr it kh kz in mn np ru th tr us
32
33 ! $macbooks = macbook78 macbook79
34 ! $maclaptop = ibook powerbook macbook78 macbook79
35 ! $applealu = applealu_ansi applealu_iso applealu_jis
36 ! $macs = macintosh macintosh_old ibook powerbook macbook78 macbook79
37
38 ! $macvendorlayouts = ch de dk fi fr gb is it latam nl no pt se us
39
40 ! $azerty = be fr
41 ! $qwertz = al cz de hr hu ro si sk
42
43 ! $inetkbds = acer_c300 acer_ferrari4k acer_laptop \
44               airkey \
45               apple armada azonaRF2300 \
46               benqx brother \
47               btc5113rf btc9000 btc9000a btc9001ah btc5090 btc9019u \
48               cherryblue cherrybluea cherryblueb \
49               cherrycyboard cherrycmexpert \
50               chicony chicony0108 chicony0420 chicony9885 \
51               compalfl90 \
52               compaqeak8 compaqik7 compaqik13 compaqik18 \
53               creativedw7000 \
54               cymotionlinux \
55               dell dellm65 inspiron dellusbmm \
56               emachines ennyah_dkb1008 evdev \
57               genius geniuscomfy2 \
58               gyration honeywell_euroboard \
59               hp250x hp5xx hp500fa hpdv5 \
60               hpi6 hpxe3gc hpxe3gf hpxe4xxx hpxt1000 hpzt11xx htcdream \
61               ibm_spacesaver ipaq inspiron intel \
62               logiaccess logicda logicink \
63               logiex110 logiclx300 \
64               logiinkse logiinkseusb logiitc logiik \
65               logitech_base itouch logiultrax \
66               logitech_g15 \
67               logidinovo logidinovoedge \
68               microsoft4000 microsoft7000 microsoftinet microsoftprousb microsoftprooem microsoftprose \
69               microsoftoffice microsoftmult \
70               mx1998 mx2500 mx2750 \
71               oretec \
72               pc105 \
73               presario propeller \
74               qtronix \
75               rapidaccess rapidaccess2 thinkpad60 \
76               samsung4500 samsung4510 \
77               silvercrest \
78               sk1300 sk2500 sk6200 sk7100 \
79               sven sven303 symplon \
80               toshiba_s3000 trust trustda \
81               unitekkb1925 yahoo
82
83 // all layouts with 3rd and 4th groups
84 ! $threelevellayouts = al az \
85               be br bt \
86               ca ch cs cz \
87               de dk \
88               ee es \
89               fi fo fr \
90               gb gr \
91               hu \
92               ie ir is it \
93               latam \
94               lk lt \
95               mn mt \
96               nl no \
97               pl pt \
98               ro \
99               se sk \
100               tr \
101               us \
102               vn \
103               za
104
105 ! $evdevkbds = ibm_spacesaver
106
107 ! $thinkpads = thinkpad thinkpad60 thinkpadz60
108
109 ! $sun_t6_custom = ara be br ca ch cz de dk \
110                    ee es fi fr gb gr it kr \
111                    lt lv nl no pl pt ro ru \
112                    se sk tr tw ua
113
114 ! $htcdreamlayouts = us it de
115
116 ! $dvoraklayouts = br ca de ee es fr gb no pl se us
117
118 ! model         =       keycodes
119   *             =       evdev-xkbcommon
120
121 ! layout[1]     =       keycodes
122   $azerty       =       +aliases-xkbcommon(azerty)
123   $qwertz       =       +aliases-xkbcommon(qwertz)
124   *             =       +aliases-xkbcommon(qwerty)
125
126 ! layout        =       keycodes
127   $azerty       =       +aliases-xkbcommon(azerty)
128   $qwertz       =       +aliases-xkbcommon(qwertz)
129   *             =       +aliases-xkbcommon(qwerty)
130
131 ! model         layout  =       geometry
132   thinkpad     us              =       thinkpad(us)
133
134 ! model         =       geometry
135   microsoftelite        =       microsoft(elite)
136  $msmodels      =       microsoft(natural)
137   dell101       =       dell(dell101)
138   dellm65       =       dell(dellm65)
139   latitude      =       dell(latitude)
140   flexpro       =       keytronic(FlexPro)
141   hp6000        =       hp(omnibook)
142   hpmini110     =       hp(mini110)
143   hpdv5         =       hp(dv5)
144   omnikey101    =       northgate(omnikey101)
145   sanwaskbkg3   =       sanwa(sanwaskbkg3)
146  $pcmodels      =       pc(%m)
147  $pcgeometries  =       pc(%m)
148   everex        =       everex(STEPnote)
149   thinkpad      =       thinkpad(intl)
150   thinkpad60    =       thinkpad(60)
151   thinkpadz60   =       thinkpad(60)
152  $tmgeometries  =       typematrix(%m)
153   winbook       =       winbook(XP5)
154   pc98          =       nec(pc98)
155  $applealu      =       macintosh(%m)
156  $macbooks      =       macintosh(%m)
157  $macs          =       macintosh(macintosh)
158   hhk           =       hhk(basic)
159   kinesis       =       kinesis(model100)
160  $nokiamodels   =       nokia(%m)
161   *             =       pc(pc104)
162
163 ! model         layout          variant         =       symbols
164   *             ben             basic           =       pc+in(ben)
165   *             ben             probhat         =       pc+in(ben_probhat)
166   *             dev             basic           =       pc+in(deva)
167   *             dvorak          $dvoraklayouts          =       pc+%v(dvorak)
168   *             dvorak          basic           =       pc+us(dvorak)
169   *             dvorak          pl_basic                =       pc+pl(dvorak)
170   *             dvorak          pl              =       pc+pl(dvorak_quotes)
171   *             dvorak          pl_altquotes            =       pc+pl(dvorak_altquotes)
172   *             dzdwi           basic           =       pc+bt(basic)
173   *             fi              basic           =       pc+fi(classic)
174   *             ge              azerty_tskapo           =       pc+fr(geo)
175   *             guj             basic           =       pc+in(guj)
176   *             gur             basic           =       pc+in(guru)
177   *             ie              laptop          =       pc+ie(basic)
178   *             ie              CloGaelachLaptop                =       pc+ie(CloGaelach)
179   *             in              urd             =       pc+in(urd-phonetic)
180   *             iu              basic           =       pc+ca(ike)
181   *             lo              basic           =       pc+la(basic)
182   *             kan             basic           =       pc+in(kan)
183   *             mal             basic           =       pc+in(mal)
184   *             mal             mlplusnum               =       pc+in(mal)
185   *             ogham           basic           =       pc+ie(ogam)
186   *             ogham           laptop          =       pc+ie(ogam)
187   *             ogham           is434           =       pc+ie(ogam_is434)
188   *             ogham           is434laptop             =       pc+ie(ogam_is434)
189   *             ori             basic           =       pc+in(ori)
190   *             ro              de              =       pc+ro(winkeys)
191   *             ro              us              =       pc+ro(std)
192   *             ro              academic                =       pc+ro(std)
193   *             ro              std_comma               =       pc+ro(std)
194   *             ro              comma           =       pc+ro(basic)
195   *             ru              os              =       pc+ru(os_legacy)
196   *             pk              urd             =       pc+pk(urd-phonetic)
197   *             sapmi           basic           =       pc+no(smi)
198   *             sapmi           nodeadkeys              =       pc+no(smi_nodeadkeys)
199   *             sapmi           sefi            =       pc+fi(smi)
200   *             sin             phonetic-static         =       pc+in(sin_phonetic)
201   *             syr             basic           =       pc+sy(syc)
202   *             syr             phonetic                =       pc+sy(syc_phonetic)
203   *             tam             INSCRIPT                =       pc+in(tam)
204   *             tam             UNI             =       pc+in(tam_unicode)
205   *             tam             NUMERAL-KEYBOARD                =       pc+in(tam_keyboard_with_numerals)
206   *             tam             TAB             =       pc+in(tam_TAB)
207   *             tam             TSCII           =       pc+in(tam_TSCII)
208   *             tel             basic           =       pc+in(tel)
209   *             yu              basic           =       pc+srp(latin)
210   *             yu              unicode         =       pc+srp(latinunicode)
211   *             yu              yz              =       pc+srp(latinyz)
212   *             yu              unicodeyz               =       pc+srp(latinunicodeyz)
213   classmate     us              intl            =       pc+us(classmate-intl)
214   classmate     us              alt-intl        =       pc+us(classmate-alt-intl)
215   classmate     us              altgr-intl      =       pc+us(classmate-altgr-intl)
216   nokiarx51     cz              qwerty          =       nokia_vndr/rx-51(cz_qwerty)
217
218 ! model         layout                          =       symbols
219   *             ar                      =       pc+ara
220   *             ben                     =       pc+in(ben)
221   *             bs                      =       pc+ba
222   *             cs                      =       pc+rs
223   *             cz_qwerty                       =       pc+cz(qwerty)
224   *             dev                     =       pc+in(deva)
225   *             dvorak                  =       pc+us(dvorak)
226   *             dzdwi                   =       pc+bt
227   *             el                      =       pc+gr
228   *             en_US                   =       pc+latin
229   *             guj                     =       pc+in(guj)
230   *             gur                     =       pc+in(guru)
231   *             iu                      =       pc+ca(ike)
232   *             lo                      =       pc+la
233   *             kan                     =       pc+in(kan)
234   *             mi                      =       pc+mao
235   *             ml                      =       pc+in(mal)
236   *             ogham                   =       pc+ie(ogam)
237   *             ori                     =       pc+ie(ori)
238   *             sapmi                   =       pc+no(smi)
239   *             sr                      =       pc+srp
240   *             syr                     =       pc+sy(syc)
241   *             tel                     =       pc+in(tel)
242   *             tml                     =       pc+in(tam)
243   *             yu                      =       pc+srp
244   *             fr-latin9                       =       pc+fr(latin9)
245   *             us_intl                 =       pc+us(alt-intl)
246   *             ben(basic)                      =       pc+in(ben)
247   *             ben(probhat)                    =       pc+in(ben_probhat)
248   *             dev(basic)                      =       pc+in(deva)
249   *             dvorak($dvoraklayouts)                  =       pc+%v(dvorak)
250   *             dvorak(basic)                   =       pc+us(dvorak)
251   *             dvorak(pl_basic)                        =       pc+pl(dvorak)
252   *             dvorak(pl)                      =       pc+pl(dvorak_quotes)
253   *             dvorak(pl_altquotes)                    =       pc+pl(dvorak_altquotes)
254   *             dzdwi(basic)                    =       pc+bt(basic)
255   *             fi(basic)                       =       pc+fi(classic)
256   *             ge(azerty_tskapo)                       =       pc+fr(geo)
257   *             guj(basic)                      =       pc+in(guj)
258   *             gur(basic)                      =       pc+in(guru)
259   *             ie(laptop)                      =       pc+ie(basic)
260   *             ie(CloGaelachLaptop)                    =       pc+ie(CloGaelach)
261   *             in(urd)                 =       pc+in(urd-phonetic)
262   *             iu(basic)                       =       pc+ca(ike)
263   *             lo(basic)                       =       pc+la(basic)
264   *             kan(basic)                      =       pc+in(kan)
265   *             mal(basic)                      =       pc+in(mal)
266   *             mal(mlplusnum)                  =       pc+in(mal)
267   *             ogham(basic)                    =       pc+ie(ogam)
268   *             ogham(laptop)                   =       pc+ie(ogam)
269   *             ogham(is434)                    =       pc+ie(ogam_is434)
270   *             ogham(is434laptop)                      =       pc+ie(ogam_is434)
271   *             ori(basic)                      =       pc+in(ori)
272   *             ro(de)                  =       pc+ro(winkeys)
273   *             ro(us)                  =       pc+ro(std)
274   *             ro(academic)                    =       pc+ro(std)
275   *             ro(std_comma)                   =       pc+ro(std)
276   *             ro(comma)                       =       pc+ro(basic)
277   *             ru(os)                  =       pc+ru(os_legacy)
278   *             pk(urd)                 =       pc+pk(urd-phonetic)
279   *             sapmi(basic)                    =       pc+no(smi)
280   *             sapmi(nodeadkeys)                       =       pc+no(smi_nodeadkeys)
281   *             sapmi(sefi)                     =       pc+fi(smi)
282   *             sin(phonetic-static)                    =       pc+in(sin_phonetic)
283   *             syr(basic)                      =       pc+sy(syc)
284   *             syr(phonetic)                   =       pc+sy(syc_phonetic)
285   *             tam(INSCRIPT)                   =       pc+in(tam)
286   *             tam(UNI)                        =       pc+in(tam_unicode)
287   *             tam(NUMERAL-KEYBOARD)                   =       pc+in(tam_keyboard_with_numerals)
288   *             tam(TAB)                        =       pc+in(tam_TAB)
289   *             tam(TSCII)                      =       pc+in(tam_TSCII)
290   *             tel(basic)                      =       pc+in(tel)
291   *             yu(basic)                       =       pc+srp(latin)
292   *             yu(unicode)                     =       pc+srp(latinunicode)
293   *             yu(yz)                  =       pc+srp(latinyz)
294   *             yu(unicodeyz)                   =       pc+srp(latinunicodeyz)
295   ataritt       $nonlatin               =       xfree68_vndr/ataritt(us)+%l%(v):2
296   ataritt       *                       =       xfree68_vndr/ataritt(us)+%l%(v)
297   amiga         $nonlatin               =       xfree68_vndr/amiga(usa1)+%l%(v):2
298   amiga         *                       =       xfree68_vndr/amiga(usa1)+%l%(v)
299   classmate     us                      =       pc+%l(classmate)
300   empty         *                       =       empty(basic)
301   *             empty                   =       empty(basic)
302   sun4          $nonlatin               =       latin+sun_vndr/us(type4)+%l%(v):2
303   sun4          *                       =       latin+sun_vndr/us(type4)+%l%(v)
304   sun5          $nonlatin               =       latin+sun_vndr/us(type5)+%l%(v):2
305   sun5          *                       =       latin+sun_vndr/us(type5)+%l%(v)
306   sun6          us                      =       pc+sun_vndr/us(type6)
307   sun6          en_US                   =       pc+sun_vndr/us(type6)+iso9995-3(basic)
308   sun6          $sun_t6_custom          =       pc+sun_vndr/us(type6)+sun_vndr/%l%(v)
309   sun6          *                       =       pc+sun_vndr/us(type6)+%l%(v)
310   sun6euro      us                      =       pc+sun_vndr/us(type6)
311   sun6euro      en_US                   =       pc+sun_vndr/us(type6)+iso9995-3(basic)
312   sun6euro      $sun_t6_custom          =       pc+sun_vndr/us(type6)+sun_vndr/%l%(v)
313   sun6euro      *                       =       pc+sun_vndr/us(type6)+%l%(v)
314   pc98          nec_vndr/jp             =       nec_vndr/jp(pc98)
315   macintosh_old us                      =       macintosh_vndr/us(oldmac)
316   macintosh_old en_US                   =       macintosh_vndr/us(oldmac)
317   macintosh_old $macvendorlayouts       =       macintosh_vndr/us(oldmac)+macintosh_vndr/%l%(v)
318   macintosh_old $nonlatin               =       macintosh_vndr/us(oldmac)+%l%(v):2
319   macintosh_old *                       =       macintosh_vndr/us(oldmac)+%l%(v)
320   applealu_jis  jp                      =       macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac)+macintosh_vndr/jp(mac):2
321   applealu_jis  *                       =       macintosh_vndr/apple(alukbd)+%l%(v)+macintosh_vndr/jp(mac):2
322  $applealu      $macvendorlayouts       =       macintosh_vndr/apple(alukbd)+macintosh_vndr/%l%(v)
323  $applealu      *                       =       macintosh_vndr/apple(alukbd)+%l%(v)
324  $macs          en_US                   =       pc+macintosh_vndr/us(extended)
325  $macs          $macvendorlayouts       =       pc+macintosh_vndr/%l%(v)
326   nokiarx44     *                       =       nokia_vndr/rx-44(%l)
327   nokiarx51     cz(qwerty)              =       nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty)
328   nokiarx51     *                       =       nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l%_v)
329   nokiasu8w     *                       =       nokia_vndr/su-8w(%l)
330   olpc          $olpclayouts            =       olpc+%l%(m)
331   olpc          *                       =       olpc+%l%(v)
332  $thinkpads     br                      =       pc+br(thinkpad)
333   htcdream      $htcdreamlayouts        =       %l(htcdream)
334   *             $nonlatin               =       pc+us+%l%(v):2
335   *             *                       =       pc+%l%(v)
336
337 ! model         layout[1]                       =       symbols
338   *             ar                      =       pc+ara%(v[1])
339   *             ben                     =       pc+in(ben)
340   *             bs                      =       pc+ba%(v[1])
341   *             cs                      =       pc+rs%(v[1])
342   *             cz_qwerty                       =       pc+cz(qwerty)
343   *             dev                     =       pc+in(deva)
344   *             dvorak                  =       pc+us(dvorak)
345   *             dzdwi                   =       pc+bt%(v[1])
346   *             el                      =       pc+gr%(v[1])
347   *             en_US                   =       pc+latin%(v[1])
348   *             guj                     =       pc+in(guj)
349   *             gur                     =       pc+in(guru)
350   *             iu                      =       pc+ca(ike)
351   *             lo                      =       pc+la%(v[1])
352   *             kan                     =       pc+in(kan)
353   *             mi                      =       pc+mao%(v[1])
354   *             ml                      =       pc+in(mal)
355   *             ogham                   =       pc+ie(ogam)
356   *             ori                     =       pc+ie(ori)
357   *             sapmi                   =       pc+no(smi)
358   *             sr                      =       pc+srp%(v[1])
359   *             syr                     =       pc+sy(syc)
360   *             tel                     =       pc+in(tel)
361   *             tml                     =       pc+in(tam)
362   *             yu                      =       pc+srp%(v[1])
363   *             fr-latin9                       =       pc+fr(latin9)
364   *             us_intl                 =       pc+us(alt-intl)
365   *             ben(basic)                      =       pc+in(ben)
366   *             ben(probhat)                    =       pc+in(ben_probhat)
367   *             dev(basic)                      =       pc+in(deva)
368   *             dvorak($dvoraklayouts)                  =       pc+%v(dvorak)
369   *             dvorak(basic)                   =       pc+us(dvorak)
370   *             dvorak(pl_basic)                        =       pc+pl(dvorak)
371   *             dvorak(pl)                      =       pc+pl(dvorak_quotes)
372   *             dvorak(pl_altquotes)                    =       pc+pl(dvorak_altquotes)
373   *             dzdwi(basic)                    =       pc+bt(basic)
374   *             fi(basic)                       =       pc+fi(classic)
375   *             ge(azerty_tskapo)                       =       pc+fr(geo)
376   *             guj(basic)                      =       pc+in(guj)
377   *             gur(basic)                      =       pc+in(guru)
378   *             ie(laptop)                      =       pc+ie(basic)
379   *             ie(CloGaelachLaptop)                    =       pc+ie(CloGaelach)
380   *             in(urd)                 =       pc+in(urd-phonetic)
381   *             iu(basic)                       =       pc+ca(ike)
382   *             lo(basic)                       =       pc+la(basic)
383   *             kan(basic)                      =       pc+in(kan)
384   *             mal(basic)                      =       pc+in(mal)
385   *             mal(mlplusnum)                  =       pc+in(mal)
386   *             ogham(basic)                    =       pc+ie(ogam)
387   *             ogham(laptop)                   =       pc+ie(ogam)
388   *             ogham(is434)                    =       pc+ie(ogam_is434)
389   *             ogham(is434laptop)                      =       pc+ie(ogam_is434)
390   *             ori(basic)                      =       pc+in(ori)
391   *             ro(de)                  =       pc+ro(winkeys)
392   *             ro(us)                  =       pc+ro(std)
393   *             ro(academic)                    =       pc+ro(std)
394   *             ro(std_comma)                   =       pc+ro(std)
395   *             ro(comma)                       =       pc+ro(basic)
396   *             ru(os)                  =       pc+ru(os_legacy)
397   *             pk(urd)                 =       pc+pk(urd-phonetic)
398   *             sapmi(basic)                    =       pc+no(smi)
399   *             sapmi(nodeadkeys)                       =       pc+no(smi_nodeadkeys)
400   *             sapmi(sefi)                     =       pc+fi(smi)
401   *             sin(phonetic-static)                    =       pc+in(sin_phonetic)
402   *             syr(basic)                      =       pc+sy(syc)
403   *             syr(phonetic)                   =       pc+sy(syc_phonetic)
404   *             tam(INSCRIPT)                   =       pc+in(tam)
405   *             tam(UNI)                        =       pc+in(tam_unicode)
406   *             tam(NUMERAL-KEYBOARD)                   =       pc+in(tam_keyboard_with_numerals)
407   *             tam(TAB)                        =       pc+in(tam_TAB)
408   *             tam(TSCII)                      =       pc+in(tam_TSCII)
409   *             tel(basic)                      =       pc+in(tel)
410   *             yu(basic)                       =       pc+srp(latin)
411   *             yu(unicode)                     =       pc+srp(latinunicode)
412   *             yu(yz)                  =       pc+srp(latinyz)
413   *             yu(unicodeyz)                   =       pc+srp(latinunicodeyz)
414   ataritt       *                       =       xfree68_vndr/ataritt(us)+%l[1]%(v[1])
415   amiga         *                       =       xfree68_vndr/amiga(usa1)+%l[1]%(v[1])
416   sun4          *                       =       latin+sun_vndr/us(type4)+%l[1]%(v[1])
417   sun5          *                       =       latin+sun_vndr/us(type5)+%l[1]%(v[1])
418   macintosh_old us                      =       macintosh_vndr/us(oldmac)
419   macintosh_old $macvendorlayouts       =       macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1])
420   macintosh_old *                       =       macintosh_vndr/us(oldmac)+%l[1]%(v[1])
421   applealu_jis  us                      =       macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac)
422  $applealu      $macvendorlayouts       =       macintosh_vndr/apple(alukbd)+macintosh_vndr/%l[1]%(v[1])
423  $applealu      *                       =       macintosh_vndr/apple(alukbd)+%l[1]%(v[1])
424  $macs          $macvendorlayouts       =       pc+macintosh_vndr/%l[1]%(v[1])
425   nokiarx51     cz(qwerty)              =       nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty)
426   nokiarx51     *                       =       nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l[1]%_v[1])
427  $thinkpads     br                      =       pc+%l[1](thinkpad)
428   *             *                       =       pc+%l[1]%(v[1])
429
430 ! model         layout[1]       variant[1]      =       symbols
431   *             ben             basic           =       pc+in(ben)
432   *             ben             probhat         =       pc+in(ben_probhat)
433   *             dev             basic           =       pc+in(deva)
434   *             dvorak          $dvoraklayouts          =       pc+%v(dvorak)
435   *             dvorak          basic           =       pc+us(dvorak)
436   *             dvorak          pl_basic                =       pc+pl(dvorak)
437   *             dvorak          pl              =       pc+pl(dvorak_quotes)
438   *             dvorak          pl_altquotes            =       pc+pl(dvorak_altquotes)
439   *             dzdwi           basic           =       pc+bt(basic)
440   *             fi              basic           =       pc+fi(classic)
441   *             ge              azerty_tskapo           =       pc+fr(geo)
442   *             guj             basic           =       pc+in(guj)
443   *             gur             basic           =       pc+in(guru)
444   *             ie              laptop          =       pc+ie(basic)
445   *             ie              CloGaelachLaptop                =       pc+ie(CloGaelach)
446   *             in              urd             =       pc+in(urd-phonetic)
447   *             iu              basic           =       pc+ca(ike)
448   *             lo              basic           =       pc+la(basic)
449   *             kan             basic           =       pc+in(kan)
450   *             mal             basic           =       pc+in(mal)
451   *             mal             mlplusnum               =       pc+in(mal)
452   *             ogham           basic           =       pc+ie(ogam)
453   *             ogham           laptop          =       pc+ie(ogam)
454   *             ogham           is434           =       pc+ie(ogam_is434)
455   *             ogham           is434laptop             =       pc+ie(ogam_is434)
456   *             ori             basic           =       pc+in(ori)
457   *             ro              de              =       pc+ro(winkeys)
458   *             ro              us              =       pc+ro(std)
459   *             ro              academic                =       pc+ro(std)
460   *             ro              std_comma               =       pc+ro(std)
461   *             ro              comma           =       pc+ro(basic)
462   *             ru              os              =       pc+ru(os_legacy)
463   *             pk              urd             =       pc+pk(urd-phonetic)
464   *             sapmi           basic           =       pc+no(smi)
465   *             sapmi           nodeadkeys              =       pc+no(smi_nodeadkeys)
466   *             sapmi           sefi            =       pc+fi(smi)
467   *             sin             phonetic-static         =       pc+in(sin_phonetic)
468   *             syr             basic           =       pc+sy(syc)
469   *             syr             phonetic                =       pc+sy(syc_phonetic)
470   *             tam             INSCRIPT                =       pc+in(tam)
471   *             tam             UNI             =       pc+in(tam_unicode)
472   *             tam             NUMERAL-KEYBOARD                =       pc+in(tam_keyboard_with_numerals)
473   *             tam             TAB             =       pc+in(tam_TAB)
474   *             tam             TSCII           =       pc+in(tam_TSCII)
475   *             tel             basic           =       pc+in(tel)
476   *             yu              basic           =       pc+srp(latin)
477   *             yu              unicode         =       pc+srp(latinunicode)
478   *             yu              yz              =       pc+srp(latinyz)
479   *             yu              unicodeyz               =       pc+srp(latinunicodeyz)
480
481 ! model         layout[2]       =       symbols
482   *             ar              =       +ara%(v[2]):2
483   *             ben             =       +in(ben):2
484   *             bs              =       +ba%(v[2]):2
485   *             cs              =       +rs%(v[2]):2
486   *             cz_qwerty               =       +cz(qwerty):2
487   *             dev             =       +in(deva):2
488   *             dvorak          =       +us(dvorak):2
489   *             dzdwi           =       +bt%(v[2]):2
490   *             el              =       +gr%(v[2]):2
491   *             en_US           =       +latin%(v[2]):2
492   *             guj             =       +in(guj):2
493   *             gur             =       +in(guru):2
494   *             iu              =       +ca(ike):2
495   *             lo              =       +la%(v[2]):2
496   *             kan             =       +in(kan):2
497   *             mi              =       +mao%(v[2]):2
498   *             ml              =       +in(mal):2
499   *             ogham           =       +ie(ogam):2
500   *             ori             =       +ie(ori):2
501   *             sapmi           =       +no(smi):2
502   *             sr              =       +srp%(v[2]):2
503   *             syr             =       +sy(syc):2
504   *             tel             =       +in(tel):2
505   *             tml             =       +in(tam):2
506   *             yu              =       +srp%(v[2]):2
507   *             fr-latin9               =       +fr(latin9):2
508   *             us_intl         =       +us(alt-intl):2
509   *             ben(basic)      =       +in(ben):2
510   *             ben(probhat)    =       +in(ben_probhat):2
511   *             dev(basic)      =       +in(deva):2
512   *             dvorak($dvoraklayouts)  =       +%v(dvorak):2
513   *             dvorak(basic)   =       +us(dvorak):2
514   *             dvorak(pl_basic)        =       +pl(dvorak):2
515   *             dvorak(pl)      =       +pl(dvorak_quotes):2
516   *             dvorak(pl_altquotes)    =       +pl(dvorak_altquotes):2
517   *             dzdwi(basic)    =       +bt(basic):2
518   *             fi(basic)       =       +fi(classic):2
519   *             ge(azerty_tskapo)       =       +fr(geo):2
520   *             guj(basic)      =       +in(guj):2
521   *             gur(basic)      =       +in(guru):2
522   *             ie(laptop)      =       +ie(basic):2
523   *             ie(CloGaelachLaptop)    =       +ie(CloGaelach):2
524   *             in(urd) =       +in(urd-phonetic):2
525   *             iu(basic)       =       +ca(ike):2
526   *             lo(basic)       =       +la(basic):2
527   *             kan(basic)      =       +in(kan):2
528   *             mal(basic)      =       +in(mal):2
529   *             mal(mlplusnum)  =       +in(mal):2
530   *             ogham(basic)    =       +ie(ogam):2
531   *             ogham(laptop)   =       +ie(ogam):2
532   *             ogham(is434)    =       +ie(ogam_is434):2
533   *             ogham(is434laptop)      =       +ie(ogam_is434):2
534   *             ori(basic)      =       +in(ori):2
535   *             ro(de)  =       +ro(winkeys):2
536   *             ro(us)  =       +ro(std):2
537   *             ro(academic)    =       +ro(std):2
538   *             ro(std_comma)   =       +ro(std):2
539   *             ro(comma)       =       +ro(basic):2
540   *             ru(os)  =       +ru(os_legacy):2
541   *             pk(urd) =       +pk(urd-phonetic):2
542   *             sapmi(basic)    =       +no(smi):2
543   *             sapmi(nodeadkeys)       =       +no(smi_nodeadkeys):2
544   *             sapmi(sefi)     =       +fi(smi):2
545   *             sin(phonetic-static)    =       +in(sin_phonetic):2
546   *             syr(basic)      =       +sy(syc):2
547   *             syr(phonetic)   =       +sy(syc_phonetic):2
548   *             tam(INSCRIPT)   =       +in(tam):2
549   *             tam(UNI)        =       +in(tam_unicode):2
550   *             tam(NUMERAL-KEYBOARD)   =       +in(tam_keyboard_with_numerals):2
551   *             tam(TAB)        =       +in(tam_TAB):2
552   *             tam(TSCII)      =       +in(tam_TSCII):2
553   *             tel(basic)      =       +in(tel):2
554   *             yu(basic)       =       +srp(latin):2
555   *             yu(unicode)     =       +srp(latinunicode):2
556   *             yu(yz)  =       +srp(latinyz):2
557   *             yu(unicodeyz)   =       +srp(latinunicodeyz):2
558   nokiarx51     cz(qwerty)      =       +nokia_vndr/rx-51(cz_qwerty):2
559   nokiarx51     *               =       +nokia_vndr/rx-51(%l[2]%_v[2]):2
560   *             *               =       +%l[2]%(v[2]):2
561
562 ! model         layout[3]       =       symbols
563   *             ar              =       +ara%(v[3]):3
564   *             ben             =       +in(ben):3
565   *             bs              =       +ba%(v[3]):3
566   *             cs              =       +rs%(v[3]):3
567   *             cz_qwerty               =       +cz(qwerty):3
568   *             dev             =       +in(deva):3
569   *             dvorak          =       +us(dvorak):3
570   *             dzdwi           =       +bt%(v[3]):3
571   *             el              =       +gr%(v[3]):3
572   *             en_US           =       +latin%(v[3]):3
573   *             guj             =       +in(guj):3
574   *             gur             =       +in(guru):3
575   *             iu              =       +ca(ike):3
576   *             lo              =       +la%(v[3]):3
577   *             kan             =       +in(kan):3
578   *             mi              =       +mao%(v[3]):3
579   *             ml              =       +in(mal):3
580   *             ogham           =       +ie(ogam):3
581   *             ori             =       +ie(ori):3
582   *             sapmi           =       +no(smi):3
583   *             sr              =       +srp%(v[3]):3
584   *             syr             =       +sy(syc):3
585   *             tel             =       +in(tel):3
586   *             tml             =       +in(tam):3
587   *             yu              =       +srp%(v[3]):3
588   *             fr-latin9               =       +fr(latin9):3
589   *             us_intl         =       +us(alt-intl):3
590   *             ben(basic)      =       +in(ben):3
591   *             ben(probhat)    =       +in(ben_probhat):3
592   *             dev(basic)      =       +in(deva):3
593   *             dvorak($dvoraklayouts)  =       +%v(dvorak):3
594   *             dvorak(basic)   =       +us(dvorak):3
595   *             dvorak(pl_basic)        =       +pl(dvorak):3
596   *             dvorak(pl)      =       +pl(dvorak_quotes):3
597   *             dvorak(pl_altquotes)    =       +pl(dvorak_altquotes):3
598   *             dzdwi(basic)    =       +bt(basic):3
599   *             fi(basic)       =       +fi(classic):3
600   *             ge(azerty_tskapo)       =       +fr(geo):3
601   *             guj(basic)      =       +in(guj):3
602   *             gur(basic)      =       +in(guru):3
603   *             ie(laptop)      =       +ie(basic):3
604   *             ie(CloGaelachLaptop)    =       +ie(CloGaelach):3
605   *             in(urd) =       +in(urd-phonetic):3
606   *             iu(basic)       =       +ca(ike):3
607   *             lo(basic)       =       +la(basic):3
608   *             kan(basic)      =       +in(kan):3
609   *             mal(basic)      =       +in(mal):3
610   *             mal(mlplusnum)  =       +in(mal):3
611   *             ogham(basic)    =       +ie(ogam):3
612   *             ogham(laptop)   =       +ie(ogam):3
613   *             ogham(is434)    =       +ie(ogam_is434):3
614   *             ogham(is434laptop)      =       +ie(ogam_is434):3
615   *             ori(basic)      =       +in(ori):3
616   *             ro(de)  =       +ro(winkeys):3
617   *             ro(us)  =       +ro(std):3
618   *             ro(academic)    =       +ro(std):3
619   *             ro(std_comma)   =       +ro(std):3
620   *             ro(comma)       =       +ro(basic):3
621   *             ru(os)  =       +ru(os_legacy):3
622   *             pk(urd) =       +pk(urd-phonetic):3
623   *             sapmi(basic)    =       +no(smi):3
624   *             sapmi(nodeadkeys)       =       +no(smi_nodeadkeys):3
625   *             sapmi(sefi)     =       +fi(smi):3
626   *             sin(phonetic-static)    =       +in(sin_phonetic):3
627   *             syr(basic)      =       +sy(syc):3
628   *             syr(phonetic)   =       +sy(syc_phonetic):3
629   *             tam(INSCRIPT)   =       +in(tam):3
630   *             tam(UNI)        =       +in(tam_unicode):3
631   *             tam(NUMERAL-KEYBOARD)   =       +in(tam_keyboard_with_numerals):3
632   *             tam(TAB)        =       +in(tam_TAB):3
633   *             tam(TSCII)      =       +in(tam_TSCII):3
634   *             tel(basic)      =       +in(tel):3
635   *             yu(basic)       =       +srp(latin):3
636   *             yu(unicode)     =       +srp(latinunicode):3
637   *             yu(yz)  =       +srp(latinyz):3
638   *             yu(unicodeyz)   =       +srp(latinunicodeyz):3
639   nokiarx51     cz(qwerty)      =       +nokia_vndr/rx-51(cz_qwerty):3
640   nokiarx51     *               =       +nokia_vndr/rx-51(%l[3]%_v[3]):3
641   *             *               =       +%l[3]%(v[3]):3
642
643 ! model         layout[4]       =       symbols
644   *             ar              =       +ara%(v[4]):4
645   *             ben             =       +in(ben):4
646   *             bs              =       +ba%(v[4]):4
647   *             cs              =       +rs%(v[4]):4
648   *             cz_qwerty               =       +cz(qwerty):4
649   *             dev             =       +in(deva):4
650   *             dvorak          =       +us(dvorak):4
651   *             dzdwi           =       +bt%(v[4]):4
652   *             el              =       +gr%(v[4]):4
653   *             en_US           =       +latin%(v[4]):4
654   *             guj             =       +in(guj):4
655   *             gur             =       +in(guru):4
656   *             iu              =       +ca(ike):4
657   *             lo              =       +la%(v[4]):4
658   *             kan             =       +in(kan):4
659   *             mi              =       +mao%(v[4]):4
660   *             ml              =       +in(mal):4
661   *             ogham           =       +ie(ogam):4
662   *             ori             =       +ie(ori):4
663   *             sapmi           =       +no(smi):4
664   *             sr              =       +srp%(v[4]):4
665   *             syr             =       +sy(syc):4
666   *             tel             =       +in(tel):4
667   *             tml             =       +in(tam):4
668   *             yu              =       +srp%(v[4]):4
669   *             fr-latin9               =       +fr(latin9):4
670   *             us_intl         =       +us(alt-intl):4
671   *             ben(basic)      =       +in(ben):4
672   *             ben(probhat)    =       +in(ben_probhat):4
673   *             dev(basic)      =       +in(deva):4
674   *             dvorak($dvoraklayouts)  =       +%v(dvorak):4
675   *             dvorak(basic)   =       +us(dvorak):4
676   *             dvorak(pl_basic)        =       +pl(dvorak):4
677   *             dvorak(pl)      =       +pl(dvorak_quotes):4
678   *             dvorak(pl_altquotes)    =       +pl(dvorak_altquotes):4
679   *             dzdwi(basic)    =       +bt(basic):4
680   *             fi(basic)       =       +fi(classic):4
681   *             ge(azerty_tskapo)       =       +fr(geo):4
682   *             guj(basic)      =       +in(guj):4
683   *             gur(basic)      =       +in(guru):4
684   *             ie(laptop)      =       +ie(basic):4
685   *             ie(CloGaelachLaptop)    =       +ie(CloGaelach):4
686   *             in(urd) =       +in(urd-phonetic):4
687   *             iu(basic)       =       +ca(ike):4
688   *             lo(basic)       =       +la(basic):4
689   *             kan(basic)      =       +in(kan):4
690   *             mal(basic)      =       +in(mal):4
691   *             mal(mlplusnum)  =       +in(mal):4
692   *             ogham(basic)    =       +ie(ogam):4
693   *             ogham(laptop)   =       +ie(ogam):4
694   *             ogham(is434)    =       +ie(ogam_is434):4
695   *             ogham(is434laptop)      =       +ie(ogam_is434):4
696   *             ori(basic)      =       +in(ori):4
697   *             ro(de)  =       +ro(winkeys):4
698   *             ro(us)  =       +ro(std):4
699   *             ro(academic)    =       +ro(std):4
700   *             ro(std_comma)   =       +ro(std):4
701   *             ro(comma)       =       +ro(basic):4
702   *             ru(os)  =       +ru(os_legacy):4
703   *             pk(urd) =       +pk(urd-phonetic):4
704   *             sapmi(basic)    =       +no(smi):4
705   *             sapmi(nodeadkeys)       =       +no(smi_nodeadkeys):4
706   *             sapmi(sefi)     =       +fi(smi):4
707   *             sin(phonetic-static)    =       +in(sin_phonetic):4
708   *             syr(basic)      =       +sy(syc):4
709   *             syr(phonetic)   =       +sy(syc_phonetic):4
710   *             tam(INSCRIPT)   =       +in(tam):4
711   *             tam(UNI)        =       +in(tam_unicode):4
712   *             tam(NUMERAL-KEYBOARD)   =       +in(tam_keyboard_with_numerals):4
713   *             tam(TAB)        =       +in(tam_TAB):4
714   *             tam(TSCII)      =       +in(tam_TSCII):4
715   *             tel(basic)      =       +in(tel):4
716   *             yu(basic)       =       +srp(latin):4
717   *             yu(unicode)     =       +srp(latinunicode):4
718   *             yu(yz)  =       +srp(latinyz):4
719   *             yu(unicodeyz)   =       +srp(latinunicodeyz):4
720   nokiarx51     cz(qwerty)      =       +nokia_vndr/rx-51(cz_qwerty):4
721   nokiarx51     *               =       +nokia_vndr/rx-51(%l[4]%_v[4]):4
722   *             *               =       +%l[4]%(v[4]):4
723
724 ! model         layout[2]       variant[2]      =       symbols
725   *             ben             basic   =       +in(ben):2
726   *             ben             probhat =       +in(ben_probhat):2
727   *             dev             basic   =       +in(deva):2
728   *             dvorak          $dvoraklayouts  =       +%v(dvorak):2
729   *             dvorak          basic   =       +us(dvorak):2
730   *             dvorak          pl_basic        =       +pl(dvorak):2
731   *             dvorak          pl      =       +pl(dvorak_quotes):2
732   *             dvorak          pl_altquotes    =       +pl(dvorak_altquotes):2
733   *             dzdwi           basic   =       +bt(basic):2
734   *             fi              basic   =       +fi(classic):2
735   *             ge              azerty_tskapo   =       +fr(geo):2
736   *             guj             basic   =       +in(guj):2
737   *             gur             basic   =       +in(guru):2
738   *             ie              laptop  =       +ie(basic):2
739   *             ie              CloGaelachLaptop        =       +ie(CloGaelach):2
740   *             in              urd     =       +in(urd-phonetic):2
741   *             iu              basic   =       +ca(ike):2
742   *             lo              basic   =       +la(basic):2
743   *             kan             basic   =       +in(kan):2
744   *             mal             basic   =       +in(mal):2
745   *             mal             mlplusnum       =       +in(mal):2
746   *             ogham           basic   =       +ie(ogam):2
747   *             ogham           laptop  =       +ie(ogam):2
748   *             ogham           is434   =       +ie(ogam_is434):2
749   *             ogham           is434laptop     =       +ie(ogam_is434):2
750   *             ori             basic   =       +in(ori):2
751   *             ro              de      =       +ro(winkeys):2
752   *             ro              us      =       +ro(std):2
753   *             ro              academic        =       +ro(std):2
754   *             ro              std_comma       =       +ro(std):2
755   *             ro              comma   =       +ro(basic):2
756   *             ru              os      =       +ru(os_legacy):2
757   *             pk              urd     =       +pk(urd-phonetic):2
758   *             sapmi           basic   =       +no(smi):2
759   *             sapmi           nodeadkeys      =       +no(smi_nodeadkeys):2
760   *             sapmi           sefi    =       +fi(smi):2
761   *             sin             phonetic-static =       +in(sin_phonetic):2
762   *             syr             basic   =       +sy(syc):2
763   *             syr             phonetic        =       +sy(syc_phonetic):2
764   *             tam             INSCRIPT        =       +in(tam):2
765   *             tam             UNI     =       +in(tam_unicode):2
766   *             tam             NUMERAL-KEYBOARD        =       +in(tam_keyboard_with_numerals):2
767   *             tam             TAB     =       +in(tam_TAB):2
768   *             tam             TSCII   =       +in(tam_TSCII):2
769   *             tel             basic   =       +in(tel):2
770   *             yu              basic   =       +srp(latin):2
771   *             yu              unicode =       +srp(latinunicode):2
772   *             yu              yz      =       +srp(latinyz):2
773   *             yu              unicodeyz       =       +srp(latinunicodeyz):2
774
775 ! model         layout[3]       variant[3]      =       symbols
776   *             ben             basic   =       +in(ben):3
777   *             ben             probhat =       +in(ben_probhat):3
778   *             dev             basic   =       +in(deva):3
779   *             dvorak          $dvoraklayouts  =       +%v(dvorak):3
780   *             dvorak          basic   =       +us(dvorak):3
781   *             dvorak          pl_basic        =       +pl(dvorak):3
782   *             dvorak          pl      =       +pl(dvorak_quotes):3
783   *             dvorak          pl_altquotes    =       +pl(dvorak_altquotes):3
784   *             dzdwi           basic   =       +bt(basic):3
785   *             fi              basic   =       +fi(classic):3
786   *             ge              azerty_tskapo   =       +fr(geo):3
787   *             guj             basic   =       +in(guj):3
788   *             gur             basic   =       +in(guru):3
789   *             ie              laptop  =       +ie(basic):3
790   *             ie              CloGaelachLaptop        =       +ie(CloGaelach):3
791   *             in              urd     =       +in(urd-phonetic):3
792   *             iu              basic   =       +ca(ike):3
793   *             lo              basic   =       +la(basic):3
794   *             kan             basic   =       +in(kan):3
795   *             mal             basic   =       +in(mal):3
796   *             mal             mlplusnum       =       +in(mal):3
797   *             ogham           basic   =       +ie(ogam):3
798   *             ogham           laptop  =       +ie(ogam):3
799   *             ogham           is434   =       +ie(ogam_is434):3
800   *             ogham           is434laptop     =       +ie(ogam_is434):3
801   *             ori             basic   =       +in(ori):3
802   *             ro              de      =       +ro(winkeys):3
803   *             ro              us      =       +ro(std):3
804   *             ro              academic        =       +ro(std):3
805   *             ro              std_comma       =       +ro(std):3
806   *             ro              comma   =       +ro(basic):3
807   *             ru              os      =       +ru(os_legacy):3
808   *             pk              urd     =       +pk(urd-phonetic):3
809   *             sapmi           basic   =       +no(smi):3
810   *             sapmi           nodeadkeys      =       +no(smi_nodeadkeys):3
811   *             sapmi           sefi    =       +fi(smi):3
812   *             sin             phonetic-static =       +in(sin_phonetic):3
813   *             syr             basic   =       +sy(syc):3
814   *             syr             phonetic        =       +sy(syc_phonetic):3
815   *             tam             INSCRIPT        =       +in(tam):3
816   *             tam             UNI     =       +in(tam_unicode):3
817   *             tam             NUMERAL-KEYBOARD        =       +in(tam_keyboard_with_numerals):3
818   *             tam             TAB     =       +in(tam_TAB):3
819   *             tam             TSCII   =       +in(tam_TSCII):3
820   *             tel             basic   =       +in(tel):3
821   *             yu              basic   =       +srp(latin):3
822   *             yu              unicode =       +srp(latinunicode):3
823   *             yu              yz      =       +srp(latinyz):3
824   *             yu              unicodeyz       =       +srp(latinunicodeyz):3
825
826 ! model         layout[4]       variant[4]      =       symbols
827   *             ben             basic   =       +in(ben):4
828   *             ben             probhat =       +in(ben_probhat):4
829   *             dev             basic   =       +in(deva):4
830   *             dvorak          $dvoraklayouts  =       +%v(dvorak):4
831   *             dvorak          basic   =       +us(dvorak):4
832   *             dvorak          pl_basic        =       +pl(dvorak):4
833   *             dvorak          pl      =       +pl(dvorak_quotes):4
834   *             dvorak          pl_altquotes    =       +pl(dvorak_altquotes):4
835   *             dzdwi           basic   =       +bt(basic):4
836   *             fi              basic   =       +fi(classic):4
837   *             ge              azerty_tskapo   =       +fr(geo):4
838   *             guj             basic   =       +in(guj):4
839   *             gur             basic   =       +in(guru):4
840   *             ie              laptop  =       +ie(basic):4
841   *             ie              CloGaelachLaptop        =       +ie(CloGaelach):4
842   *             in              urd     =       +in(urd-phonetic):4
843   *             iu              basic   =       +ca(ike):4
844   *             lo              basic   =       +la(basic):4
845   *             kan             basic   =       +in(kan):4
846   *             mal             basic   =       +in(mal):4
847   *             mal             mlplusnum       =       +in(mal):4
848   *             ogham           basic   =       +ie(ogam):4
849   *             ogham           laptop  =       +ie(ogam):4
850   *             ogham           is434   =       +ie(ogam_is434):4
851   *             ogham           is434laptop     =       +ie(ogam_is434):4
852   *             ori             basic   =       +in(ori):4
853   *             ro              de      =       +ro(winkeys):4
854   *             ro              us      =       +ro(std):4
855   *             ro              academic        =       +ro(std):4
856   *             ro              std_comma       =       +ro(std):4
857   *             ro              comma   =       +ro(basic):4
858   *             ru              os      =       +ru(os_legacy):4
859   *             pk              urd     =       +pk(urd-phonetic):4
860   *             sapmi           basic   =       +no(smi):4
861   *             sapmi           nodeadkeys      =       +no(smi_nodeadkeys):4
862   *             sapmi           sefi    =       +fi(smi):4
863   *             sin             phonetic-static =       +in(sin_phonetic):4
864   *             syr             basic   =       +sy(syc):4
865   *             syr             phonetic        =       +sy(syc_phonetic):4
866   *             tam             INSCRIPT        =       +in(tam):4
867   *             tam             UNI     =       +in(tam_unicode):4
868   *             tam             NUMERAL-KEYBOARD        =       +in(tam_keyboard_with_numerals):4
869   *             tam             TAB     =       +in(tam_TAB):4
870   *             tam             TSCII   =       +in(tam_TSCII):4
871   *             tel             basic   =       +in(tel):4
872   *             yu              basic   =       +srp(latin):4
873   *             yu              unicode =       +srp(latinunicode):4
874   *             yu              yz      =       +srp(latinyz):4
875   *             yu              unicodeyz       =       +srp(latinunicodeyz):4
876
877 ! model         =       symbols
878   $evdevkbds    =   +inet(evdev)+inet(%m)
879   applealu_jis  =   +inet(evdev)+macintosh_vndr/jp(alujiskeys)
880   *             =   +inet(evdev)
881
882 ! layout        variant         =       compat
883   de            neo                     =       +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
884
885 ! layout[1]     variant[1]      =       compat
886   de            neo                     =       +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
887
888 ! layout[2]     variant[2]      =       compat
889   de            neo                     =       +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
890
891 ! layout[3]     variant[3]      =       compat
892   de            neo                     =       +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
893
894 ! layout[4]     variant[4]      =       compat
895   de            neo                     =       +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
896
897 ! model         layout          =       compat
898   pc98          nec_vndr/jp     =       pc98(basic)
899   *             jp              =       complete+japan
900   olpc         *               =       olpc
901   *             *               =       complete
902
903 ! model         layout[1]       =       compat
904   *             *               =       complete
905
906 ! model         =       types
907   $macs         =       complete+numpad(mac)
908   $applealu     =       complete+numpad(mac)
909   $nokiamodels  =       complete+nokia
910   *             =       complete
911
912 ! layout        option  =       symbols
913   $threelevellayouts    grp:alts_toggle = +level3(ralt_switch_for_alts_toggle)
914   *                     misc:typo       = +typo(base)
915
916 ! layout[1]     option  =       symbols
917   $threelevellayouts    grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):1
918   *                     misc:typo       = +typo(base):1
919
920 ! layout[2]     option  =       symbols
921   $threelevellayouts    grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):2
922   *                     misc:typo       = +typo(base):2
923
924 ! layout[3]     option  =       symbols
925   $threelevellayouts    grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):3
926   *                     misc:typo       = +typo(base):3
927
928 ! layout[4]     option  =       symbols
929   $threelevellayouts    grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):4
930   *                     misc:typo       = +typo(base):4
931
932 ! option        =       symbols
933   grp:shift_toggle      =       +group(shifts_toggle)
934   altwin:menu           =       +altwin(menu)
935   altwin:meta_alt       =       +altwin(meta_alt)
936   altwin:ctrl_win       =       +altwin(ctrl_win)
937   altwin:ctrl_alt_win   =       +altwin(ctrl_alt_win)
938   altwin:meta_win       =       +altwin(meta_win)
939   altwin:left_meta_win  =       +altwin(left_meta_win)
940   altwin:hyper_win      =       +altwin(hyper_win)
941   altwin:alt_super_win  =       +altwin(alt_super_win)
942   altwin:swap_lalt_lwin =       +altwin(swap_lalt_lwin)
943   grp:switch            =       +group(switch)
944   grp:lswitch           =       +group(lswitch)
945   grp:win_switch        =       +group(win_switch)
946   grp:lwin_switch       =       +group(lwin_switch)
947   grp:rwin_switch       =       +group(rwin_switch)
948   grp:toggle            =       +group(toggle)
949   grp:shifts_toggle     =       +group(shifts_toggle)
950   grp:ctrls_toggle      =       +group(ctrls_toggle)
951   grp:alts_toggle       =       +group(alts_toggle)
952   grp:caps_toggle       =       +capslock(grouplock)
953   grp:caps_switch       =       +capslock(groupshift)
954   grp:shift_caps_toggle =       +group(shift_caps_toggle)
955   grp:shift_caps_switch =       +group(shift_caps_switch)
956   grp:win_menu_switch   =       +group(win_menu_switch)
957   grp:alt_caps_toggle   =       +group(alt_caps_toggle)
958   grp:alt_space_toggle  =       +group(alt_space_toggle)
959   grp:menu_toggle       =       +group(menu_toggle)
960   grp:lwin_toggle       =       +group(lwin_toggle)
961   grp:rwin_toggle       =       +group(rwin_toggle)
962   grp:lshift_toggle     =       +group(lshift_toggle)
963   grp:rshift_toggle     =       +group(rshift_toggle)
964   grp:rctrl_switch      =       +group(rctrl_switch)
965   grp:lctrl_toggle      =       +group(lctrl_toggle)
966   grp:rctrl_toggle      =       +group(rctrl_toggle)
967   grp:lalt_toggle       =       +group(lalt_toggle)
968   grp:sclk_toggle       =       +group(sclk_toggle)
969   grp:lctrl_rctrl_switch        =       +group(lctrl_rctrl_switch)
970   grp:lctrl_lwin_rctrl_menu     =       +group(lctrl_lwin_rctrl_menu)
971   grp:lctrl_lalt_toggle =       +group(lctrl_lalt_toggle)
972   grp:rctrl_ralt_toggle =       +group(rctrl_ralt_toggle)
973   grp:ctrl_alt_toggle   =       +group(ctrl_alt_toggle)
974   grp:ctrl_alt_toggle_bidir     =       +group(ctrl_alt_toggle_bidir)
975   grp:lctrl_lshift_toggle       =       +group(lctrl_lshift_toggle)
976   grp:rctrl_rshift_toggle       =       +group(rctrl_rshift_toggle)
977   grp:ctrl_shift_toggle =       +group(ctrl_shift_toggle)
978   grp:ctrl_shift_toggle_bidir   =       +group(ctrl_shift_toggle_bidir)
979   grp:lalt_lshift_toggle        =       +group(lalt_lshift_toggle)
980   grp:ralt_rshift_toggle        =       +group(ralt_rshift_toggle)
981   grp:alt_shift_toggle  =       +group(alt_shift_toggle)
982   grp:alt_shift_toggle_bidir    =       +group(alt_shift_toggle_bidir)
983   lv3:switch            =       +level3(switch)
984   lv3:ralt_switch       =       +level3(ralt_switch)
985   lv3:ralt_switch_multikey      =       +level3(ralt_switch_multikey)
986   lv3:ralt_alt          =       +level3(ralt_alt)
987   lv3:lalt_switch       =       +level3(lalt_switch)
988   lv3:alt_switch        =       +level3(alt_switch)
989   lv3:menu_switch       =       +level3(menu_switch)
990   lv3:win_switch        =       +level3(win_switch)
991   lv3:lwin_switch       =       +level3(lwin_switch)
992   lv3:rwin_switch       =       +level3(rwin_switch)
993   lv3:enter_switch      =       +level3(enter_switch)
994   caps:capslock         =       +capslock(capslock)
995   caps:numlock          =       +capslock(numlock)
996   caps:shiftlock        =       +capslock(shiftlock)
997   caps:swapescape       =       +capslock(swapescape)
998   caps:escape           =       +capslock(escape)
999   caps:backspace        =       +capslock(backspace)
1000   caps:super            =       +capslock(super)
1001   caps:hyper            =       +capslock(hyper)
1002   caps:none             =       +capslock(none)
1003   caps:ctrl_modifier    =       +capslock(ctrl_modifier)
1004   ctrl:nocaps           =       +ctrl(nocaps)
1005   ctrl:lctrl_meta       =       +ctrl(lctrl_meta)
1006   ctrl:swapcaps         =       +ctrl(swapcaps)
1007   ctrl:ac_ctrl          =       +ctrl(ac_ctrl)
1008   ctrl:aa_ctrl          =       +ctrl(aa_ctrl)
1009   ctrl:rctrl_ralt       =       +ctrl(rctrl_ralt)
1010   ctrl:menu_rctrl       =       +ctrl(menu_rctrl)
1011   ctrl:ralt_rctrl       =       +ctrl(ralt_rctrl)
1012   compose:ralt          =       +compose(ralt)
1013   compose:lwin          =       +compose(lwin)
1014   compose:rwin          =       +compose(rwin)
1015   compose:menu          =       +compose(menu)
1016   compose:lctrl         =       +compose(lctrl)
1017   compose:rctrl         =       +compose(rctrl)
1018   compose:caps          =       +compose(caps)
1019   compose:102           =       +compose(102)
1020   compose:paus          =       +compose(paus)
1021   compose:prsc          =       +compose(prsc)
1022   compose:sclk          =       +compose(sclk)
1023   srvrkeys:none         =       +srvr_ctrl(no_srvr_keys)
1024   eurosign:e            =       +eurosign(e)
1025   eurosign:2            =       +eurosign(2)
1026   eurosign:4            =       +eurosign(4)
1027   eurosign:5            =       +eurosign(5)
1028   rupeesign:4           =       +rupeesign(4)
1029   keypad:oss            =       +keypad(oss)
1030   keypad:legacy         =       +keypad(legacy)
1031   keypad:legacy_wang    =       +keypad(legacy_wang)
1032   keypad:oss_wang       =       +keypad(oss_wang)
1033   keypad:future         =       +keypad(future)
1034   keypad:future_wang    =       +keypad(future_wang)
1035   keypad:hex            =       +keypad(ops)+keypad(hex)
1036   keypad:atm            =       +keypad(ops)+keypad(hex)+keypad(atm)
1037   nbsp:none             =       +nbsp(none)
1038   nbsp:level2           =       +nbsp(level2)
1039   nbsp:level3           =       +nbsp(level3)
1040   nbsp:level3s          =       +nbsp(level3s)
1041   nbsp:level3n          =       +nbsp(level3n)
1042   nbsp:level4           =       +nbsp(level4)
1043   nbsp:level4n          =       +nbsp(level4n)
1044   nbsp:level4nl         =       +nbsp(level4nl)
1045   japan:nicola_f_bs     =       +jp(nicola_f_bs)
1046   japan:hztg_escape     =       +jp(hztg_escape)
1047   kpdl:dot              =       +kpdl(dot)
1048   kpdl:comma            =       +kpdl(comma)
1049   kpdl:dotoss           =       +kpdl(dotoss)
1050   kpdl:dotoss_latin9    =       +kpdl(dotoss_latin9)
1051   kpdl:commaoss         =       +kpdl(commaoss)
1052   kpdl:momayyezoss      =       +kpdl(momayyezoss)
1053   kpdl:kposs            =       +kpdl(kposs)
1054   kpdl:semi             =       +kpdl(semi)
1055   shift:breaks_caps     =       +shift(breaks_caps)
1056   esperanto:qwerty      =       +epo(qwerty)
1057   esperanto:dvorak      =       +epo(dvorak)
1058   terminate:ctrl_alt_bksp =     +terminate(ctrl_alt_bksp)
1059   keypad:pointerkeys    =       +keypad(pointerkeys)
1060   apple:alupckeys       =       +macintosh_vndr/apple(alupckeys)
1061   shift:both_capslock                =       +shift(both_capslock)
1062   shift:lshift_both_capslock         =       +shift(lshift_both_capslock)
1063   shift:rshift_both_capslock         =       +shift(rshift_both_capslock)
1064   shift:both_capslock_cancel         =       +shift(both_capslock_cancel)
1065   shift:lshift_both_capslock_cancel  =       +shift(lshift_both_capslock_cancel)
1066   shift:rshift_both_capslock_cancel  =       +shift(rshift_both_capslock_cancel)
1067   shift:both_shiftlock               =       +shift(both_shiftlock)
1068   shift:lshift_both_shiftlock        =       +shift(lshift_both_shiftlock)
1069   shift:rshift_both_shiftlock        =       +shift(rshift_both_shiftlock)
1070   lv3:caps_switch                    =       +level3(caps_switch)
1071   lv3:bksl_switch                    =       +level3(bksl_switch)
1072   lv3:lsgt_switch                    =       +level3(lsgt_switch)
1073   lv3:caps_switch_latch              =       +level3(caps_switch_latch)
1074   lv3:bksl_switch_latch              =       +level3(bksl_switch_latch)
1075   lv3:lsgt_switch_latch              =       +level3(lsgt_switch_latch)
1076   lv5:lsgt_switch_lock            =       +level5(lsgt_switch_lock)
1077   lv5:ralt_switch_lock            =       +level5(ralt_switch_lock)
1078   lv5:lwin_switch_lock            =       +level5(lwin_switch_lock)
1079   lv5:rwin_switch_lock            =       +level5(rwin_switch_lock)
1080   lv5:lsgt_switch_lock_cancel     =       +level5(lsgt_switch_lock_cancel)
1081   lv5:ralt_switch_lock_cancel     =       +level5(ralt_switch_lock_cancel)
1082   lv5:lwin_switch_lock_cancel     =       +level5(lwin_switch_lock_cancel)
1083   lv5:rwin_switch_lock_cancel     =       +level5(rwin_switch_lock_cancel)
1084
1085
1086
1087 ! option        =       compat
1088   grp_led:num           =       +lednum(group_lock)
1089   grp_led:caps          =       +ledcaps(group_lock)
1090   grp_led:scroll        =       +ledscroll(group_lock)
1091   caps:shiftlock        =       +ledcaps(shift_lock)
1092   grab:break_actions    =       +xfree86(grab_break)