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