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