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