Home | History | Annotate | Line # | Download | only in rules
      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 
     65 ! $inetkbds = acer_c300 acer_ferrari4k acer_laptop \
     66               airkey apex300 \
     67               apple armada azonaRF2300 \
     68               benqx brother \
     69               btc5113rf btc9000 btc9000a btc9001ah btc5090 btc9019u \
     70               cherryblue cherrybluea cherryblueb \
     71               cherrycyboard cherrycmexpert \
     72               chicony chicony0108 chicony0420 chicony9885 \
     73               compalfl90 \
     74               compaqeak8 compaqik7 compaqik13 compaqik18 \
     75               creativedw7000 \
     76               cymotionlinux \
     77               dell dellm65 dellusbmm \
     78               emachines ennyah_dkb1008 evdev \
     79               genius geniuscomfy2 \
     80               gyration honeywell_euroboard \
     81               hp250x hp5xx hp500fa hpdv5 \
     82               hpi6 hpxe3gc hpxe3gf hpxe4xxx hpxt1000 hpzt11xx \
     83               ibm_spacesaver inspiron intel ipaq itouch \
     84               logiaccess logicda logicink logiclx300 \
     85               logidinovo logidinovoedge logiex110 \
     86               logiik logiinkse logiinkseusb logiitc \
     87               logitech_base logitech_g15 logiultrax \
     88               microsoft4000 microsoft7000 microsoftinet microsoftmult \
     89               microsoftoffice microsoftprooem microsoftprose microsoftprousb \
     90               mx1998 mx2500 mx2750 \
     91               oretec \
     92               pc105 ppkb presario propeller \
     93               qtronix \
     94               rapidaccess rapidaccess2 \
     95               samsung4500 samsung4510 \
     96               silvercrest \
     97               sk1300 sk2500 sk6200 sk7100 \
     98               sven sven303 symplon \
     99               teck227 teck229 thinkpad60 \
    100               toshiba_s3000 trust trustda \
    101               unitekkb1925 yahoo
    102 
    103 ! $inetmediakbds = \
    104 		a4_rfkb23 a4techKB21 a4techKBS8 acer_ferrari4k acer_laptop \
    105 		armada asus_laptop benqx btc5090 btc6301urf btc9019u \
    106 		cherrybluea cherryblueb cherrycyboard chicony042 \
    107 		compalfl90 compaqik13 compaqik18 creativedw7000 \
    108 		cymotionlinux dellm65 dellusbmm dexxa diamond dtk2000 \
    109 		emachines ennyah_dkb1008 fscaa1667g genius geniuscomfy \
    110 		geniuscomfy2 geniuskb19e hp5xx hpdv5 hpi6 hpxe3gc hpxe3gf \
    111 		hpxe4xxx hpxt1000 hpzt11xx inspiron latitude \
    112 		logidinovo logidinovoedge logitech_base logitech_g15 \
    113 		microsoft4000 microsoft7000 microsoftmult microsoftpro \
    114 		microsoftprooem mx1998 mx2500 mx2750 pc105 precision_m \
    115 		presario propeller samsung4500 samsung4510 scorpius \
    116 		silvercrest sk1300 sk2500 sk7100 sp_inet targa_v811 \
    117 		thinkpad thinkpad60 tm2030USB-102 tm2030USB-106 \
    118 		toshiba_s3000 trust trustda trust_slimline unitekkb1925
    119 
    120 ! model		=	keycodes
    121   amiga		=	amiga(de)
    122   ataritt	=	ataritt(de)
    123   empty		=	empty
    124  $sun_jp	=	sun(type6_jp_usb)
    125  $sun		=	sun(type6_usb)
    126   pc98		=	xfree98(pc98)
    127  $applealu	=	macintosh(alukbd)
    128   macintosh_hhk	=	macintosh(hhk)
    129   macintosh_old	=	macintosh(old)
    130  $macs		=	macintosh
    131   thinkpadz60	=	xfree86(thinkpadz60)
    132   *		=	xfree86
    133 
    134 ! layout[1]	=	keycodes
    135   $azerty       =       +aliases(azerty)
    136   $qwertz       =       +aliases(qwertz)
    137   *             =       +aliases(qwerty)
    138 
    139 ! layout	=	keycodes
    140   $azerty       =       +aliases(azerty)
    141   $qwertz       =       +aliases(qwertz)
    142   *             =       +aliases(qwerty)
    143 
    144 ! option	=	keycodes
    145 
    146 ! model		layout	=	geometry
    147   thinkpad	us	=	thinkpad(us)
    148 
    149 ! model		=	geometry
    150   microsoftelite	=	microsoft(elite)
    151  $msmodels	=	microsoft(natural)
    152   dell101	=	dell(dell101)
    153   dellm65	=	dell(dellm65)
    154   latitude	=	dell(latitude)
    155   flexpro	=	keytronic(FlexPro)
    156   hp6000	=	hp(omnibook)
    157   hpmini110	=	hp(mini110)
    158   hpdv5		=	hp(dv5)
    159   omnikey101	=	northgate(omnikey101)
    160   sanwaskbkg3	=	sanwa(sanwaskbkg3)
    161  $pcmodels	=	pc(%m)
    162   everex	=	everex(STEPnote)
    163   thinkpad	=	thinkpad(intl)
    164   thinkpad60	=	thinkpad(60)
    165   thinkpadz60	=	thinkpad(60)
    166   apex300	=	steelseries(apex300)
    167  $tmgeometries	=	typematrix(%m)
    168   winbook	=	winbook(XP5)
    169   pc98		=	nec(pc98)
    170  $applealu	=	macintosh(%m)
    171  $macbooks      =       macintosh(%m)
    172  $macs		=	macintosh(macintosh)
    173   hhk		=	hhk(basic)
    174   kinesis	=	kinesis(model100)
    175  $nokiamodels	=	nokia(%m)
    176   sun_type6_jp          =   sun(type6jp)
    177   sun_type6_usb         =   sun(type6)
    178   sun_type6_euro_usb    =   sun(type6tuv)
    179   sun_type6_jp_usb      =   sun(type6jp)
    180   sun_type6_unix_usb    =   sun(type6unix)
    181   sun_type7_jp_usb      =   sun(type6jp)
    182   sun_type7_usb         =   sun(type7)
    183   sun_type7_euro_usb    =   sun(type7tuv)
    184   sun_type7_unix_usb    =   sun(type7unix)
    185   *		=       pc(pc104)
    186 
    187 ! model		layout		variant		=	symbols
    188   *		ben		basic		=	pc+in(ben)
    189   *		ben		probhat		=	pc+in(ben_probhat)
    190   *		dev		basic		=	pc+in(deva)
    191   *		dzdwi		basic		=	pc+bt(basic)
    192   *		fi		basic		=	pc+fi(classic)
    193   *		ge		azerty_tskapo		=	pc+fr(geo)
    194   *		guj		basic		=	pc+in(guj)
    195   *		gur		basic		=	pc+in(guru)
    196   *		ie		laptop		=	pc+ie(basic)
    197   *		ie		CloGaelachLaptop		=	pc+ie(CloGaelach)
    198   *		in		urd		=	pc+in(urd-phonetic)
    199   *		iu		basic		=	pc+ca(ike)
    200   *		lo		basic		=	pc+la(basic)
    201   *		kan		basic		=	pc+in(kan)
    202   *		mal		basic		=	pc+in(mal)
    203   *		mal		mlplusnum		=	pc+in(mal)
    204   *		ogham		basic		=	pc+ie(ogam)
    205   *		ogham		laptop		=	pc+ie(ogam)
    206   *		ogham		is434		=	pc+ie(ogam_is434)
    207   *		ogham		is434laptop		=	pc+ie(ogam_is434)
    208   *		ori		basic		=	pc+in(ori)
    209   *		ro		de		=	pc+ro(winkeys)
    210   *		ro		us		=	pc+ro(std)
    211   *		ro		academic		=	pc+ro(std)
    212   *		ro		std_comma		=	pc+ro(std)
    213   *		ro		comma		=	pc+ro(basic)
    214   *		ru		os		=	pc+ru(os_legacy)
    215   *		pk		urd		=	pc+pk(urd-phonetic)
    216   *		sapmi		basic		=	pc+no(smi)
    217   *		sapmi		nodeadkeys		=	pc+no(smi_nodeadkeys)
    218   *		sapmi		sefi		=	pc+fi(smi)
    219   *		sin		phonetic-static		=	pc+in(sin_phonetic)
    220   *		syr		basic		=	pc+sy(syc)
    221   *		syr		phonetic		=	pc+sy(syc_phonetic)
    222   *		tam		INSCRIPT		=	pc+in(tam)
    223   *		tel		basic		=	pc+in(tel)
    224   classmate	us		intl		=	pc+us(classmate-intl)
    225   classmate	us		alt-intl	=	pc+us(classmate-alt-intl)
    226   classmate	us		altgr-intl	=	pc+us(classmate-altgr-intl)
    227   nokiarx51	cz		qwerty		=	nokia_vndr/rx-51(cz_qwerty)
    228   *		$sun_custom	$sun_var	=	pc+sun_vndr/%l%(v)
    229 
    230 ! model		layout				=	symbols
    231   *		ar			=	pc+ara
    232   *		ben			=	pc+in(ben)
    233   *		bs			=	pc+ba
    234   *		dev			=	pc+in(deva)
    235   *		dvorak			=	pc+us(dvorak)
    236   *		dzdwi			=	pc+bt
    237   *		el			=	pc+gr
    238   *		en_US			=	pc+latin
    239   *		guj			=	pc+in(guj)
    240   *		gur			=	pc+in(guru)
    241   *		iu			=	pc+ca(ike)
    242   *		lo			=	pc+la
    243   *		kan			=	pc+in(kan)
    244   *		mi			=	pc+mao
    245   *		ogham			=	pc+ie(ogam)
    246   *		ori			=	pc+in(ori)
    247   *		sapmi			=	pc+no(smi)
    248   *		syr			=	pc+sy(syc)
    249   *		tel			=	pc+in(tel)
    250   *		tml			=	pc+in(tam)
    251   *		us_intl			=	pc+us(alt-intl)
    252   *		ben(basic)			=	pc+in(ben)
    253   *		ben(probhat)			=	pc+in(ben_probhat)
    254   *		dev(basic)			=	pc+in(deva)
    255   *		dzdwi(basic)			=	pc+bt(basic)
    256   *		fi(basic)			=	pc+fi(classic)
    257   *		ge(azerty_tskapo)			=	pc+fr(geo)
    258   *		guj(basic)			=	pc+in(guj)
    259   *		gur(basic)			=	pc+in(guru)
    260   *		ie(laptop)			=	pc+ie(basic)
    261   *		ie(CloGaelachLaptop)			=	pc+ie(CloGaelach)
    262   *		in(urd)			=	pc+in(urd-phonetic)
    263   *		iu(basic)			=	pc+ca(ike)
    264   *		lo(basic)			=	pc+la(basic)
    265   *		kan(basic)			=	pc+in(kan)
    266   *		mal(basic)			=	pc+in(mal)
    267   *		mal(mlplusnum)			=	pc+in(mal)
    268   *		ogham(basic)			=	pc+ie(ogam)
    269   *		ogham(laptop)			=	pc+ie(ogam)
    270   *		ogham(is434)			=	pc+ie(ogam_is434)
    271   *		ogham(is434laptop)			=	pc+ie(ogam_is434)
    272   *		ori(basic)			=	pc+in(ori)
    273   *		ro(de)			=	pc+ro(winkeys)
    274   *		ro(us)			=	pc+ro(std)
    275   *		ro(academic)			=	pc+ro(std)
    276   *		ro(std_comma)			=	pc+ro(std)
    277   *		ro(comma)			=	pc+ro(basic)
    278   *		ru(os)			=	pc+ru(os_legacy)
    279   *		pk(urd)			=	pc+pk(urd-phonetic)
    280   *		sapmi(basic)			=	pc+no(smi)
    281   *		sapmi(nodeadkeys)			=	pc+no(smi_nodeadkeys)
    282   *		sapmi(sefi)			=	pc+fi(smi)
    283   *		sin(phonetic-static)			=	pc+in(sin_phonetic)
    284   *		syr(basic)			=	pc+sy(syc)
    285   *		syr(phonetic)			=	pc+sy(syc_phonetic)
    286   *		tam(INSCRIPT)			=	pc+in(tam)
    287   *		tel(basic)			=	pc+in(tel)
    288 
    289 ! model		layout			=	symbols
    290   ataritt	$nonlatin		=	xfree68_vndr/ataritt(us)+%l%(v):2
    291   ataritt	*			=	xfree68_vndr/ataritt(us)+%l%(v)
    292   amiga		$nonlatin		=	xfree68_vndr/amiga(usa1)+%l%(v):2
    293   amiga		*			=	xfree68_vndr/amiga(usa1)+%l%(v)
    294   classmate	us			=	pc+%l(classmate)
    295   empty		*			=	empty(basic)
    296   *		empty			=	empty(basic)
    297   jollasbj	$nonlatin		=	jolla_vndr/sbj(common)+us+%l%(v):2
    298   jollasbj	*			=	jolla_vndr/sbj(common)+%l%(v)
    299  $sun		$sun_custom		=	pc+sun_vndr/%l%(v)
    300   pc98		nec_vndr/jp		=	nec_vndr/jp(pc98)
    301   macintosh_old	us			=	macintosh_vndr/us(oldmac)
    302   macintosh_old	en_US			=	macintosh_vndr/us(oldmac)
    303   macintosh_old	$macvendorlayouts	=	macintosh_vndr/us(oldmac)+macintosh_vndr/%l%(v)
    304   macintosh_old	$nonlatin		=	macintosh_vndr/us(oldmac)+%l%(v):2
    305   macintosh_old	*			=	macintosh_vndr/us(oldmac)+%l%(v)
    306   applealu_jis	jp			=	macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac)+macintosh_vndr/jp(mac):2
    307   applealu_jis	*			=	macintosh_vndr/apple(alukbd)+%l%(v)+macintosh_vndr/jp(mac):2
    308  $applealu	$macvendorlayouts	=	macintosh_vndr/apple(alukbd)+macintosh_vndr/%l%(v)
    309  $applealu	*			=	macintosh_vndr/apple(alukbd)+%l%(v)
    310  $macs		en_US			=	pc+macintosh_vndr/us(extended)
    311  $macs		$macvendorlayouts	=	pc+macintosh_vndr/%l%(v)
    312   nokiarx44	*			=	nokia_vndr/rx-44(%l)
    313   nokiarx51	cz(qwerty)		=	nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty)
    314   nokiarx51	*			=	nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l%_v)
    315   nokiasu8w	*			=	nokia_vndr/su-8w(%l)
    316   olpc		$olpclayouts		=	olpc+%l%(m)
    317   olpc		*			=	olpc+%l%(v)
    318   olpcm		$olpclayouts		=	olpc+%l%(m)
    319   olpcm		*			=	olpc+%l%(v)
    320  $thinkpads	br			=	pc+br(thinkpad)
    321   sl-c3x00	*			=	pc+sharp_vndr/sl-c3x00(basic)
    322   ws003sh	*			=	pc+sharp_vndr/ws003sh(basic)
    323   ws007sh	*			=	pc+sharp_vndr/ws007sh(basic)
    324   ws011sh	*			=	pc+sharp_vndr/ws011sh(basic)
    325   ws020sh	*			=	pc+sharp_vndr/ws020sh(basic)
    326   *		$nonlatin		=	pc+us+%l%(v):2
    327   *		*			=	pc+%l%(v)
    328 
    329 ! model		layout[1]	=	symbols
    330   *		ar		=	pc+ara%(v[1])
    331   *		ben		=	pc+in(ben)
    332   *		bs		=	pc+ba%(v[1])
    333   *		dev		=	pc+in(deva)
    334   *		dvorak		=	pc+us(dvorak)
    335   *		dzdwi		=	pc+bt%(v[1])
    336   *		el		=	pc+gr%(v[1])
    337   *		en_US		=	pc+latin%(v[1])
    338   *		guj		=	pc+in(guj)
    339   *		gur		=	pc+in(guru)
    340   *		iu		=	pc+ca(ike)
    341   *		lo		=	pc+la%(v[1])
    342   *		kan		=	pc+in(kan)
    343   *		mi		=	pc+mao%(v[1])
    344   *		ogham		=	pc+ie(ogam)
    345   *		ori		=	pc+in(ori)
    346   *		sapmi		=	pc+no(smi)
    347   *		syr		=	pc+sy(syc)
    348   *		tel		=	pc+in(tel)
    349   *		tml		=	pc+in(tam)
    350   *		us_intl		=	pc+us(alt-intl)
    351   *		ben(basic)		=	pc+in(ben)
    352   *		ben(probhat)		=	pc+in(ben_probhat)
    353   *		dev(basic)		=	pc+in(deva)
    354   *		dzdwi(basic)		=	pc+bt(basic)
    355   *		fi(basic)		=	pc+fi(classic)
    356   *		ge(azerty_tskapo)		=	pc+fr(geo)
    357   *		guj(basic)		=	pc+in(guj)
    358   *		gur(basic)		=	pc+in(guru)
    359   *		ie(laptop)		=	pc+ie(basic)
    360   *		ie(CloGaelachLaptop)		=	pc+ie(CloGaelach)
    361   *		in(urd)		=	pc+in(urd-phonetic)
    362   *		iu(basic)		=	pc+ca(ike)
    363   *		lo(basic)		=	pc+la(basic)
    364   *		kan(basic)		=	pc+in(kan)
    365   *		mal(basic)		=	pc+in(mal)
    366   *		mal(mlplusnum)		=	pc+in(mal)
    367   *		ogham(basic)		=	pc+ie(ogam)
    368   *		ogham(laptop)		=	pc+ie(ogam)
    369   *		ogham(is434)		=	pc+ie(ogam_is434)
    370   *		ogham(is434laptop)		=	pc+ie(ogam_is434)
    371   *		ori(basic)		=	pc+in(ori)
    372   *		ro(de)		=	pc+ro(winkeys)
    373   *		ro(us)		=	pc+ro(std)
    374   *		ro(academic)		=	pc+ro(std)
    375   *		ro(std_comma)		=	pc+ro(std)
    376   *		ro(comma)		=	pc+ro(basic)
    377   *		ru(os)		=	pc+ru(os_legacy)
    378   *		pk(urd)		=	pc+pk(urd-phonetic)
    379   *		sapmi(basic)		=	pc+no(smi)
    380   *		sapmi(nodeadkeys)		=	pc+no(smi_nodeadkeys)
    381   *		sapmi(sefi)		=	pc+fi(smi)
    382   *		sin(phonetic-static)		=	pc+in(sin_phonetic)
    383   *		syr(basic)		=	pc+sy(syc)
    384   *		syr(phonetic)		=	pc+sy(syc_phonetic)
    385   *		tam(INSCRIPT)		=	pc+in(tam)
    386   *		tel(basic)		=	pc+in(tel)
    387 
    388 ! model		layout[1]		=	symbols
    389   ataritt	*			=	xfree68_vndr/ataritt(us)+%l[1]%(v[1])
    390   amiga		*			=	xfree68_vndr/amiga(usa1)+%l[1]%(v[1])
    391   jollasbj	*			=	jolla_vndr/sbj(common)+%l[1]%(v[1])
    392  $sun		$sun_custom		=	pc+sun_vndr/%l[1]%(v[1])
    393   macintosh_old	us			=	macintosh_vndr/us(oldmac)
    394   macintosh_old	$macvendorlayouts	=	macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1])
    395   macintosh_old	*			=	macintosh_vndr/us(oldmac)+%l[1]%(v[1])
    396   applealu_jis	us			=	macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac)
    397  $applealu	$macvendorlayouts	=	macintosh_vndr/apple(alukbd)+macintosh_vndr/%l[1]%(v[1])
    398  $applealu	*			=	macintosh_vndr/apple(alukbd)+%l[1]%(v[1])
    399  $macs		$macvendorlayouts	=	pc+macintosh_vndr/%l[1]%(v[1])
    400   nokiarx51	cz(qwerty)		=	nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty)
    401   nokiarx51	*			=	nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l[1]%_v[1])
    402  $thinkpads	br			=	pc+%l[1](thinkpad)
    403   *		*			=	pc+%l[1]%(v[1])
    404 
    405 ! model		layout[1]	variant[1]	=	symbols
    406   *		ben		basic	=	pc+in(ben)
    407   *		ben		probhat	=	pc+in(ben_probhat)
    408   *		dev		basic	=	pc+in(deva)
    409   *		dzdwi		basic	=	pc+bt(basic)
    410   *		fi		basic	=	pc+fi(classic)
    411   *		ge		azerty_tskapo	=	pc+fr(geo)
    412   *		guj		basic	=	pc+in(guj)
    413   *		gur		basic	=	pc+in(guru)
    414   *		ie		laptop	=	pc+ie(basic)
    415   *		ie		CloGaelachLaptop	=	pc+ie(CloGaelach)
    416   *		in		urd	=	pc+in(urd-phonetic)
    417   *		iu		basic	=	pc+ca(ike)
    418   *		lo		basic	=	pc+la(basic)
    419   *		kan		basic	=	pc+in(kan)
    420   *		mal		basic	=	pc+in(mal)
    421   *		mal		mlplusnum	=	pc+in(mal)
    422   *		ogham		basic	=	pc+ie(ogam)
    423   *		ogham		laptop	=	pc+ie(ogam)
    424   *		ogham		is434	=	pc+ie(ogam_is434)
    425   *		ogham		is434laptop	=	pc+ie(ogam_is434)
    426   *		ori		basic	=	pc+in(ori)
    427   *		ro		de	=	pc+ro(winkeys)
    428   *		ro		us	=	pc+ro(std)
    429   *		ro		academic	=	pc+ro(std)
    430   *		ro		std_comma	=	pc+ro(std)
    431   *		ro		comma	=	pc+ro(basic)
    432   *		ru		os	=	pc+ru(os_legacy)
    433   *		pk		urd	=	pc+pk(urd-phonetic)
    434   *		sapmi		basic	=	pc+no(smi)
    435   *		sapmi		nodeadkeys	=	pc+no(smi_nodeadkeys)
    436   *		sapmi		sefi	=	pc+fi(smi)
    437   *		sin		phonetic-static	=	pc+in(sin_phonetic)
    438   *		syr		basic	=	pc+sy(syc)
    439   *		syr		phonetic	=	pc+sy(syc_phonetic)
    440   *		tam		INSCRIPT	=	pc+in(tam)
    441   *		tel		basic	=	pc+in(tel)
    442 
    443 ! model		layout[2]	=	symbols
    444   *		ar		=	+ara%(v[2]):2
    445   *		ben		=	+in(ben):2
    446   *		bs		=	+ba%(v[2]):2
    447   *		dev		=	+in(deva):2
    448   *		dvorak		=	+us(dvorak):2
    449   *		dzdwi		=	+bt%(v[2]):2
    450   *		el		=	+gr%(v[2]):2
    451   *		en_US		=	+latin%(v[2]):2
    452   *		guj		=	+in(guj):2
    453   *		gur		=	+in(guru):2
    454   *		iu		=	+ca(ike):2
    455   *		lo		=	+la%(v[2]):2
    456   *		kan		=	+in(kan):2
    457   *		mi		=	+mao%(v[2]):2
    458   *		ogham		=	+ie(ogam):2
    459   *		ori		=	+in(ori):2
    460   *		sapmi		=	+no(smi):2
    461   *		syr		=	+sy(syc):2
    462   *		tel		=	+in(tel):2
    463   *		tml		=	+in(tam):2
    464   *		us_intl		=	+us(alt-intl):2
    465   *		ben(basic)		=	+in(ben):2
    466   *		ben(probhat)		=	+in(ben_probhat):2
    467   *		dev(basic)		=	+in(deva):2
    468   *		dzdwi(basic)		=	+bt(basic):2
    469   *		fi(basic)		=	+fi(classic):2
    470   *		ge(azerty_tskapo)		=	+fr(geo):2
    471   *		guj(basic)		=	+in(guj):2
    472   *		gur(basic)		=	+in(guru):2
    473   *		ie(laptop)		=	+ie(basic):2
    474   *		ie(CloGaelachLaptop)		=	+ie(CloGaelach):2
    475   *		in(urd)		=	+in(urd-phonetic):2
    476   *		iu(basic)		=	+ca(ike):2
    477   *		lo(basic)		=	+la(basic):2
    478   *		kan(basic)		=	+in(kan):2
    479   *		mal(basic)		=	+in(mal):2
    480   *		mal(mlplusnum)		=	+in(mal):2
    481   *		ogham(basic)		=	+ie(ogam):2
    482   *		ogham(laptop)		=	+ie(ogam):2
    483   *		ogham(is434)		=	+ie(ogam_is434):2
    484   *		ogham(is434laptop)		=	+ie(ogam_is434):2
    485   *		ori(basic)		=	+in(ori):2
    486   *		ro(de)		=	+ro(winkeys):2
    487   *		ro(us)		=	+ro(std):2
    488   *		ro(academic)		=	+ro(std):2
    489   *		ro(std_comma)		=	+ro(std):2
    490   *		ro(comma)		=	+ro(basic):2
    491   *		ru(os)		=	+ru(os_legacy):2
    492   *		pk(urd)		=	+pk(urd-phonetic):2
    493   *		sapmi(basic)		=	+no(smi):2
    494   *		sapmi(nodeadkeys)		=	+no(smi_nodeadkeys):2
    495   *		sapmi(sefi)		=	+fi(smi):2
    496   *		sin(phonetic-static)		=	+in(sin_phonetic):2
    497   *		syr(basic)		=	+sy(syc):2
    498   *		syr(phonetic)		=	+sy(syc_phonetic):2
    499   *		tam(INSCRIPT)		=	+in(tam):2
    500   *		tel(basic)		=	+in(tel):2
    501   nokiarx51	cz(qwerty)	=	+nokia_vndr/rx-51(cz_qwerty):2
    502   nokiarx51	*		=	+nokia_vndr/rx-51(%l[2]%_v[2]):2
    503  $sun		$sun_custom	=	+sun_vndr/%l[2]%(v[2]):2
    504   *		*		=	+%l[2]%(v[2]):2
    505 
    506 ! model		layout[3]	=	symbols
    507   *		ar		=	+ara%(v[3]):3
    508   *		ben		=	+in(ben):3
    509   *		bs		=	+ba%(v[3]):3
    510   *		dev		=	+in(deva):3
    511   *		dvorak		=	+us(dvorak):3
    512   *		dzdwi		=	+bt%(v[3]):3
    513   *		el		=	+gr%(v[3]):3
    514   *		en_US		=	+latin%(v[3]):3
    515   *		guj		=	+in(guj):3
    516   *		gur		=	+in(guru):3
    517   *		iu		=	+ca(ike):3
    518   *		lo		=	+la%(v[3]):3
    519   *		kan		=	+in(kan):3
    520   *		mi		=	+mao%(v[3]):3
    521   *		ogham		=	+ie(ogam):3
    522   *		ori		=	+in(ori):3
    523   *		sapmi		=	+no(smi):3
    524   *		syr		=	+sy(syc):3
    525   *		tel		=	+in(tel):3
    526   *		tml		=	+in(tam):3
    527   *		us_intl		=	+us(alt-intl):3
    528   *		ben(basic)		=	+in(ben):3
    529   *		ben(probhat)		=	+in(ben_probhat):3
    530   *		dev(basic)		=	+in(deva):3
    531   *		dzdwi(basic)		=	+bt(basic):3
    532   *		fi(basic)		=	+fi(classic):3
    533   *		ge(azerty_tskapo)		=	+fr(geo):3
    534   *		guj(basic)		=	+in(guj):3
    535   *		gur(basic)		=	+in(guru):3
    536   *		ie(laptop)		=	+ie(basic):3
    537   *		ie(CloGaelachLaptop)		=	+ie(CloGaelach):3
    538   *		in(urd)		=	+in(urd-phonetic):3
    539   *		iu(basic)		=	+ca(ike):3
    540   *		lo(basic)		=	+la(basic):3
    541   *		kan(basic)		=	+in(kan):3
    542   *		mal(basic)		=	+in(mal):3
    543   *		mal(mlplusnum)		=	+in(mal):3
    544   *		ogham(basic)		=	+ie(ogam):3
    545   *		ogham(laptop)		=	+ie(ogam):3
    546   *		ogham(is434)		=	+ie(ogam_is434):3
    547   *		ogham(is434laptop)		=	+ie(ogam_is434):3
    548   *		ori(basic)		=	+in(ori):3
    549   *		ro(de)		=	+ro(winkeys):3
    550   *		ro(us)		=	+ro(std):3
    551   *		ro(academic)		=	+ro(std):3
    552   *		ro(std_comma)		=	+ro(std):3
    553   *		ro(comma)		=	+ro(basic):3
    554   *		ru(os)		=	+ru(os_legacy):3
    555   *		pk(urd)		=	+pk(urd-phonetic):3
    556   *		sapmi(basic)		=	+no(smi):3
    557   *		sapmi(nodeadkeys)		=	+no(smi_nodeadkeys):3
    558   *		sapmi(sefi)		=	+fi(smi):3
    559   *		sin(phonetic-static)		=	+in(sin_phonetic):3
    560   *		syr(basic)		=	+sy(syc):3
    561   *		syr(phonetic)		=	+sy(syc_phonetic):3
    562   *		tam(INSCRIPT)		=	+in(tam):3
    563   *		tel(basic)		=	+in(tel):3
    564   nokiarx51	cz(qwerty)	=	+nokia_vndr/rx-51(cz_qwerty):3
    565   nokiarx51	*		=	+nokia_vndr/rx-51(%l[3]%_v[3]):3
    566  $sun		$sun_custom	=	+sun_vndr/%l[3]%(v[3]):3
    567   *		*		=	+%l[3]%(v[3]):3
    568 
    569 ! model		layout[4]	=	symbols
    570   *		ar		=	+ara%(v[4]):4
    571   *		ben		=	+in(ben):4
    572   *		bs		=	+ba%(v[4]):4
    573   *		dev		=	+in(deva):4
    574   *		dvorak		=	+us(dvorak):4
    575   *		dzdwi		=	+bt%(v[4]):4
    576   *		el		=	+gr%(v[4]):4
    577   *		en_US		=	+latin%(v[4]):4
    578   *		guj		=	+in(guj):4
    579   *		gur		=	+in(guru):4
    580   *		iu		=	+ca(ike):4
    581   *		lo		=	+la%(v[4]):4
    582   *		kan		=	+in(kan):4
    583   *		mi		=	+mao%(v[4]):4
    584   *		ogham		=	+ie(ogam):4
    585   *		ori		=	+in(ori):4
    586   *		sapmi		=	+no(smi):4
    587   *		syr		=	+sy(syc):4
    588   *		tel		=	+in(tel):4
    589   *		tml		=	+in(tam):4
    590   *		us_intl		=	+us(alt-intl):4
    591   *		ben(basic)		=	+in(ben):4
    592   *		ben(probhat)		=	+in(ben_probhat):4
    593   *		dev(basic)		=	+in(deva):4
    594   *		dzdwi(basic)		=	+bt(basic):4
    595   *		fi(basic)		=	+fi(classic):4
    596   *		ge(azerty_tskapo)		=	+fr(geo):4
    597   *		guj(basic)		=	+in(guj):4
    598   *		gur(basic)		=	+in(guru):4
    599   *		ie(laptop)		=	+ie(basic):4
    600   *		ie(CloGaelachLaptop)		=	+ie(CloGaelach):4
    601   *		in(urd)		=	+in(urd-phonetic):4
    602   *		iu(basic)		=	+ca(ike):4
    603   *		lo(basic)		=	+la(basic):4
    604   *		kan(basic)		=	+in(kan):4
    605   *		mal(basic)		=	+in(mal):4
    606   *		mal(mlplusnum)		=	+in(mal):4
    607   *		ogham(basic)		=	+ie(ogam):4
    608   *		ogham(laptop)		=	+ie(ogam):4
    609   *		ogham(is434)		=	+ie(ogam_is434):4
    610   *		ogham(is434laptop)		=	+ie(ogam_is434):4
    611   *		ori(basic)		=	+in(ori):4
    612   *		ro(de)		=	+ro(winkeys):4
    613   *		ro(us)		=	+ro(std):4
    614   *		ro(academic)		=	+ro(std):4
    615   *		ro(std_comma)		=	+ro(std):4
    616   *		ro(comma)		=	+ro(basic):4
    617   *		ru(os)		=	+ru(os_legacy):4
    618   *		pk(urd)		=	+pk(urd-phonetic):4
    619   *		sapmi(basic)		=	+no(smi):4
    620   *		sapmi(nodeadkeys)		=	+no(smi_nodeadkeys):4
    621   *		sapmi(sefi)		=	+fi(smi):4
    622   *		sin(phonetic-static)		=	+in(sin_phonetic):4
    623   *		syr(basic)		=	+sy(syc):4
    624   *		syr(phonetic)		=	+sy(syc_phonetic):4
    625   *		tam(INSCRIPT)		=	+in(tam):4
    626   *		tel(basic)		=	+in(tel):4
    627   nokiarx51	cz(qwerty)	=	+nokia_vndr/rx-51(cz_qwerty):4
    628   nokiarx51	*		=	+nokia_vndr/rx-51(%l[4]%_v[4]):4
    629  $sun		$sun_custom	=	+sun_vndr/%l[4]%(v[4]):4
    630   *		*		=	+%l[4]%(v[4]):4
    631 
    632 ! model		layout[2]	variant[2]	=	symbols
    633   *		ben		basic	=	+in(ben):2
    634   *		ben		probhat	=	+in(ben_probhat):2
    635   *		dev		basic	=	+in(deva):2
    636   *		dzdwi		basic	=	+bt(basic):2
    637   *		fi		basic	=	+fi(classic):2
    638   *		ge		azerty_tskapo	=	+fr(geo):2
    639   *		guj		basic	=	+in(guj):2
    640   *		gur		basic	=	+in(guru):2
    641   *		ie		laptop	=	+ie(basic):2
    642   *		ie		CloGaelachLaptop	=	+ie(CloGaelach):2
    643   *		in		urd	=	+in(urd-phonetic):2
    644   *		iu		basic	=	+ca(ike):2
    645   *		lo		basic	=	+la(basic):2
    646   *		kan		basic	=	+in(kan):2
    647   *		mal		basic	=	+in(mal):2
    648   *		mal		mlplusnum	=	+in(mal):2
    649   *		ogham		basic	=	+ie(ogam):2
    650   *		ogham		laptop	=	+ie(ogam):2
    651   *		ogham		is434	=	+ie(ogam_is434):2
    652   *		ogham		is434laptop	=	+ie(ogam_is434):2
    653   *		ori		basic	=	+in(ori):2
    654   *		ro		de	=	+ro(winkeys):2
    655   *		ro		us	=	+ro(std):2
    656   *		ro		academic	=	+ro(std):2
    657   *		ro		std_comma	=	+ro(std):2
    658   *		ro		comma	=	+ro(basic):2
    659   *		ru		os	=	+ru(os_legacy):2
    660   *		pk		urd	=	+pk(urd-phonetic):2
    661   *		sapmi		basic	=	+no(smi):2
    662   *		sapmi		nodeadkeys	=	+no(smi_nodeadkeys):2
    663   *		sapmi		sefi	=	+fi(smi):2
    664   *		sin		phonetic-static	=	+in(sin_phonetic):2
    665   *		syr		basic	=	+sy(syc):2
    666   *		syr		phonetic	=	+sy(syc_phonetic):2
    667   *		tam		INSCRIPT	=	+in(tam):2
    668   *		tel		basic	=	+in(tel):2
    669 
    670 ! model		layout[3]	variant[3]	=	symbols
    671   *		ben		basic	=	+in(ben):3
    672   *		ben		probhat	=	+in(ben_probhat):3
    673   *		dev		basic	=	+in(deva):3
    674   *		dzdwi		basic	=	+bt(basic):3
    675   *		fi		basic	=	+fi(classic):3
    676   *		ge		azerty_tskapo	=	+fr(geo):3
    677   *		guj		basic	=	+in(guj):3
    678   *		gur		basic	=	+in(guru):3
    679   *		ie		laptop	=	+ie(basic):3
    680   *		ie		CloGaelachLaptop	=	+ie(CloGaelach):3
    681   *		in		urd	=	+in(urd-phonetic):3
    682   *		iu		basic	=	+ca(ike):3
    683   *		lo		basic	=	+la(basic):3
    684   *		kan		basic	=	+in(kan):3
    685   *		mal		basic	=	+in(mal):3
    686   *		mal		mlplusnum	=	+in(mal):3
    687   *		ogham		basic	=	+ie(ogam):3
    688   *		ogham		laptop	=	+ie(ogam):3
    689   *		ogham		is434	=	+ie(ogam_is434):3
    690   *		ogham		is434laptop	=	+ie(ogam_is434):3
    691   *		ori		basic	=	+in(ori):3
    692   *		ro		de	=	+ro(winkeys):3
    693   *		ro		us	=	+ro(std):3
    694   *		ro		academic	=	+ro(std):3
    695   *		ro		std_comma	=	+ro(std):3
    696   *		ro		comma	=	+ro(basic):3
    697   *		ru		os	=	+ru(os_legacy):3
    698   *		pk		urd	=	+pk(urd-phonetic):3
    699   *		sapmi		basic	=	+no(smi):3
    700   *		sapmi		nodeadkeys	=	+no(smi_nodeadkeys):3
    701   *		sapmi		sefi	=	+fi(smi):3
    702   *		sin		phonetic-static	=	+in(sin_phonetic):3
    703   *		syr		basic	=	+sy(syc):3
    704   *		syr		phonetic	=	+sy(syc_phonetic):3
    705   *		tam		INSCRIPT	=	+in(tam):3
    706   *		tel		basic	=	+in(tel):3
    707 
    708 ! model		layout[4]	variant[4]	=	symbols
    709   *		ben		basic	=	+in(ben):4
    710   *		ben		probhat	=	+in(ben_probhat):4
    711   *		dev		basic	=	+in(deva):4
    712   *		dzdwi		basic	=	+bt(basic):4
    713   *		fi		basic	=	+fi(classic):4
    714   *		ge		azerty_tskapo	=	+fr(geo):4
    715   *		guj		basic	=	+in(guj):4
    716   *		gur		basic	=	+in(guru):4
    717   *		ie		laptop	=	+ie(basic):4
    718   *		ie		CloGaelachLaptop	=	+ie(CloGaelach):4
    719   *		in		urd	=	+in(urd-phonetic):4
    720   *		iu		basic	=	+ca(ike):4
    721   *		lo		basic	=	+la(basic):4
    722   *		kan		basic	=	+in(kan):4
    723   *		mal		basic	=	+in(mal):4
    724   *		mal		mlplusnum	=	+in(mal):4
    725   *		ogham		basic	=	+ie(ogam):4
    726   *		ogham		laptop	=	+ie(ogam):4
    727   *		ogham		is434	=	+ie(ogam_is434):4
    728   *		ogham		is434laptop	=	+ie(ogam_is434):4
    729   *		ori		basic	=	+in(ori):4
    730   *		ro		de	=	+ro(winkeys):4
    731   *		ro		us	=	+ro(std):4
    732   *		ro		academic	=	+ro(std):4
    733   *		ro		std_comma	=	+ro(std):4
    734   *		ro		comma	=	+ro(basic):4
    735   *		ru		os	=	+ru(os_legacy):4
    736   *		pk		urd	=	+pk(urd-phonetic):4
    737   *		sapmi		basic	=	+no(smi):4
    738   *		sapmi		nodeadkeys	=	+no(smi_nodeadkeys):4
    739   *		sapmi		sefi	=	+fi(smi):4
    740   *		sin		phonetic-static	=	+in(sin_phonetic):4
    741   *		syr		basic	=	+sy(syc):4
    742   *		syr		phonetic	=	+sy(syc_phonetic):4
    743   *		tam		INSCRIPT	=	+in(tam):4
    744   *		tel		basic	=	+in(tel):4
    745 
    746 ! model		=	symbols
    747   a4techKB21    =       +inet(media_nav_common)
    748   a4techKBS8    =       +inet(media_nav_acpi_common)
    749   a4_rfkb23     =       +inet(media_nav_acpi_common)
    750   asus_laptop   =       +inet(media_common)
    751   acer_tm_800   =       +inet(acer_laptop)
    752   benqx730      =       +inet(benqx)
    753   benqx800      =       +inet(benqx)
    754   btc5126t      =       +inet(nav_acpi_common)
    755   btc9116u      =       +inet(btc9019u)
    756   btc6301urf    =       +inet(media_nav_acpi_common)
    757   chromebook    =       +inet(chromebook)
    758   dellsk8125    =       +inet(dell)
    759   dellsk8135    =       +inet(dell)
    760   cherrybunlim  =       +inet(nav_common)
    761   dexxa         =       +inet(media_nav_common)
    762   dtk2000       =       +inet(media_nav_acpi_common)
    763   fscaa1667g    =       +inet(media_nav_common)
    764   geniuskb19e   =       +inet(media_nav_acpi_common)
    765   geniuscomfy   =       +inet(media_nav_acpi_common)
    766   geniuskkb2050hs =     +inet(dellusbmm)
    767   hpnx9020      =       +inet(hpi6)
    768   latitude      =       +inet(media_common)
    769   logicd        =       +inet(logitech_base)
    770   logicd_it     =       +inet(logitech_base)
    771   logicd_nav    =       +inet(logitech_base)
    772   logicd_opt    =       +inet(logitech_base)
    773   logiultrax    =       +inet(logitech_base)
    774   logiclx300    =       +inet(logiex110)
    775   logii350      =       +inet(logiex110)
    776   logimel       =       +inet(logiex110)
    777   logicdit      =       +inet(logicd)
    778   logicdo       =       +inet(logicd)
    779   logicdp       =       +inet(logicd)
    780   logicdpa      =       +inet(logicda)
    781   logiciink     =       +inet(logicink)
    782   ltcd          =       +inet(logicda)
    783   microsoftccurve2k =   +inet(microsoftprooem)
    784   microsoftpro  =       +inet(media_nav_acpi_common)
    785   precision_m   =       +inet(media_nav_common)
    786   scorpius      =       +inet(media_nav_acpi_common)
    787   sp_inet       =       +inet(media_nav_acpi_common)
    788   targa_v811    =       +inet(media_nav_acpi_common)
    789   thinkpad      =       +inet(media_nav_common)
    790   thinkpadz60   =       +inet(thinkpad60)
    791   tm2030USB-102 =       +inet(media_nav_acpi_common)
    792   tm2030USB-106 =       +inet(media_nav_acpi_common)
    793   trust_slimline =      +inet(media_nav_acpi_common)
    794   vsonku306     =       +inet(microsoftprooem)
    795   $inetkbds     =       +inet(%m)
    796   $maclaptop    =       +inet(apple)+level3(enter_switch)
    797   $applealu     =       +inet(apple)
    798   $macs	        =       +inet(apple)
    799   sun_type7_jp_usb	=	+sun_vndr/solaris(defaults_type7jp)
    800   $sun			=		+sun_vndr/solaris(defaults)
    801 
    802 ! model		layout		=	symbols
    803  $inetmediakbds	jp		=	+jp(henkan)
    804 
    805 ! layout	 variant		= compat
    806   de		 neo			= +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
    807   de		 adnw			= +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
    808   de		 koy			= +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
    809   de		 bone			= +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
    810   de		 bone_eszett_home	= +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
    811   de		 neo_qwertz		= +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
    812   de		 neo_qwerty		= +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
    813   jp		$sun_compat		= complete+japan(kana_lock)
    814 
    815 ! layout[1]	 variant[1]		= compat
    816   de		 neo			= +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
    817   de		 adnw			= +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
    818   de		 koy			= +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
    819   de		 bone			= +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
    820   de		 bone_eszett_home	= +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
    821   de		 neo_qwertz		= +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
    822   de		 neo_qwerty		= +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
    823   jp		$sun_compat		= complete+japan(kana_lock)
    824 
    825 ! layout[2]	 variant[2]		= compat
    826   de		 neo			= +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
    827   de		 adnw			= +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
    828   de		 koy			= +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
    829   de		 bone			= +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
    830   de		 bone_eszett_home	= +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
    831   de		 neo_qwertz		= +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
    832   de		 neo_qwerty		= +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
    833   jp		$sun_compat		= +complete+japan(kana_lock):2
    834 
    835 ! layout[3]	 variant[3]		= compat
    836   de		 neo			= +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
    837   de		 adnw			= +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
    838   de		 koy			= +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
    839   de		 bone			= +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
    840   de		 bone_eszett_home	= +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
    841   de		 neo_qwertz		= +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
    842   de		 neo_qwerty		= +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
    843   jp		$sun_compat		= +complete+japan(kana_lock):3
    844 
    845 ! layout[4]	 variant[4]		= compat
    846   de		 neo			= +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
    847   de		 adnw			= +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
    848   de		 koy			= +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
    849   de		 bone			= +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
    850   de		 bone_eszett_home	= +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
    851   de		 neo_qwertz		= +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
    852   de		 neo_qwerty		= +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
    853   jp		$sun_compat		= +complete+japan(kana_lock):4
    854 
    855 ! model		layout		=	compat
    856   pc98		nec_vndr/jp	=	pc98(basic)
    857   *		jp		=	complete+japan
    858   olpc          *               =       olpc
    859   olpcm         *               =       olpc
    860   *		*		=	complete
    861 
    862 ! model		layout[1]	=	compat
    863   *		*		=	complete
    864 
    865 ! model		=	types
    866   $macs		=	complete+numpad(mac)
    867   $applealu	=	complete+numpad(mac)
    868   $nokiamodels	=	complete+nokia
    869   *		=	complete
    870 
    871 ! layout		option			= symbols
    872   *			grp:toggle		= +group(toggle)
    873   *			grp:alts_toggle		= +group(alts_toggle)
    874   *			grp:alt_altgr_toggle	= +group(alt_altgr_toggle)
    875   *			grp:alt_space_toggle	= +group(alt_space_toggle)
    876   *			grp:win_space_toggle	= +group(win_space_toggle)
    877   *			grp:ctrl_space_toggle	= +group(ctrl_space_toggle)
    878   *			grp:rctrl_rshift_toggle	= +group(rctrl_rshift_toggle)
    879   *			lv3:ralt_alt		= +level3(ralt_alt)
    880   *			misc:typo		= +typo(base)
    881   *			misc:apl		= +apl(level3)
    882 
    883 ! layout[1]		option			= symbols
    884   *			grp:toggle		= +group(toggle):1
    885   *			grp:alts_toggle		= +group(alts_toggle):1
    886   *			grp:alt_altgr_toggle	= +group(alt_altgr_toggle):1
    887   *			grp:alt_space_toggle	= +group(alt_space_toggle):1
    888   *			grp:win_space_toggle	= +group(win_space_toggle):1
    889   *			grp:ctrl_space_toggle	= +group(ctrl_space_toggle):1
    890   *			grp:rctrl_rshift_toggle	= +group(rctrl_rshift_toggle):1
    891   *			lv3:ralt_alt		= +level3(ralt_alt):1
    892   *			misc:typo		= +typo(base):1
    893   *			misc:apl		= +apl(level3):1
    894 
    895 ! layout[2]		option			= symbols
    896   *			grp:toggle		= +group(toggle):2
    897   *			grp:alts_toggle		= +group(alts_toggle):2
    898   *			grp:alt_altgr_toggle	= +group(alt_altgr_toggle):2
    899   *			grp:alt_space_toggle	= +group(alt_space_toggle):2
    900   *			grp:win_space_toggle	= +group(win_space_toggle):2
    901   *			grp:ctrl_space_toggle	= +group(ctrl_space_toggle):2
    902   *			grp:rctrl_rshift_toggle	= +group(rctrl_rshift_toggle):2
    903   *			lv3:ralt_alt		= +level3(ralt_alt):2
    904   *			misc:typo		= +typo(base):2
    905   *			misc:apl		= +apl(level3):2
    906 
    907 ! layout[3]		option			= symbols
    908   *			grp:toggle		= +group(toggle):3
    909   *			grp:alts_toggle		= +group(alts_toggle):3
    910   *			grp:alt_altgr_toggle	= +group(alt_altgr_toggle):3
    911   *			grp:alt_space_toggle	= +group(alt_space_toggle):3
    912   *			grp:win_space_toggle	= +group(win_space_toggle):3
    913   *			grp:ctrl_space_toggle	= +group(ctrl_space_toggle):3
    914   *			grp:rctrl_rshift_toggle	= +group(rctrl_rshift_toggle):3
    915   *			lv3:ralt_alt		= +level3(ralt_alt):3
    916   *			misc:typo		= +typo(base):3
    917   *			misc:apl		= +apl(level3):3
    918 
    919 ! layout[4]		option			= symbols
    920   *			grp:toggle		= +group(toggle):4
    921   *			grp:alts_toggle		= +group(alts_toggle):4
    922   *			grp:alt_altgr_toggle	= +group(alt_altgr_toggle):4
    923   *			grp:alt_space_toggle	= +group(alt_space_toggle):4
    924   *			grp:win_space_toggle	= +group(win_space_toggle):4
    925   *			grp:ctrl_space_toggle	= +group(ctrl_space_toggle):4
    926   *			grp:rctrl_rshift_toggle	= +group(rctrl_rshift_toggle):4
    927   *			lv3:ralt_alt		= +level3(ralt_alt):4
    928   *			misc:typo		= +typo(base):4
    929   *			misc:apl		= +apl(level3):4
    930 
    931 ! option			= symbols
    932   grp:shift_caps_switch		= +group(caps_select)
    933   grp:win_menu_switch		= +group(win_menu_select)
    934   grp:lctrl_rctrl_switch	= +group(ctrl_select)
    935 //  Delete the above three aliases in July 2027.
    936   ctrl:swapcaps_hyper		   = +ctrl(hyper_capscontrol)
    937   ctrl:swapcaps_and_switch_layout  = +ctrl(swapcaps)+group(lctrl_toggle)
    938 //  Delete the above two aliases in September 2027.
    939 
    940 ! option		=	symbols
    941   altwin:menu		=	+altwin(menu)
    942   altwin:menu_win	=	+altwin(menu_win)
    943   altwin:meta_alt	=	+altwin(meta_alt)
    944   altwin:alt_win	=	+altwin(alt_win)
    945   altwin:ctrl_win	=	+altwin(ctrl_win)
    946   altwin:ctrl_rwin	=	+altwin(ctrl_rwin)
    947   altwin:ctrl_alt_win	=	+altwin(ctrl_alt_win)
    948   altwin:meta_win	=	+altwin(meta_win)
    949   altwin:left_meta_win	=	+altwin(left_meta_win)
    950   altwin:hyper_win	=	+altwin(hyper_win)
    951   altwin:alt_super_win	=	+altwin(alt_super_win)
    952   altwin:swap_lalt_lwin	=	+altwin(swap_lalt_lwin)
    953   altwin:swap_alt_win	=	+altwin(swap_alt_win)
    954   altwin:prtsc_rwin	=	+altwin(prtsc_rwin)
    955   grab:debug		=	+srvr_ctrl(grab_debug)
    956   grp:switch		=	+group(switch)
    957   grp:lswitch		=	+group(lswitch)
    958   grp:win_switch	=	+group(win_switch)
    959   grp:lwin_switch	=	+group(lwin_switch)
    960   grp:rwin_switch	=	+group(rwin_switch)
    961   grp:menu_switch	=	+group(menu_switch)
    962   grp:caps_switch	=	+group(caps_switch)
    963   grp:shifts_toggle	=	+group(shifts_toggle)
    964   grp:ctrls_toggle	=	+group(ctrls_toggle)
    965   grp:caps_toggle	=	+group(caps_toggle)
    966   grp:shift_caps_toggle	=	+group(shift_caps_toggle)
    967   grp:caps_select	=	+group(caps_select)
    968   grp:win_menu_select	=	+group(win_menu_select)
    969   grp:ctrl_select	=	+group(ctrl_select)
    970   grp:alt_caps_toggle	=	+group(alt_caps_toggle)
    971   grp:menu_toggle	=	+group(menu_toggle)
    972   grp:lwin_toggle	=	+group(lwin_toggle)
    973   grp:rwin_toggle	=	+group(rwin_toggle)
    974   grp:lshift_toggle	=	+group(lshift_toggle)
    975   grp:rshift_toggle	=	+group(rshift_toggle)
    976   grp:rctrl_switch	=	+group(rctrl_switch)
    977   grp:lctrl_toggle	=	+group(lctrl_toggle)
    978   grp:rctrl_toggle	=	+group(rctrl_toggle)
    979   grp:lalt_toggle	=	+group(lalt_toggle)
    980   grp:sclk_toggle	=	+group(sclk_toggle)
    981   grp:lctrl_lwin_rctrl_menu	=	+group(lctrl_lwin_rctrl_menu)
    982   grp:lctrl_lalt_toggle		=	+group(lctrl_lalt_toggle)
    983   grp:rctrl_ralt_toggle		=	+group(rctrl_ralt_toggle)
    984   grp:ctrl_alt_toggle		=	+group(ctrl_alt_toggle)
    985   grp:ctrl_alt_toggle_bidir	=	+group(ctrl_alt_toggle_bidir)
    986   grp:lctrl_lshift_toggle	=	+group(lctrl_lshift_toggle)
    987   grp:ctrl_shift_toggle		=	+group(ctrl_shift_toggle)
    988   grp:ctrl_shift_toggle_bidir	=	+group(ctrl_shift_toggle_bidir)
    989   grp:lalt_lshift_toggle	=	+group(lalt_lshift_toggle)
    990   grp:ralt_rshift_toggle	=	+group(ralt_rshift_toggle)
    991   grp:alt_shift_toggle		=	+group(alt_shift_toggle)
    992   grp:alt_shift_toggle_bidir	=	+group(alt_shift_toggle_bidir)
    993   grp:lctrl_lwin_toggle		=	+group(lctrl_lwin_toggle)
    994   lv3:switch		=	+level3(switch)
    995   lv3:ralt_switch	=	+level3(ralt_switch)
    996   lv3:ralt_switch_multikey	=	+level3(ralt_switch_multikey)
    997   lv3:lalt_switch	=	+level3(lalt_switch)
    998   lv3:alt_switch	=	+level3(alt_switch)
    999   lv3:menu_switch	=	+level3(menu_switch)
   1000   lv3:win_switch	=	+level3(win_switch)
   1001   lv3:lwin_switch	=	+level3(lwin_switch)
   1002   lv3:rwin_switch	=	+level3(rwin_switch)
   1003   lv3:enter_switch	=	+level3(enter_switch)
   1004   lv3:4_switch_isolated	=	+level3(4_switch_isolated)
   1005   lv3:9_switch_isolated	=	+level3(9_switch_isolated)
   1006   caps:capslock		=	+capslock(capslock)
   1007   caps:numlock		=	+capslock(numlock)
   1008   caps:shiftlock	=	+capslock(shiftlock)
   1009   caps:swapescape	=	+capslock(swapescape)
   1010   caps:escape		=	+capslock(escape)
   1011   caps:escape_shifted_capslock	=	+capslock(escape_shifted_capslock)
   1012   caps:escape_shifted_compose	=	+capslock(escape_shifted_compose)
   1013   caps:backspace	=	+capslock(backspace)
   1014   caps:super		=	+capslock(super)
   1015   caps:hyper		=	+capslock(hyper)
   1016   caps:menu		=	+capslock(menu)
   1017   caps:none		=	+capslock(none)
   1018   caps:ctrl_modifier	=	+capslock(ctrl_modifier)
   1019   ctrl:nocaps		=	+ctrl(nocaps)
   1020   ctrl:lctrl_meta	=	+ctrl(lctrl_meta)
   1021   ctrl:swapcaps		=	+ctrl(swapcaps)
   1022   ctrl:hyper_capscontrol	=	+ctrl(hyper_capscontrol)
   1023   ctrl:grouptoggle_capscontrol	=	+ctrl(swapcaps)+group(lctrl_toggle)
   1024   ctrl:ac_ctrl		=	+ctrl(ac_ctrl)
   1025   ctrl:aa_ctrl		=	+ctrl(aa_ctrl)
   1026   ctrl:rctrl_ralt	=	+ctrl(rctrl_ralt)
   1027   ctrl:menu_rctrl	=	+ctrl(menu_rctrl)
   1028   ctrl:ralt_rctrl	=	+ctrl(ralt_rctrl)
   1029   ctrl:swap_lalt_lctl	=	+ctrl(swap_lalt_lctl)
   1030   ctrl:swap_ralt_rctl	=	+ctrl(swap_ralt_rctl)
   1031   ctrl:swap_lwin_lctl	=	+ctrl(swap_lwin_lctl)
   1032   ctrl:swap_rwin_rctl	=	+ctrl(swap_rwin_rctl)
   1033   ctrl:swap_lalt_lctl_lwin  =	+ctrl(swap_lalt_lctl_lwin)
   1034   compose:ralt		=	+compose(ralt)
   1035   compose:lwin		=	+compose(lwin)
   1036   compose:lwin-altgr	=	+compose(lwin-altgr)
   1037   compose:rwin		=	+compose(rwin)
   1038   compose:rwin-altgr	=	+compose(rwin-altgr)
   1039   compose:menu		=	+compose(menu)
   1040   compose:menu-altgr	=	+compose(menu-altgr)
   1041   compose:lctrl		=	+compose(lctrl)
   1042   compose:lctrl-altgr	=	+compose(lctrl-altgr)
   1043   compose:rctrl		=	+compose(rctrl)
   1044   compose:rctrl-altgr	=	+compose(rctrl-altgr)
   1045   compose:caps		=	+compose(caps)
   1046   compose:caps-altgr	=	+compose(caps-altgr)
   1047   compose:102		=	+compose(102)
   1048   compose:102-altgr	=	+compose(102-altgr)
   1049   compose:ins		=	+compose(ins)
   1050   compose:paus		=	+compose(paus)
   1051   compose:prsc		=	+compose(prsc)
   1052   compose:sclk		=	+compose(sclk)
   1053   srvrkeys:none		=	+srvr_ctrl(no_srvr_keys)
   1054   eurosign:e		=	+eurosign(e)
   1055   eurosign:2		=	+eurosign(2)
   1056   eurosign:4		=	+eurosign(4)
   1057   eurosign:5		=	+eurosign(5)
   1058   rupeesign:4		=	+rupeesign(4)
   1059   keypad:oss		=	+keypad(oss)
   1060   keypad:legacy         =	+keypad(legacy)
   1061   keypad:legacy_wang    =	+keypad(legacy_wang)
   1062   keypad:oss_wang       =	+keypad(oss_wang)
   1063   keypad:future         =	+keypad(future)
   1064   keypad:future_wang    =	+keypad(future_wang)
   1065   keypad:hex            =	+keypad(ops)+keypad(hex)
   1066   keypad:atm            =	+keypad(ops)+keypad(hex)+keypad(atm)
   1067   nbsp:none             =	+nbsp(none)
   1068   nbsp:level2           =	+nbsp(level2)
   1069   nbsp:level3           =	+nbsp(level3)
   1070   nbsp:level3n          =	+nbsp(level3n)
   1071   nbsp:level4           =	+nbsp(level4)
   1072   nbsp:level4n          =	+nbsp(level4n)
   1073   nbsp:level4nl         =	+nbsp(level4nl)
   1074   nbsp:zwnj2            =	+nbsp(zwnj2)
   1075   nbsp:zwnj2zwj3        =	+nbsp(zwnj2zwj3)
   1076   nbsp:zwnj2zwj3nb4     =	+nbsp(zwnj2zwj3nb4)
   1077   nbsp:zwnj2nb3         =	+nbsp(zwnj2nb3)
   1078   nbsp:zwnj2nb3zwj4     =	+nbsp(zwnj2nb3zwj4)
   1079   nbsp:zwnj2nb3nnb4     =	+nbsp(zwnj2nb3nnb4)
   1080   nbsp:zwnj3zwj4        =	+nbsp(zwnj3zwj4)
   1081   japan:nicola_f_bs     =	+jp(nicola_f_bs)
   1082   japan:hztg_escape     =	+jp(hztg_escape)
   1083   korean:ralt_hangul	=	+kr(ralt_hangul)
   1084   korean:rctrl_hangul	=	+kr(rctrl_hangul)
   1085   korean:ralt_hanja	=	+kr(ralt_hanja)
   1086   korean:rctrl_hanja	=	+kr(rctrl_hanja)
   1087   kpdl:dot              =	+kpdl(dot)
   1088   kpdl:comma            =	+kpdl(comma)
   1089   kpdl:dotoss           =	+kpdl(dotoss)
   1090   kpdl:dotoss_latin9    =	+kpdl(dotoss_latin9)
   1091   kpdl:commaoss         =	+kpdl(commaoss)
   1092   kpdl:momayyezoss      =	+kpdl(momayyezoss)
   1093   kpdl:kposs            =	+kpdl(kposs)
   1094   kpdl:semi             =	+kpdl(semi)
   1095   shift:breaks_caps     =	+shift(breaks_caps)
   1096   esperanto:qwerty      =	+epo(qwerty)
   1097   esperanto:dvorak      =	+epo(dvorak)
   1098   esperanto:colemak     =	+epo(colemak)
   1099   terminate:ctrl_alt_bksp =	+terminate(ctrl_alt_bksp)
   1100   keypad:pointerkeys	=	+keypad(pointerkeys)
   1101   apple:alupckeys	=	+macintosh_vndr/apple(alupckeys)
   1102   apple:jp_pc106	=	+macintosh_vndr/apple(jp_pc106)
   1103   apple:jp_oadg109a	=	+macintosh_vndr/apple(jp_oadg109a)
   1104   shift:both_capslock                =       +shift(both_capslock)
   1105   shift:lshift_both_capslock         =       +shift(lshift_both_capslock)
   1106   shift:rshift_both_capslock         =       +shift(rshift_both_capslock)
   1107   shift:both_capslock_cancel         =       +shift(both_capslock_cancel)
   1108   shift:lshift_both_capslock_cancel  =       +shift(lshift_both_capslock_cancel)
   1109   shift:rshift_both_capslock_cancel  =       +shift(rshift_both_capslock_cancel)
   1110   shift:both_shiftlock               =       +shift(both_shiftlock)
   1111   shift:lshift_both_shiftlock        =       +shift(lshift_both_shiftlock)
   1112   shift:rshift_both_shiftlock        =       +shift(rshift_both_shiftlock)
   1113   solaris:sun_compat				 =		 +sun_vndr/solaris(sun_compat)
   1114   lv2:lsgt_switch                    =       +level2(lsgt_switch)
   1115   lv3:caps_switch                    =       +level3(caps_switch)
   1116   lv3:bksl_switch                    =       +level3(bksl_switch)
   1117   lv3:lsgt_switch                    =       +level3(lsgt_switch)
   1118   lv3:caps_switch_latch              =       +level3(caps_switch_latch)
   1119   lv3:bksl_switch_latch              =       +level3(bksl_switch_latch)
   1120   lv3:lsgt_switch_latch              =       +level3(lsgt_switch_latch)
   1121   lv5:caps_switch                 =       +level5(caps_switch)
   1122   lv5:lsgt_switch                 =       +level5(lsgt_switch)
   1123   lv5:ralt_switch                 =       +level5(ralt_switch)
   1124   lv5:menu_switch                 =       +level5(menu_switch)
   1125   lv5:rctrl_switch                =       +level5(rctrl_switch)
   1126   lv5:lsgt_switch_lock            =       +level5(lsgt_switch_lock)
   1127   lv5:ralt_switch_lock            =       +level5(ralt_switch_lock)
   1128   lv5:lwin_switch_lock            =       +level5(lwin_switch_lock)
   1129   lv5:rwin_switch_lock            =       +level5(rwin_switch_lock)
   1130   lv5:lsgt_switch_lock_cancel     =       +level5(lsgt_switch_lock_cancel)
   1131   lv5:ralt_switch_lock_cancel     =       +level5(ralt_switch_lock_cancel)
   1132   lv5:lwin_switch_lock_cancel     =       +level5(lwin_switch_lock_cancel)
   1133   lv5:rwin_switch_lock_cancel     =       +level5(rwin_switch_lock_cancel)
   1134   parens:swap_brackets   =   +parens(swap_brackets)
   1135 
   1136 
   1137 ! option		=	compat
   1138   grp_led:num		=	+lednum(group_lock)
   1139   grp_led:caps		=	+ledcaps(group_lock)
   1140   grp_led:scroll	=	+ledscroll(group_lock)
   1141   mod_led:compose	=	+ledcompose(compose)
   1142   japan:kana_lock	=	+japan(kana_lock)
   1143   caps:shiftlock	=	+ledcaps(shift_lock)
   1144   grab:break_actions	=	+xfree86(grab_break)
   1145 
   1146 
   1147 ! option			=	types
   1148   caps:internal			=	+caps(internal)
   1149   caps:internal_nocancel	=	+caps(internal_nocancel)
   1150   caps:shift			=	+caps(shift)
   1151   caps:shift_nocancel		=	+caps(shift_nocancel)
   1152   numpad:pc			=	+numpad(pc)
   1153   numpad:mac			=	+numpad(mac)
   1154   numpad:microsoft		=	+numpad(microsoft)
   1155   numpad:shift3			=	+numpad(shift3)
   1156