xref: /netbsd-src/external/mit/xorg/lib/xkeyboard-config/rules/evdev (revision 9ac63422b666fbe53a067de74d8af2aa4e45a08b)
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  pc98		=	evdev(pc98)
120  applealu_jis	=	evdev+macintosh(jisevdev)
121  *		=	evdev
122
123! layout[1]	=	keycodes
124  $azerty       =       +aliases(azerty)
125  $qwertz       =       +aliases(qwertz)
126  *             =       +aliases(qwerty)
127
128! layout	=	keycodes
129  $azerty       =       +aliases(azerty)
130  $qwertz       =       +aliases(qwertz)
131  *             =       +aliases(qwerty)
132
133! option	=	keycodes
134
135! model		layout	=	geometry
136  thinkpad     us              =       thinkpad(us)
137
138! model		=	geometry
139  microsoftelite	=	microsoft(elite)
140 $msmodels	=	microsoft(natural)
141  dell101	=	dell(dell101)
142  dellm65	=	dell(dellm65)
143  latitude	=	dell(latitude)
144  flexpro	=	keytronic(FlexPro)
145  hp6000	=	hp(omnibook)
146  hpmini110	=	hp(mini110)
147  hpdv5		=	hp(dv5)
148  omnikey101	=	northgate(omnikey101)
149  sanwaskbkg3	=	sanwa(sanwaskbkg3)
150 $pcmodels	=	pc(%m)
151 $pcgeometries	=	pc(%m)
152  everex	=	everex(STEPnote)
153  thinkpad	=	thinkpad(intl)
154  thinkpad60	=	thinkpad(60)
155  thinkpadz60	=	thinkpad(60)
156 $tmgeometries	=	typematrix(%m)
157  winbook	=	winbook(XP5)
158  pc98		=	nec(pc98)
159 $applealu	=	macintosh(%m)
160 $macbooks      =       macintosh(%m)
161 $macs		=	macintosh(macintosh)
162  hhk		=	hhk(basic)
163  kinesis	=	kinesis(model100)
164 $nokiamodels	=	nokia(%m)
165  *		=       pc(pc104)
166
167! model		layout		variant		=	symbols
168  *		ben		basic		=	pc+in(ben)
169  *		ben		probhat		=	pc+in(ben_probhat)
170  *		dev		basic		=	pc+in(deva)
171  *		dvorak		$dvoraklayouts		=	pc+%v(dvorak)
172  *		dvorak		basic		=	pc+us(dvorak)
173  *		dvorak		pl_basic		=	pc+pl(dvorak)
174  *		dvorak		pl		=	pc+pl(dvorak_quotes)
175  *		dvorak		pl_altquotes		=	pc+pl(dvorak_altquotes)
176  *		dzdwi		basic		=	pc+bt(basic)
177  *		fi		basic		=	pc+fi(classic)
178  *		ge		azerty_tskapo		=	pc+fr(geo)
179  *		guj		basic		=	pc+in(guj)
180  *		gur		basic		=	pc+in(guru)
181  *		ie		laptop		=	pc+ie(basic)
182  *		ie		CloGaelachLaptop		=	pc+ie(CloGaelach)
183  *		in		urd		=	pc+in(urd-phonetic)
184  *		iu		basic		=	pc+ca(ike)
185  *		lo		basic		=	pc+la(basic)
186  *		kan		basic		=	pc+in(kan)
187  *		mal		basic		=	pc+in(mal)
188  *		mal		mlplusnum		=	pc+in(mal)
189  *		ogham		basic		=	pc+ie(ogam)
190  *		ogham		laptop		=	pc+ie(ogam)
191  *		ogham		is434		=	pc+ie(ogam_is434)
192  *		ogham		is434laptop		=	pc+ie(ogam_is434)
193  *		ori		basic		=	pc+in(ori)
194  *		ro		de		=	pc+ro(winkeys)
195  *		ro		us		=	pc+ro(std)
196  *		ro		academic		=	pc+ro(std)
197  *		ro		std_comma		=	pc+ro(std)
198  *		ro		comma		=	pc+ro(basic)
199  *		ru		os		=	pc+ru(os_legacy)
200  *		pk		urd		=	pc+pk(urd-phonetic)
201  *		sapmi		basic		=	pc+no(smi)
202  *		sapmi		nodeadkeys		=	pc+no(smi_nodeadkeys)
203  *		sapmi		sefi		=	pc+fi(smi)
204  *		sin		phonetic-static		=	pc+in(sin_phonetic)
205  *		syr		basic		=	pc+sy(syc)
206  *		syr		phonetic		=	pc+sy(syc_phonetic)
207  *		tam		INSCRIPT		=	pc+in(tam)
208  *		tam		UNI		=	pc+in(tam_unicode)
209  *		tam		NUMERAL-KEYBOARD		=	pc+in(tam_keyboard_with_numerals)
210  *		tam		TAB		=	pc+in(tam_TAB)
211  *		tam		TSCII		=	pc+in(tam_TSCII)
212  *		tel		basic		=	pc+in(tel)
213  *		yu		basic		=	pc+srp(latin)
214  *		yu		unicode		=	pc+srp(latinunicode)
215  *		yu		yz		=	pc+srp(latinyz)
216  *		yu		unicodeyz		=	pc+srp(latinunicodeyz)
217  classmate	us		intl		=	pc+us(classmate-intl)
218  classmate	us		alt-intl	=	pc+us(classmate-alt-intl)
219  classmate	us		altgr-intl	=	pc+us(classmate-altgr-intl)
220  nokiarx51	cz		qwerty		=	nokia_vndr/rx-51(cz_qwerty)
221
222! model		layout				=	symbols
223  *		ar			=	pc+ara
224  *		ben			=	pc+in(ben)
225  *		bs			=	pc+ba
226  *		cs			=	pc+rs
227  *		cz_qwerty			=	pc+cz(qwerty)
228  *		dev			=	pc+in(deva)
229  *		dvorak			=	pc+us(dvorak)
230  *		dzdwi			=	pc+bt
231  *		el			=	pc+gr
232  *		en_US			=	pc+latin
233  *		guj			=	pc+in(guj)
234  *		gur			=	pc+in(guru)
235  *		iu			=	pc+ca(ike)
236  *		lo			=	pc+la
237  *		kan			=	pc+in(kan)
238  *		mi			=	pc+mao
239  *		ml			=	pc+in(mal)
240  *		ogham			=	pc+ie(ogam)
241  *		ori			=	pc+ie(ori)
242  *		sapmi			=	pc+no(smi)
243  *		sr			=	pc+srp
244  *		syr			=	pc+sy(syc)
245  *		tel			=	pc+in(tel)
246  *		tml			=	pc+in(tam)
247  *		yu			=	pc+srp
248  *		fr-latin9			=	pc+fr(latin9)
249  *		us_intl			=	pc+us(alt-intl)
250  *		ben(basic)			=	pc+in(ben)
251  *		ben(probhat)			=	pc+in(ben_probhat)
252  *		dev(basic)			=	pc+in(deva)
253  *		dvorak($dvoraklayouts)			=	pc+%v(dvorak)
254  *		dvorak(basic)			=	pc+us(dvorak)
255  *		dvorak(pl_basic)			=	pc+pl(dvorak)
256  *		dvorak(pl)			=	pc+pl(dvorak_quotes)
257  *		dvorak(pl_altquotes)			=	pc+pl(dvorak_altquotes)
258  *		dzdwi(basic)			=	pc+bt(basic)
259  *		fi(basic)			=	pc+fi(classic)
260  *		ge(azerty_tskapo)			=	pc+fr(geo)
261  *		guj(basic)			=	pc+in(guj)
262  *		gur(basic)			=	pc+in(guru)
263  *		ie(laptop)			=	pc+ie(basic)
264  *		ie(CloGaelachLaptop)			=	pc+ie(CloGaelach)
265  *		in(urd)			=	pc+in(urd-phonetic)
266  *		iu(basic)			=	pc+ca(ike)
267  *		lo(basic)			=	pc+la(basic)
268  *		kan(basic)			=	pc+in(kan)
269  *		mal(basic)			=	pc+in(mal)
270  *		mal(mlplusnum)			=	pc+in(mal)
271  *		ogham(basic)			=	pc+ie(ogam)
272  *		ogham(laptop)			=	pc+ie(ogam)
273  *		ogham(is434)			=	pc+ie(ogam_is434)
274  *		ogham(is434laptop)			=	pc+ie(ogam_is434)
275  *		ori(basic)			=	pc+in(ori)
276  *		ro(de)			=	pc+ro(winkeys)
277  *		ro(us)			=	pc+ro(std)
278  *		ro(academic)			=	pc+ro(std)
279  *		ro(std_comma)			=	pc+ro(std)
280  *		ro(comma)			=	pc+ro(basic)
281  *		ru(os)			=	pc+ru(os_legacy)
282  *		pk(urd)			=	pc+pk(urd-phonetic)
283  *		sapmi(basic)			=	pc+no(smi)
284  *		sapmi(nodeadkeys)			=	pc+no(smi_nodeadkeys)
285  *		sapmi(sefi)			=	pc+fi(smi)
286  *		sin(phonetic-static)			=	pc+in(sin_phonetic)
287  *		syr(basic)			=	pc+sy(syc)
288  *		syr(phonetic)			=	pc+sy(syc_phonetic)
289  *		tam(INSCRIPT)			=	pc+in(tam)
290  *		tam(UNI)			=	pc+in(tam_unicode)
291  *		tam(NUMERAL-KEYBOARD)			=	pc+in(tam_keyboard_with_numerals)
292  *		tam(TAB)			=	pc+in(tam_TAB)
293  *		tam(TSCII)			=	pc+in(tam_TSCII)
294  *		tel(basic)			=	pc+in(tel)
295  *		yu(basic)			=	pc+srp(latin)
296  *		yu(unicode)			=	pc+srp(latinunicode)
297  *		yu(yz)			=	pc+srp(latinyz)
298  *		yu(unicodeyz)			=	pc+srp(latinunicodeyz)
299  ataritt	$nonlatin		=	xfree68_vndr/ataritt(us)+%l%(v):2
300  ataritt	*			=	xfree68_vndr/ataritt(us)+%l%(v)
301  amiga		$nonlatin		=	xfree68_vndr/amiga(usa1)+%l%(v):2
302  amiga		*			=	xfree68_vndr/amiga(usa1)+%l%(v)
303  classmate	us			=	pc+%l(classmate)
304  empty         *                       =       empty(basic)
305  *             empty                   =       empty(basic)
306  sun4		$nonlatin		=	latin+sun_vndr/us(type4)+%l%(v):2
307  sun4		*			=	latin+sun_vndr/us(type4)+%l%(v)
308  sun5		$nonlatin		=	latin+sun_vndr/us(type5)+%l%(v):2
309  sun5		*			=	latin+sun_vndr/us(type5)+%l%(v)
310  sun6		us			=	pc+sun_vndr/us(type6)
311  sun6		en_US			=	pc+sun_vndr/us(type6)+iso9995-3(basic)
312  sun6		$sun_t6_custom		=	pc+sun_vndr/us(type6)+sun_vndr/%l%(v)
313  sun6		*			=	pc+sun_vndr/us(type6)+%l%(v)
314  sun6euro	us			=	pc+sun_vndr/us(type6)
315  sun6euro	en_US			=	pc+sun_vndr/us(type6)+iso9995-3(basic)
316  sun6euro	$sun_t6_custom		=	pc+sun_vndr/us(type6)+sun_vndr/%l%(v)
317  sun6euro	*			=	pc+sun_vndr/us(type6)+%l%(v)
318  pc98		nec_vndr/jp		=	nec_vndr/jp(pc98)
319  macintosh_old	us			=	macintosh_vndr/us(oldmac)
320  macintosh_old	en_US			=	macintosh_vndr/us(oldmac)
321  macintosh_old	$macvendorlayouts	=	macintosh_vndr/us(oldmac)+macintosh_vndr/%l%(v)
322  macintosh_old	$nonlatin		=	macintosh_vndr/us(oldmac)+%l%(v):2
323  macintosh_old	*			=	macintosh_vndr/us(oldmac)+%l%(v)
324  applealu_jis	jp			=	macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac)+macintosh_vndr/jp(mac):2
325  applealu_jis	*			=	macintosh_vndr/apple(alukbd)+%l%(v)+macintosh_vndr/jp(mac):2
326 $applealu	$macvendorlayouts	=	macintosh_vndr/apple(alukbd)+macintosh_vndr/%l%(v)
327 $applealu	*			=	macintosh_vndr/apple(alukbd)+%l%(v)
328 $macs		en_US			=	pc+macintosh_vndr/us(extended)
329 $macs		$macvendorlayouts	=	pc+macintosh_vndr/%l%(v)
330  nokiarx44	*			=	nokia_vndr/rx-44(%l)
331  nokiarx51	cz(qwerty)		=	nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty)
332  nokiarx51	*			=	nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l%_v)
333  nokiasu8w	*			=	nokia_vndr/su-8w(%l)
334  olpc		$olpclayouts		=	olpc+%l%(m)
335  olpc		*			=	olpc+%l%(v)
336 $thinkpads   	br			=	pc+br(thinkpad)
337  sl-c3x00	*			=	pc+sharp_vndr/sl-c3x00(basic)
338  ws003sh	*			=	pc+sharp_vndr/ws003sh(basic)
339  ws007sh	*			=	pc+sharp_vndr/ws007sh(basic)
340  ws011sh	*			=	pc+sharp_vndr/ws011sh(basic)
341  ws020sh	*			=	pc+sharp_vndr/ws020sh(basic)
342  htcdream	$htcdreamlayouts	=	%l(htcdream)
343  *	   	$nonlatin		=	pc+us+%l%(v):2
344  *		*			=	pc+%l%(v)
345
346! model		layout[1]			=	symbols
347  *		ar			=	pc+ara%(v[1])
348  *		ben			=	pc+in(ben)
349  *		bs			=	pc+ba%(v[1])
350  *		cs			=	pc+rs%(v[1])
351  *		cz_qwerty			=	pc+cz(qwerty)
352  *		dev			=	pc+in(deva)
353  *		dvorak			=	pc+us(dvorak)
354  *		dzdwi			=	pc+bt%(v[1])
355  *		el			=	pc+gr%(v[1])
356  *		en_US			=	pc+latin%(v[1])
357  *		guj			=	pc+in(guj)
358  *		gur			=	pc+in(guru)
359  *		iu			=	pc+ca(ike)
360  *		lo			=	pc+la%(v[1])
361  *		kan			=	pc+in(kan)
362  *		mi			=	pc+mao%(v[1])
363  *		ml			=	pc+in(mal)
364  *		ogham			=	pc+ie(ogam)
365  *		ori			=	pc+ie(ori)
366  *		sapmi			=	pc+no(smi)
367  *		sr			=	pc+srp%(v[1])
368  *		syr			=	pc+sy(syc)
369  *		tel			=	pc+in(tel)
370  *		tml			=	pc+in(tam)
371  *		yu			=	pc+srp%(v[1])
372  *		fr-latin9			=	pc+fr(latin9)
373  *		us_intl			=	pc+us(alt-intl)
374  *		ben(basic)			=	pc+in(ben)
375  *		ben(probhat)			=	pc+in(ben_probhat)
376  *		dev(basic)			=	pc+in(deva)
377  *		dvorak($dvoraklayouts)			=	pc+%v(dvorak)
378  *		dvorak(basic)			=	pc+us(dvorak)
379  *		dvorak(pl_basic)			=	pc+pl(dvorak)
380  *		dvorak(pl)			=	pc+pl(dvorak_quotes)
381  *		dvorak(pl_altquotes)			=	pc+pl(dvorak_altquotes)
382  *		dzdwi(basic)			=	pc+bt(basic)
383  *		fi(basic)			=	pc+fi(classic)
384  *		ge(azerty_tskapo)			=	pc+fr(geo)
385  *		guj(basic)			=	pc+in(guj)
386  *		gur(basic)			=	pc+in(guru)
387  *		ie(laptop)			=	pc+ie(basic)
388  *		ie(CloGaelachLaptop)			=	pc+ie(CloGaelach)
389  *		in(urd)			=	pc+in(urd-phonetic)
390  *		iu(basic)			=	pc+ca(ike)
391  *		lo(basic)			=	pc+la(basic)
392  *		kan(basic)			=	pc+in(kan)
393  *		mal(basic)			=	pc+in(mal)
394  *		mal(mlplusnum)			=	pc+in(mal)
395  *		ogham(basic)			=	pc+ie(ogam)
396  *		ogham(laptop)			=	pc+ie(ogam)
397  *		ogham(is434)			=	pc+ie(ogam_is434)
398  *		ogham(is434laptop)			=	pc+ie(ogam_is434)
399  *		ori(basic)			=	pc+in(ori)
400  *		ro(de)			=	pc+ro(winkeys)
401  *		ro(us)			=	pc+ro(std)
402  *		ro(academic)			=	pc+ro(std)
403  *		ro(std_comma)			=	pc+ro(std)
404  *		ro(comma)			=	pc+ro(basic)
405  *		ru(os)			=	pc+ru(os_legacy)
406  *		pk(urd)			=	pc+pk(urd-phonetic)
407  *		sapmi(basic)			=	pc+no(smi)
408  *		sapmi(nodeadkeys)			=	pc+no(smi_nodeadkeys)
409  *		sapmi(sefi)			=	pc+fi(smi)
410  *		sin(phonetic-static)			=	pc+in(sin_phonetic)
411  *		syr(basic)			=	pc+sy(syc)
412  *		syr(phonetic)			=	pc+sy(syc_phonetic)
413  *		tam(INSCRIPT)			=	pc+in(tam)
414  *		tam(UNI)			=	pc+in(tam_unicode)
415  *		tam(NUMERAL-KEYBOARD)			=	pc+in(tam_keyboard_with_numerals)
416  *		tam(TAB)			=	pc+in(tam_TAB)
417  *		tam(TSCII)			=	pc+in(tam_TSCII)
418  *		tel(basic)			=	pc+in(tel)
419  *		yu(basic)			=	pc+srp(latin)
420  *		yu(unicode)			=	pc+srp(latinunicode)
421  *		yu(yz)			=	pc+srp(latinyz)
422  *		yu(unicodeyz)			=	pc+srp(latinunicodeyz)
423  ataritt	*			=	xfree68_vndr/ataritt(us)+%l[1]%(v[1])
424  amiga		*			=	xfree68_vndr/amiga(usa1)+%l[1]%(v[1])
425  sun4		*			=	latin+sun_vndr/us(type4)+%l[1]%(v[1])
426  sun5		*			=	latin+sun_vndr/us(type5)+%l[1]%(v[1])
427  macintosh_old	us			=	macintosh_vndr/us(oldmac)
428  macintosh_old	$macvendorlayouts	=	macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1])
429  macintosh_old	*			=	macintosh_vndr/us(oldmac)+%l[1]%(v[1])
430  applealu_jis	us			=	macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac)
431 $applealu	$macvendorlayouts	=	macintosh_vndr/apple(alukbd)+macintosh_vndr/%l[1]%(v[1])
432 $applealu	*			=	macintosh_vndr/apple(alukbd)+%l[1]%(v[1])
433 $macs		$macvendorlayouts	=	pc+macintosh_vndr/%l[1]%(v[1])
434  nokiarx51	cz(qwerty)		=	nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty)
435  nokiarx51	*			=	nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l[1]%_v[1])
436 $thinkpads	br			=	pc+%l[1](thinkpad)
437  *		*			=	pc+%l[1]%(v[1])
438
439! model		layout[1]	variant[1]	=	symbols
440  *		ben		basic		=	pc+in(ben)
441  *		ben		probhat		=	pc+in(ben_probhat)
442  *		dev		basic		=	pc+in(deva)
443  *		dvorak		$dvoraklayouts		=	pc+%v(dvorak)
444  *		dvorak		basic		=	pc+us(dvorak)
445  *		dvorak		pl_basic		=	pc+pl(dvorak)
446  *		dvorak		pl		=	pc+pl(dvorak_quotes)
447  *		dvorak		pl_altquotes		=	pc+pl(dvorak_altquotes)
448  *		dzdwi		basic		=	pc+bt(basic)
449  *		fi		basic		=	pc+fi(classic)
450  *		ge		azerty_tskapo		=	pc+fr(geo)
451  *		guj		basic		=	pc+in(guj)
452  *		gur		basic		=	pc+in(guru)
453  *		ie		laptop		=	pc+ie(basic)
454  *		ie		CloGaelachLaptop		=	pc+ie(CloGaelach)
455  *		in		urd		=	pc+in(urd-phonetic)
456  *		iu		basic		=	pc+ca(ike)
457  *		lo		basic		=	pc+la(basic)
458  *		kan		basic		=	pc+in(kan)
459  *		mal		basic		=	pc+in(mal)
460  *		mal		mlplusnum		=	pc+in(mal)
461  *		ogham		basic		=	pc+ie(ogam)
462  *		ogham		laptop		=	pc+ie(ogam)
463  *		ogham		is434		=	pc+ie(ogam_is434)
464  *		ogham		is434laptop		=	pc+ie(ogam_is434)
465  *		ori		basic		=	pc+in(ori)
466  *		ro		de		=	pc+ro(winkeys)
467  *		ro		us		=	pc+ro(std)
468  *		ro		academic		=	pc+ro(std)
469  *		ro		std_comma		=	pc+ro(std)
470  *		ro		comma		=	pc+ro(basic)
471  *		ru		os		=	pc+ru(os_legacy)
472  *		pk		urd		=	pc+pk(urd-phonetic)
473  *		sapmi		basic		=	pc+no(smi)
474  *		sapmi		nodeadkeys		=	pc+no(smi_nodeadkeys)
475  *		sapmi		sefi		=	pc+fi(smi)
476  *		sin		phonetic-static		=	pc+in(sin_phonetic)
477  *		syr		basic		=	pc+sy(syc)
478  *		syr		phonetic		=	pc+sy(syc_phonetic)
479  *		tam		INSCRIPT		=	pc+in(tam)
480  *		tam		UNI		=	pc+in(tam_unicode)
481  *		tam		NUMERAL-KEYBOARD		=	pc+in(tam_keyboard_with_numerals)
482  *		tam		TAB		=	pc+in(tam_TAB)
483  *		tam		TSCII		=	pc+in(tam_TSCII)
484  *		tel		basic		=	pc+in(tel)
485  *		yu		basic		=	pc+srp(latin)
486  *		yu		unicode		=	pc+srp(latinunicode)
487  *		yu		yz		=	pc+srp(latinyz)
488  *		yu		unicodeyz		=	pc+srp(latinunicodeyz)
489
490! model		layout[2]	=	symbols
491  *		ar		=	+ara%(v[2]):2
492  *		ben		=	+in(ben):2
493  *		bs		=	+ba%(v[2]):2
494  *		cs		=	+rs%(v[2]):2
495  *		cz_qwerty		=	+cz(qwerty):2
496  *		dev		=	+in(deva):2
497  *		dvorak		=	+us(dvorak):2
498  *		dzdwi		=	+bt%(v[2]):2
499  *		el		=	+gr%(v[2]):2
500  *		en_US		=	+latin%(v[2]):2
501  *		guj		=	+in(guj):2
502  *		gur		=	+in(guru):2
503  *		iu		=	+ca(ike):2
504  *		lo		=	+la%(v[2]):2
505  *		kan		=	+in(kan):2
506  *		mi		=	+mao%(v[2]):2
507  *		ml		=	+in(mal):2
508  *		ogham		=	+ie(ogam):2
509  *		ori		=	+ie(ori):2
510  *		sapmi		=	+no(smi):2
511  *		sr		=	+srp%(v[2]):2
512  *		syr		=	+sy(syc):2
513  *		tel		=	+in(tel):2
514  *		tml		=	+in(tam):2
515  *		yu		=	+srp%(v[2]):2
516  *		fr-latin9		=	+fr(latin9):2
517  *		us_intl		=	+us(alt-intl):2
518  *		ben(basic)	=	+in(ben):2
519  *		ben(probhat)	=	+in(ben_probhat):2
520  *		dev(basic)	=	+in(deva):2
521  *		dvorak($dvoraklayouts)	=	+%v(dvorak):2
522  *		dvorak(basic)	=	+us(dvorak):2
523  *		dvorak(pl_basic)	=	+pl(dvorak):2
524  *		dvorak(pl)	=	+pl(dvorak_quotes):2
525  *		dvorak(pl_altquotes)	=	+pl(dvorak_altquotes):2
526  *		dzdwi(basic)	=	+bt(basic):2
527  *		fi(basic)	=	+fi(classic):2
528  *		ge(azerty_tskapo)	=	+fr(geo):2
529  *		guj(basic)	=	+in(guj):2
530  *		gur(basic)	=	+in(guru):2
531  *		ie(laptop)	=	+ie(basic):2
532  *		ie(CloGaelachLaptop)	=	+ie(CloGaelach):2
533  *		in(urd)	=	+in(urd-phonetic):2
534  *		iu(basic)	=	+ca(ike):2
535  *		lo(basic)	=	+la(basic):2
536  *		kan(basic)	=	+in(kan):2
537  *		mal(basic)	=	+in(mal):2
538  *		mal(mlplusnum)	=	+in(mal):2
539  *		ogham(basic)	=	+ie(ogam):2
540  *		ogham(laptop)	=	+ie(ogam):2
541  *		ogham(is434)	=	+ie(ogam_is434):2
542  *		ogham(is434laptop)	=	+ie(ogam_is434):2
543  *		ori(basic)	=	+in(ori):2
544  *		ro(de)	=	+ro(winkeys):2
545  *		ro(us)	=	+ro(std):2
546  *		ro(academic)	=	+ro(std):2
547  *		ro(std_comma)	=	+ro(std):2
548  *		ro(comma)	=	+ro(basic):2
549  *		ru(os)	=	+ru(os_legacy):2
550  *		pk(urd)	=	+pk(urd-phonetic):2
551  *		sapmi(basic)	=	+no(smi):2
552  *		sapmi(nodeadkeys)	=	+no(smi_nodeadkeys):2
553  *		sapmi(sefi)	=	+fi(smi):2
554  *		sin(phonetic-static)	=	+in(sin_phonetic):2
555  *		syr(basic)	=	+sy(syc):2
556  *		syr(phonetic)	=	+sy(syc_phonetic):2
557  *		tam(INSCRIPT)	=	+in(tam):2
558  *		tam(UNI)	=	+in(tam_unicode):2
559  *		tam(NUMERAL-KEYBOARD)	=	+in(tam_keyboard_with_numerals):2
560  *		tam(TAB)	=	+in(tam_TAB):2
561  *		tam(TSCII)	=	+in(tam_TSCII):2
562  *		tel(basic)	=	+in(tel):2
563  *		yu(basic)	=	+srp(latin):2
564  *		yu(unicode)	=	+srp(latinunicode):2
565  *		yu(yz)	=	+srp(latinyz):2
566  *		yu(unicodeyz)	=	+srp(latinunicodeyz):2
567  nokiarx51	cz(qwerty)	=	+nokia_vndr/rx-51(cz_qwerty):2
568  nokiarx51	*		=	+nokia_vndr/rx-51(%l[2]%_v[2]):2
569  *		*		=	+%l[2]%(v[2]):2
570
571! model		layout[3]	=	symbols
572  *		ar		=	+ara%(v[3]):3
573  *		ben		=	+in(ben):3
574  *		bs		=	+ba%(v[3]):3
575  *		cs		=	+rs%(v[3]):3
576  *		cz_qwerty		=	+cz(qwerty):3
577  *		dev		=	+in(deva):3
578  *		dvorak		=	+us(dvorak):3
579  *		dzdwi		=	+bt%(v[3]):3
580  *		el		=	+gr%(v[3]):3
581  *		en_US		=	+latin%(v[3]):3
582  *		guj		=	+in(guj):3
583  *		gur		=	+in(guru):3
584  *		iu		=	+ca(ike):3
585  *		lo		=	+la%(v[3]):3
586  *		kan		=	+in(kan):3
587  *		mi		=	+mao%(v[3]):3
588  *		ml		=	+in(mal):3
589  *		ogham		=	+ie(ogam):3
590  *		ori		=	+ie(ori):3
591  *		sapmi		=	+no(smi):3
592  *		sr		=	+srp%(v[3]):3
593  *		syr		=	+sy(syc):3
594  *		tel		=	+in(tel):3
595  *		tml		=	+in(tam):3
596  *		yu		=	+srp%(v[3]):3
597  *		fr-latin9		=	+fr(latin9):3
598  *		us_intl		=	+us(alt-intl):3
599  *		ben(basic)	=	+in(ben):3
600  *		ben(probhat)	=	+in(ben_probhat):3
601  *		dev(basic)	=	+in(deva):3
602  *		dvorak($dvoraklayouts)	=	+%v(dvorak):3
603  *		dvorak(basic)	=	+us(dvorak):3
604  *		dvorak(pl_basic)	=	+pl(dvorak):3
605  *		dvorak(pl)	=	+pl(dvorak_quotes):3
606  *		dvorak(pl_altquotes)	=	+pl(dvorak_altquotes):3
607  *		dzdwi(basic)	=	+bt(basic):3
608  *		fi(basic)	=	+fi(classic):3
609  *		ge(azerty_tskapo)	=	+fr(geo):3
610  *		guj(basic)	=	+in(guj):3
611  *		gur(basic)	=	+in(guru):3
612  *		ie(laptop)	=	+ie(basic):3
613  *		ie(CloGaelachLaptop)	=	+ie(CloGaelach):3
614  *		in(urd)	=	+in(urd-phonetic):3
615  *		iu(basic)	=	+ca(ike):3
616  *		lo(basic)	=	+la(basic):3
617  *		kan(basic)	=	+in(kan):3
618  *		mal(basic)	=	+in(mal):3
619  *		mal(mlplusnum)	=	+in(mal):3
620  *		ogham(basic)	=	+ie(ogam):3
621  *		ogham(laptop)	=	+ie(ogam):3
622  *		ogham(is434)	=	+ie(ogam_is434):3
623  *		ogham(is434laptop)	=	+ie(ogam_is434):3
624  *		ori(basic)	=	+in(ori):3
625  *		ro(de)	=	+ro(winkeys):3
626  *		ro(us)	=	+ro(std):3
627  *		ro(academic)	=	+ro(std):3
628  *		ro(std_comma)	=	+ro(std):3
629  *		ro(comma)	=	+ro(basic):3
630  *		ru(os)	=	+ru(os_legacy):3
631  *		pk(urd)	=	+pk(urd-phonetic):3
632  *		sapmi(basic)	=	+no(smi):3
633  *		sapmi(nodeadkeys)	=	+no(smi_nodeadkeys):3
634  *		sapmi(sefi)	=	+fi(smi):3
635  *		sin(phonetic-static)	=	+in(sin_phonetic):3
636  *		syr(basic)	=	+sy(syc):3
637  *		syr(phonetic)	=	+sy(syc_phonetic):3
638  *		tam(INSCRIPT)	=	+in(tam):3
639  *		tam(UNI)	=	+in(tam_unicode):3
640  *		tam(NUMERAL-KEYBOARD)	=	+in(tam_keyboard_with_numerals):3
641  *		tam(TAB)	=	+in(tam_TAB):3
642  *		tam(TSCII)	=	+in(tam_TSCII):3
643  *		tel(basic)	=	+in(tel):3
644  *		yu(basic)	=	+srp(latin):3
645  *		yu(unicode)	=	+srp(latinunicode):3
646  *		yu(yz)	=	+srp(latinyz):3
647  *		yu(unicodeyz)	=	+srp(latinunicodeyz):3
648  nokiarx51	cz(qwerty)	=	+nokia_vndr/rx-51(cz_qwerty):3
649  nokiarx51	*		=	+nokia_vndr/rx-51(%l[3]%_v[3]):3
650  *		*		=	+%l[3]%(v[3]):3
651
652! model		layout[4]	=	symbols
653  *		ar		=	+ara%(v[4]):4
654  *		ben		=	+in(ben):4
655  *		bs		=	+ba%(v[4]):4
656  *		cs		=	+rs%(v[4]):4
657  *		cz_qwerty		=	+cz(qwerty):4
658  *		dev		=	+in(deva):4
659  *		dvorak		=	+us(dvorak):4
660  *		dzdwi		=	+bt%(v[4]):4
661  *		el		=	+gr%(v[4]):4
662  *		en_US		=	+latin%(v[4]):4
663  *		guj		=	+in(guj):4
664  *		gur		=	+in(guru):4
665  *		iu		=	+ca(ike):4
666  *		lo		=	+la%(v[4]):4
667  *		kan		=	+in(kan):4
668  *		mi		=	+mao%(v[4]):4
669  *		ml		=	+in(mal):4
670  *		ogham		=	+ie(ogam):4
671  *		ori		=	+ie(ori):4
672  *		sapmi		=	+no(smi):4
673  *		sr		=	+srp%(v[4]):4
674  *		syr		=	+sy(syc):4
675  *		tel		=	+in(tel):4
676  *		tml		=	+in(tam):4
677  *		yu		=	+srp%(v[4]):4
678  *		fr-latin9		=	+fr(latin9):4
679  *		us_intl		=	+us(alt-intl):4
680  *		ben(basic)	=	+in(ben):4
681  *		ben(probhat)	=	+in(ben_probhat):4
682  *		dev(basic)	=	+in(deva):4
683  *		dvorak($dvoraklayouts)	=	+%v(dvorak):4
684  *		dvorak(basic)	=	+us(dvorak):4
685  *		dvorak(pl_basic)	=	+pl(dvorak):4
686  *		dvorak(pl)	=	+pl(dvorak_quotes):4
687  *		dvorak(pl_altquotes)	=	+pl(dvorak_altquotes):4
688  *		dzdwi(basic)	=	+bt(basic):4
689  *		fi(basic)	=	+fi(classic):4
690  *		ge(azerty_tskapo)	=	+fr(geo):4
691  *		guj(basic)	=	+in(guj):4
692  *		gur(basic)	=	+in(guru):4
693  *		ie(laptop)	=	+ie(basic):4
694  *		ie(CloGaelachLaptop)	=	+ie(CloGaelach):4
695  *		in(urd)	=	+in(urd-phonetic):4
696  *		iu(basic)	=	+ca(ike):4
697  *		lo(basic)	=	+la(basic):4
698  *		kan(basic)	=	+in(kan):4
699  *		mal(basic)	=	+in(mal):4
700  *		mal(mlplusnum)	=	+in(mal):4
701  *		ogham(basic)	=	+ie(ogam):4
702  *		ogham(laptop)	=	+ie(ogam):4
703  *		ogham(is434)	=	+ie(ogam_is434):4
704  *		ogham(is434laptop)	=	+ie(ogam_is434):4
705  *		ori(basic)	=	+in(ori):4
706  *		ro(de)	=	+ro(winkeys):4
707  *		ro(us)	=	+ro(std):4
708  *		ro(academic)	=	+ro(std):4
709  *		ro(std_comma)	=	+ro(std):4
710  *		ro(comma)	=	+ro(basic):4
711  *		ru(os)	=	+ru(os_legacy):4
712  *		pk(urd)	=	+pk(urd-phonetic):4
713  *		sapmi(basic)	=	+no(smi):4
714  *		sapmi(nodeadkeys)	=	+no(smi_nodeadkeys):4
715  *		sapmi(sefi)	=	+fi(smi):4
716  *		sin(phonetic-static)	=	+in(sin_phonetic):4
717  *		syr(basic)	=	+sy(syc):4
718  *		syr(phonetic)	=	+sy(syc_phonetic):4
719  *		tam(INSCRIPT)	=	+in(tam):4
720  *		tam(UNI)	=	+in(tam_unicode):4
721  *		tam(NUMERAL-KEYBOARD)	=	+in(tam_keyboard_with_numerals):4
722  *		tam(TAB)	=	+in(tam_TAB):4
723  *		tam(TSCII)	=	+in(tam_TSCII):4
724  *		tel(basic)	=	+in(tel):4
725  *		yu(basic)	=	+srp(latin):4
726  *		yu(unicode)	=	+srp(latinunicode):4
727  *		yu(yz)	=	+srp(latinyz):4
728  *		yu(unicodeyz)	=	+srp(latinunicodeyz):4
729  nokiarx51	cz(qwerty)	=	+nokia_vndr/rx-51(cz_qwerty):4
730  nokiarx51	*		=	+nokia_vndr/rx-51(%l[4]%_v[4]):4
731  *		*		=	+%l[4]%(v[4]):4
732
733! model		layout[2]	variant[2]	=	symbols
734  *		ben		basic	=	+in(ben):2
735  *		ben		probhat	=	+in(ben_probhat):2
736  *		dev		basic	=	+in(deva):2
737  *		dvorak		$dvoraklayouts	=	+%v(dvorak):2
738  *		dvorak		basic	=	+us(dvorak):2
739  *		dvorak		pl_basic	=	+pl(dvorak):2
740  *		dvorak		pl	=	+pl(dvorak_quotes):2
741  *		dvorak		pl_altquotes	=	+pl(dvorak_altquotes):2
742  *		dzdwi		basic	=	+bt(basic):2
743  *		fi		basic	=	+fi(classic):2
744  *		ge		azerty_tskapo	=	+fr(geo):2
745  *		guj		basic	=	+in(guj):2
746  *		gur		basic	=	+in(guru):2
747  *		ie		laptop	=	+ie(basic):2
748  *		ie		CloGaelachLaptop	=	+ie(CloGaelach):2
749  *		in		urd	=	+in(urd-phonetic):2
750  *		iu		basic	=	+ca(ike):2
751  *		lo		basic	=	+la(basic):2
752  *		kan		basic	=	+in(kan):2
753  *		mal		basic	=	+in(mal):2
754  *		mal		mlplusnum	=	+in(mal):2
755  *		ogham		basic	=	+ie(ogam):2
756  *		ogham		laptop	=	+ie(ogam):2
757  *		ogham		is434	=	+ie(ogam_is434):2
758  *		ogham		is434laptop	=	+ie(ogam_is434):2
759  *		ori		basic	=	+in(ori):2
760  *		ro		de	=	+ro(winkeys):2
761  *		ro		us	=	+ro(std):2
762  *		ro		academic	=	+ro(std):2
763  *		ro		std_comma	=	+ro(std):2
764  *		ro		comma	=	+ro(basic):2
765  *		ru		os	=	+ru(os_legacy):2
766  *		pk		urd	=	+pk(urd-phonetic):2
767  *		sapmi		basic	=	+no(smi):2
768  *		sapmi		nodeadkeys	=	+no(smi_nodeadkeys):2
769  *		sapmi		sefi	=	+fi(smi):2
770  *		sin		phonetic-static	=	+in(sin_phonetic):2
771  *		syr		basic	=	+sy(syc):2
772  *		syr		phonetic	=	+sy(syc_phonetic):2
773  *		tam		INSCRIPT	=	+in(tam):2
774  *		tam		UNI	=	+in(tam_unicode):2
775  *		tam		NUMERAL-KEYBOARD	=	+in(tam_keyboard_with_numerals):2
776  *		tam		TAB	=	+in(tam_TAB):2
777  *		tam		TSCII	=	+in(tam_TSCII):2
778  *		tel		basic	=	+in(tel):2
779  *		yu		basic	=	+srp(latin):2
780  *		yu		unicode	=	+srp(latinunicode):2
781  *		yu		yz	=	+srp(latinyz):2
782  *		yu		unicodeyz	=	+srp(latinunicodeyz):2
783
784! model		layout[3]	variant[3]	=	symbols
785  *		ben		basic	=	+in(ben):3
786  *		ben		probhat	=	+in(ben_probhat):3
787  *		dev		basic	=	+in(deva):3
788  *		dvorak		$dvoraklayouts	=	+%v(dvorak):3
789  *		dvorak		basic	=	+us(dvorak):3
790  *		dvorak		pl_basic	=	+pl(dvorak):3
791  *		dvorak		pl	=	+pl(dvorak_quotes):3
792  *		dvorak		pl_altquotes	=	+pl(dvorak_altquotes):3
793  *		dzdwi		basic	=	+bt(basic):3
794  *		fi		basic	=	+fi(classic):3
795  *		ge		azerty_tskapo	=	+fr(geo):3
796  *		guj		basic	=	+in(guj):3
797  *		gur		basic	=	+in(guru):3
798  *		ie		laptop	=	+ie(basic):3
799  *		ie		CloGaelachLaptop	=	+ie(CloGaelach):3
800  *		in		urd	=	+in(urd-phonetic):3
801  *		iu		basic	=	+ca(ike):3
802  *		lo		basic	=	+la(basic):3
803  *		kan		basic	=	+in(kan):3
804  *		mal		basic	=	+in(mal):3
805  *		mal		mlplusnum	=	+in(mal):3
806  *		ogham		basic	=	+ie(ogam):3
807  *		ogham		laptop	=	+ie(ogam):3
808  *		ogham		is434	=	+ie(ogam_is434):3
809  *		ogham		is434laptop	=	+ie(ogam_is434):3
810  *		ori		basic	=	+in(ori):3
811  *		ro		de	=	+ro(winkeys):3
812  *		ro		us	=	+ro(std):3
813  *		ro		academic	=	+ro(std):3
814  *		ro		std_comma	=	+ro(std):3
815  *		ro		comma	=	+ro(basic):3
816  *		ru		os	=	+ru(os_legacy):3
817  *		pk		urd	=	+pk(urd-phonetic):3
818  *		sapmi		basic	=	+no(smi):3
819  *		sapmi		nodeadkeys	=	+no(smi_nodeadkeys):3
820  *		sapmi		sefi	=	+fi(smi):3
821  *		sin		phonetic-static	=	+in(sin_phonetic):3
822  *		syr		basic	=	+sy(syc):3
823  *		syr		phonetic	=	+sy(syc_phonetic):3
824  *		tam		INSCRIPT	=	+in(tam):3
825  *		tam		UNI	=	+in(tam_unicode):3
826  *		tam		NUMERAL-KEYBOARD	=	+in(tam_keyboard_with_numerals):3
827  *		tam		TAB	=	+in(tam_TAB):3
828  *		tam		TSCII	=	+in(tam_TSCII):3
829  *		tel		basic	=	+in(tel):3
830  *		yu		basic	=	+srp(latin):3
831  *		yu		unicode	=	+srp(latinunicode):3
832  *		yu		yz	=	+srp(latinyz):3
833  *		yu		unicodeyz	=	+srp(latinunicodeyz):3
834
835! model		layout[4]	variant[4]	=	symbols
836  *		ben		basic	=	+in(ben):4
837  *		ben		probhat	=	+in(ben_probhat):4
838  *		dev		basic	=	+in(deva):4
839  *		dvorak		$dvoraklayouts	=	+%v(dvorak):4
840  *		dvorak		basic	=	+us(dvorak):4
841  *		dvorak		pl_basic	=	+pl(dvorak):4
842  *		dvorak		pl	=	+pl(dvorak_quotes):4
843  *		dvorak		pl_altquotes	=	+pl(dvorak_altquotes):4
844  *		dzdwi		basic	=	+bt(basic):4
845  *		fi		basic	=	+fi(classic):4
846  *		ge		azerty_tskapo	=	+fr(geo):4
847  *		guj		basic	=	+in(guj):4
848  *		gur		basic	=	+in(guru):4
849  *		ie		laptop	=	+ie(basic):4
850  *		ie		CloGaelachLaptop	=	+ie(CloGaelach):4
851  *		in		urd	=	+in(urd-phonetic):4
852  *		iu		basic	=	+ca(ike):4
853  *		lo		basic	=	+la(basic):4
854  *		kan		basic	=	+in(kan):4
855  *		mal		basic	=	+in(mal):4
856  *		mal		mlplusnum	=	+in(mal):4
857  *		ogham		basic	=	+ie(ogam):4
858  *		ogham		laptop	=	+ie(ogam):4
859  *		ogham		is434	=	+ie(ogam_is434):4
860  *		ogham		is434laptop	=	+ie(ogam_is434):4
861  *		ori		basic	=	+in(ori):4
862  *		ro		de	=	+ro(winkeys):4
863  *		ro		us	=	+ro(std):4
864  *		ro		academic	=	+ro(std):4
865  *		ro		std_comma	=	+ro(std):4
866  *		ro		comma	=	+ro(basic):4
867  *		ru		os	=	+ru(os_legacy):4
868  *		pk		urd	=	+pk(urd-phonetic):4
869  *		sapmi		basic	=	+no(smi):4
870  *		sapmi		nodeadkeys	=	+no(smi_nodeadkeys):4
871  *		sapmi		sefi	=	+fi(smi):4
872  *		sin		phonetic-static	=	+in(sin_phonetic):4
873  *		syr		basic	=	+sy(syc):4
874  *		syr		phonetic	=	+sy(syc_phonetic):4
875  *		tam		INSCRIPT	=	+in(tam):4
876  *		tam		UNI	=	+in(tam_unicode):4
877  *		tam		NUMERAL-KEYBOARD	=	+in(tam_keyboard_with_numerals):4
878  *		tam		TAB	=	+in(tam_TAB):4
879  *		tam		TSCII	=	+in(tam_TSCII):4
880  *		tel		basic	=	+in(tel):4
881  *		yu		basic	=	+srp(latin):4
882  *		yu		unicode	=	+srp(latinunicode):4
883  *		yu		yz	=	+srp(latinyz):4
884  *		yu		unicodeyz	=	+srp(latinunicodeyz):4
885
886! model		=	symbols
887  $evdevkbds    =   +inet(evdev)+inet(%m)
888  applealu_jis  =   +inet(evdev)+macintosh_vndr/jp(alujiskeys)
889  *             =   +inet(evdev)
890
891! layout	variant		=	compat
892  de		neo			=	+caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
893
894! layout[1]	variant[1]	=	compat
895  de		neo			=	+caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
896
897! layout[2]	variant[2]	=	compat
898  de		neo			=	+caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
899
900! layout[3]	variant[3]	=	compat
901  de		neo			=	+caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
902
903! layout[4]	variant[4]	=	compat
904  de		neo			=	+caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
905
906! model		layout		=	compat
907  pc98		nec_vndr/jp	=	pc98(basic)
908  *		jp		=	complete+japan
909  olpc         *               =       olpc
910  *		*		=	complete
911
912! model		layout[1]	=	compat
913  *		*		=	complete
914
915! model		=	types
916  $macs		=	complete+numpad(mac)
917  $applealu	=	complete+numpad(mac)
918  $nokiamodels	=	complete+nokia
919  *		=	complete
920
921! layout	option	=	symbols
922  $threelevellayouts	grp:alts_toggle = +level3(ralt_switch_for_alts_toggle)
923  *			misc:typo 	= +typo(base)
924
925! layout[1]	option	=	symbols
926  $threelevellayouts	grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):1
927  *			misc:typo 	= +typo(base):1
928
929! layout[2]	option	=	symbols
930  $threelevellayouts	grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):2
931  *			misc:typo 	= +typo(base):2
932
933! layout[3]	option	=	symbols
934  $threelevellayouts	grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):3
935  *			misc:typo 	= +typo(base):3
936
937! layout[4]	option	=	symbols
938  $threelevellayouts	grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):4
939  *			misc:typo 	= +typo(base):4
940
941! option	=	symbols
942  grp:shift_toggle	=	+group(shifts_toggle)
943  altwin:menu		=	+altwin(menu)
944  altwin:meta_alt	=	+altwin(meta_alt)
945  altwin:ctrl_win	=	+altwin(ctrl_win)
946  altwin:ctrl_alt_win	=	+altwin(ctrl_alt_win)
947  altwin:meta_win	=	+altwin(meta_win)
948  altwin:left_meta_win	=	+altwin(left_meta_win)
949  altwin:hyper_win	=	+altwin(hyper_win)
950  altwin:alt_super_win	=	+altwin(alt_super_win)
951  altwin:swap_lalt_lwin	=	+altwin(swap_lalt_lwin)
952  grp:switch		=	+group(switch)
953  grp:lswitch		=	+group(lswitch)
954  grp:win_switch	=	+group(win_switch)
955  grp:lwin_switch	=	+group(lwin_switch)
956  grp:rwin_switch	=	+group(rwin_switch)
957  grp:toggle		=	+group(toggle)
958  grp:shifts_toggle	=	+group(shifts_toggle)
959  grp:ctrls_toggle	=	+group(ctrls_toggle)
960  grp:alts_toggle	=	+group(alts_toggle)
961  grp:ctrl_shift_toggle	=	+group(ctrl_shift_toggle)
962  grp:lctrl_lshift_toggle	=	+group(lctrl_lshift_toggle)
963  grp:rctrl_rshift_toggle	=	+group(rctrl_rshift_toggle)
964  grp:caps_toggle	=	+capslock(grouplock)
965  grp:caps_switch       =       +capslock(groupshift)
966  grp:shift_caps_toggle	=	+group(shift_caps_toggle)
967  grp:shift_caps_switch	=	+group(shift_caps_switch)
968  grp:win_menu_switch	=	+group(win_menu_switch)
969  grp:alt_caps_toggle   =       +group(alt_caps_toggle)
970  grp:ctrl_alt_toggle	=	+group(ctrl_alt_toggle)
971  grp:alt_shift_toggle	=	+group(alt_shift_toggle)
972  grp:alt_space_toggle	=	+group(alt_space_toggle)
973  grp:menu_toggle	=	+group(menu_toggle)
974  grp:lwin_toggle	=	+group(lwin_toggle)
975  grp:rwin_toggle	=	+group(rwin_toggle)
976  grp:lshift_toggle	=	+group(lshift_toggle)
977  grp:rshift_toggle	=	+group(rshift_toggle)
978  grp:rctrl_switch	=	+group(rctrl_switch)
979  grp:lctrl_toggle	=	+group(lctrl_toggle)
980  grp:rctrl_toggle	=	+group(rctrl_toggle)
981  grp:lalt_toggle	=	+group(lalt_toggle)
982  grp:sclk_toggle	=	+group(sclk_toggle)
983  grp:lctrl_rctrl_switch	=	+group(lctrl_rctrl_switch)
984  grp:lctrl_lwin_rctrl_menu	=	+group(lctrl_lwin_rctrl_menu)
985  lv3:switch		=	+level3(switch)
986  lv3:ralt_switch	=	+level3(ralt_switch)
987  lv3:ralt_switch_multikey	=	+level3(ralt_switch_multikey)
988  lv3:ralt_alt		=	+level3(ralt_alt)
989  lv3:lalt_switch	=	+level3(lalt_switch)
990  lv3:alt_switch	=	+level3(alt_switch)
991  lv3:menu_switch	=	+level3(menu_switch)
992  lv3:win_switch	=	+level3(win_switch)
993  lv3:lwin_switch	=	+level3(lwin_switch)
994  lv3:rwin_switch	=	+level3(rwin_switch)
995  lv3:enter_switch	=	+level3(enter_switch)
996  caps:capslock		=	+capslock(capslock)
997  caps:numlock		=	+capslock(numlock)
998  caps:shiftlock	=	+capslock(shiftlock)
999  caps:swapescape	=	+capslock(swapescape)
1000  caps:escape		=	+capslock(escape)
1001  caps:backspace	=	+capslock(backspace)
1002  caps:super		=	+capslock(super)
1003  caps:hyper		=	+capslock(hyper)
1004  caps:none		=	+capslock(none)
1005  caps:ctrl_modifier	=	+capslock(ctrl_modifier)
1006  ctrl:nocaps		=	+ctrl(nocaps)
1007  ctrl:lctrl_meta	=	+ctrl(lctrl_meta)
1008  ctrl:swapcaps		=	+ctrl(swapcaps)
1009  ctrl:ctrl_ac		=	+ctrl(ctrl_ac)
1010  ctrl:ctrl_aa		=	+ctrl(ctrl_aa)
1011  ctrl:ctrl_ra		=	+ctrl(ctrl_ra)
1012  ctrl:ctrl_menu	=	+ctrl(ctrl_menu)
1013  compose:ralt		=	+compose(ralt)
1014  compose:lwin		=	+compose(lwin)
1015  compose:rwin		=	+compose(rwin)
1016  compose:menu		=	+compose(menu)
1017  compose:lctrl		=	+compose(lctrl)
1018  compose:rctrl		=	+compose(rctrl)
1019  compose:caps		=	+compose(caps)
1020  compose:102		=	+compose(102)
1021  compose:paus		=	+compose(paus)
1022  compose:prsc		=	+compose(prsc)
1023  compose:sclk		=	+compose(sclk)
1024  srvrkeys:none		=	+srvr_ctrl(no_srvr_keys)
1025  eurosign:e		=	+eurosign(e)
1026  eurosign:2		=	+eurosign(2)
1027  eurosign:4		=	+eurosign(4)
1028  eurosign:5		=	+eurosign(5)
1029  rupeesign:4           =       +rupeesign(4)
1030  keypad:oss            =       +keypad(oss)
1031  keypad:legacy         =	+keypad(legacy)
1032  keypad:legacy_wang    =	+keypad(legacy_wang)
1033  keypad:oss_wang       =	+keypad(oss_wang)
1034  keypad:future         =	+keypad(future)
1035  keypad:future_wang    =	+keypad(future_wang)
1036  keypad:hex            =	+keypad(ops)+keypad(hex)
1037  keypad:atm            =	+keypad(ops)+keypad(hex)+keypad(atm)
1038  nbsp:none             =	+nbsp(none)
1039  nbsp:level2           =	+nbsp(level2)
1040  nbsp:level3           =	+nbsp(level3)
1041  nbsp:level3s          =	+nbsp(level3s)
1042  nbsp:level3n          =	+nbsp(level3n)
1043  nbsp:level4           =	+nbsp(level4)
1044  nbsp:level4n          =	+nbsp(level4n)
1045  nbsp:level4nl         =	+nbsp(level4nl)
1046  japan:nicola_f_bs     =	+jp(nicola_f_bs)
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  japan:kana_lock	=	+japan(kana_lock)
1092  caps:shiftlock	=	+ledcaps(shift_lock)
1093
1094
1095! option	=	types
1096  caps:internal			=	+caps(internal)
1097  caps:internal_nocancel	=	+caps(internal_nocancel)
1098  caps:shift			=	+caps(shift)
1099  caps:shift_nocancel		=	+caps(shift_nocancel)
1100  numpad:pc			=	+numpad(pc)
1101  numpad:mac			=	+numpad(mac)
1102  numpad:microsoft		=	+numpad(microsoft)
1103  numpad:shift3       		=	+numpad(shift3)
1104