// $XdotOrg$

//
//  Rules for resolving XKB components for use with XFree86
//  Copyright 1996 by Joseph Moss
//
//  2002 Modifier: Ivan Pascal      The XFree86 Project
//  $XFree86: xc/programs/xkbcomp/rules/xfree86,v 3.79 2004/01/09 00:16:01 dawes Exp $
//
// If you want non-latin layouts implicitly include the en_US layout
// uncomment lines below
//! $nonlatin = am ara bg by dev el ge il \
//              ir iu kan lo mk mm ml ori ru sr syr th \
//              tj ua

! $pcmodels = pc101 pc102 pc104 pc105
! $maclaptop = ibook powerbook
! $mac = macintosh macintosh_old ibook powerbook

! $azerty = be fr
! $qwertz = al cz de hr hu ro si sk 

! $inetkbds = a4techKB21 a4techKBS8 acer_tm_800 acpi airkey azonaRF2300 \
              brother \
              btc5113rf btc5126t btc9000 btc9000a btc9001ah btc5090\
              cherryblue cherrybluea cherryblueb \
              chicony chicony9885 \
              compaqeak8 compaqik7 compaqik13 compaqik18 cymotionlinux \
              armada presario ipaq \
              dell inspiron dtk2000 \
              dexxa diamond genius geniuscomfy2 \
              ennyah_dkb1008 gyration \
              hpi6 hp2501 hp2505 hp5181 hpxe3gc hpxe3gf hpxe4xxx hpzt11xx \
              hp500fa hp5xx hp5185 \
              honeywell_euroboard \
              rapidaccess rapidaccess2 rapidaccess2a \
              ltcd logiaccess logicdp logicdpa logicdit logicink logiciink \
              logiinkse logiinkseusb logiitc logiik itouch logiultrax \
              mx1998 mx2500 mx2750 \
              microsoftinet microsoftpro microsoftprousb microsoftprooem microsoftprose \
              microsoftoffice microsoftmult \
              oretec \
              propeller scorpius \
              qtronix \
              samsung4500 samsung4510 \
              sk1300 sk2500 sk6200 sk7100 sp_inet \
              sven symplon toshiba_s3000 trust trustda yahoo

! model		=	keycodes
  macintosh_old	=	macintosh
  powerpcps2	=	powerpcps2
  pc98		=	xfree98(pc98)
  abnt2		=	xfree86(abnt2)
  jp106		=	xfree86(jp106)
  sun		=	xfree86(sun)
  zaurus	=	xfree86
  *		=	xfree86

! layout[1]	=	keycodes
  $azerty       =       +aliases(azerty)
  $qwertz       =       +aliases(qwertz)
  *             =       +aliases(qwerty)

! layout	=	keycodes
  $azerty       =       +aliases(azerty)
  $qwertz       =       +aliases(qwertz)
  *             =       +aliases(qwerty)

! model		=	geometry
  microsoft	=	microsoft(natural)
  microsoftpro	=	microsoft(natural)
  microsoftprousb =	microsoft(natural)
  microsoftprose =	microsoft(natural)
  dell101	=	dell(dell101)
  flexpro	=	keytronic(FlexPro)
  hp6000	=	hp(omnibook)
  omnikey101	=	northgate(omnikey101)
  thinkpad	=	ibm/thinkpad(common)
 $pcmodels	=	pc(%m)
  jp106		=	pc(jp106)
  everex	=	everex(STEPnote)
  winbook	=	winbook(XP5)
  pc98		=	nec(pc98)
  abnt2		=	pc(abnt2)
 $mac		=	macintosh(macintosh)
  sun		=	sun(type4)
  *		=       pc(pc104)

! model		layout		variant		=	symbols
  $pcmodels	ben		basic		=	pc/pc(%m)+pc/in(ben)
  *		ben		basic		=	pc/pc(pc105)+pc/in(ben)
  $pcmodels	ben		probhat		=	pc/pc(%m)+pc/in(ben_probhat)
  *		ben		probhat		=	pc/pc(pc105)+pc/in(ben_probhat)
  $pcmodels	dev		basic		=	pc/pc(%m)+pc/in(deva)
  *		dev		basic		=	pc/pc(pc105)+pc/in(deva)
  $pcmodels	dvorak		gb		=	pc/pc(%m)+pc/gb(dvorak)
  *		dvorak		gb		=	pc/pc(pc105)+pc/gb(dvorak)
  $pcmodels	dvorak		fr		=	pc/pc(%m)+pc/fr(dvorak)
  *		dvorak		fr		=	pc/pc(pc105)+pc/fr(dvorak)
  $pcmodels	dvorak		no		=	pc/pc(%m)+pc/no(dvorak)
  *		dvorak		no		=	pc/pc(pc105)+pc/no(dvorak)
  $pcmodels	dvorak		se		=	pc/pc(%m)+pc/se(dvorak)
  *		dvorak		se		=	pc/pc(pc105)+pc/se(dvorak)
  $pcmodels	dvorak		basic		=	pc/pc(%m)+pc/us(dvorak)
  *		dvorak		basic		=	pc/pc(pc105)+pc/us(dvorak)
  $pcmodels	dvorak		pl_basic	=	pc/pc(%m)+pc/pl(dvorak)
  *		dvorak		pl_basic	=	pc/pc(pc105)+pc/pl(dvorak)
  $pcmodels	dvorak		pl		=	pc/pc(%m)+pc/pl(dvorak_quotes)
  *		dvorak		pl		=	pc/pc(pc105)+pc/pl(dvorak_quotes)
  $pcmodels	dvorak		pl_altquotes	=	pc/pc(%m)+pc/pl(dvorak_altquotes)
  *		dvorak		pl_altquotes	=	pc/pc(pc105)+pc/pl(dvorak_altquotes)
  $pcmodels	dz		basic		=	pc/pc(%m)+pc/bt(basic)
  *		dz		basic		=	pc/pc(pc105)+pc/bt(basic)
  $pcmodels	guj		basic		=	pc/pc(%m)+pc/in(guj)
  *		guj		basic		=	pc/pc(pc105)+pc/in(guj)
  $pcmodels	gur		basic		=	pc/pc(%m)+pc/in(guru)
  *		gur		basic		=	pc/pc(pc105)+pc/in(guru)
  $pcmodels	ie		laptop		=	pc/pc(%m)+pc/ie(basic)
  *		ie		laptop		=	pc/pc(pc105)+pc/ie(basic)
  $pcmodels	ie		CloGaelachLaptop		=	pc/pc(%m)+pc/ie(CloGaelach)
  *		ie		CloGaelachLaptop		=	pc/pc(pc105)+pc/ie(CloGaelach)
  $pcmodels	iu		basic		=	pc/pc(%m)+pc/ca(ike)
  *		iu		basic		=	pc/pc(pc105)+pc/ca(ike)
  $pcmodels	lo		basic		=	pc/pc(%m)+pc/la(basic)
  *		lo		basic		=	pc/pc(pc105)+pc/la(basic)
  $pcmodels	kan		basic		=	pc/pc(%m)+pc/in(kan)
  *		kan		basic		=	pc/pc(pc105)+pc/in(kan)
  $pcmodels	mal		basic		=	pc/pc(%m)+pc/in(mal)
  *		mal		basic		=	pc/pc(pc105)+pc/in(mal)
  $pcmodels	mal		mlplusnum	=	pc/pc(%m)+pc/in(mal)
  *		mal		mlplusnum	=	pc/pc(pc105)+pc/in(mal)
  $pcmodels	ogham		basic		=	pc/pc(%m)+pc/ie(ogam)
  *		ogham		basic		=	pc/pc(pc105)+pc/ie(ogam)
  $pcmodels	ogham		laptop		=	pc/pc(%m)+pc/ie(ogam)
  *		ogham		laptop		=	pc/pc(pc105)+pc/ie(ogam)
  $pcmodels	ogham		is434		=	pc/pc(%m)+pc/ie(ogam_is434)
  *		ogham		is434		=	pc/pc(pc105)+pc/ie(ogam_is434)
  $pcmodels	ogham		is434laptop	=	pc/pc(%m)+pc/ie(ogam_is434)
  *		ogham		is434laptop	=	pc/pc(pc105)+pc/ie(ogam_is434)
  $pcmodels	ori		basic		=	pc/pc(%m)+pc/in(ori)
  *		ori		basic		=	pc/pc(pc105)+pc/in(ori)
  $pcmodels	sapmi		basic		=	pc/pc(%m)+pc/no(smi)
  *		sapmi		basic		=	pc/pc(pc105)+pc/no(smi)
  $pcmodels	sapmi		nodeadkeys	=	pc/pc(%m)+pc/no(smi_nodeadkeys)
  *		sapmi		nodeadkeys	=	pc/pc(pc105)+pc/no(smi_nodeadkeys)
  $pcmodels	sapmi		sefi		=	pc/pc(%m)+pc/fi(smi)
  *		sapmi		sefi		=	pc/pc(pc105)+pc/fi(smi)
  $pcmodels	sin		phonetic-static	=	pc/pc(%m)+pc/in(sin_phonetic)
  *		sin		phonetic-static	=	pc/pc(pc105)+pc/in(sin_phonetic)
  $pcmodels	syr		basic		=	pc/pc(%m)+pc/sy(syc)
  *		syr		basic		=	pc/pc(pc105)+pc/sy(syc)
  $pcmodels	syr		phonetic	=	pc/pc(%m)+pc/sy(syc_phonetic)
  *		syr		phonetic	=	pc/pc(pc105)+pc/sy(syc_phonetic)
  $pcmodels	tam		INSCRIPT	=	pc/pc(%m)+pc/in(tam)
  *		tam		INSCRIPT	=	pc/pc(pc105)+pc/in(tam)
  $pcmodels	tam		UNI		=	pc/pc(%m)+pc/in(tam_unicode)
  *		tam		UNI		=	pc/pc(pc105)+pc/in(tam_unicode)
  $pcmodels	tam		TAB		=	pc/pc(%m)+pc/in(tam_TAB)
  *		tam		TAB		=	pc/pc(pc105)+pc/in(tam_TAB)
  $pcmodels	tam		TSCII		=	pc/pc(%m)+pc/in(tam_TSCII)
  *		tam		TSCII		=	pc/pc(pc105)+pc/in(tam_TSCII)
  $pcmodels	tel		basic		=	pc/pc(%m)+pc/in(tel)
  *		tel		basic		=	pc/pc(pc105)+pc/in(tel)
  $pcmodels	yu		basic		=	pc/pc(%m)+pc/srp(latin)
  *		yu		basic		=	pc/pc(pc105)+pc/srp(latin)
  $pcmodels	yu		unicode		=	pc/pc(%m)+pc/srp(latinunicode)
  *		yu		unicode		=	pc/pc(pc105)+pc/srp(latinunicode)
  $pcmodels	yu		yz		=	pc/pc(%m)+pc/srp(latinyz)
  *		yu		yz		=	pc/pc(pc105)+pc/srp(latinyz)
  $pcmodels	yu		unicodeyz	=	pc/pc(%m)+pc/srp(latinunicodeyz)
  *		yu		unicodeyz	=	pc/pc(pc105)+pc/srp(latinunicodeyz)
 $maclaptop	*		nodeadkeys	=	macintosh/us(extended)+macintosh/%l%(v)+apple(laptop_bad_switch)
 $mac		*		nodeadkeys	=	macintosh/us(extended)+macintosh/%l%(v)

! model		layout				=	symbols
  $pcmodels	ar			=	pc/pc(%m)+pc/ara
  *		ar			=	pc/pc(pc105)+pc/ara
  $pcmodels	ben			=	pc/pc(%m)+pc/in(ben)
  *		ben			=	pc/pc(pc105)+pc/in(ben)
  $pcmodels	bs			=	pc/pc(%m)+pc/ba
  *		bs			=	pc/pc(pc105)+pc/ba
  $pcmodels	dev			=	pc/pc(%m)+pc/in(deva)
  *		dev			=	pc/pc(pc105)+pc/in(deva)
  $pcmodels	dvorak			=	pc/pc(%m)+pc/us(dvorak)
  *		dvorak			=	pc/pc(pc105)+pc/us(dvorak)
  $pcmodels	dz			=	pc/pc(%m)+pc/bt
  *		dz			=	pc/pc(pc105)+pc/bt
  $pcmodels	el			=	pc/pc(%m)+pc/gr
  *		el			=	pc/pc(pc105)+pc/gr
  $pcmodels	ge_la			=	pc/pc(%m)+pc/ge
  *		ge_la			=	pc/pc(pc105)+pc/ge
  $pcmodels	ge_ru			=	pc/pc(%m)+pc/ge(ru)
  *		ge_ru			=	pc/pc(pc105)+pc/ge(ru)
  $pcmodels	guj			=	pc/pc(%m)+pc/in(guj)
  *		guj			=	pc/pc(pc105)+pc/in(guj)
  $pcmodels	gur			=	pc/pc(%m)+pc/in(guru)
  *		gur			=	pc/pc(pc105)+pc/in(guru)
  $pcmodels	iu			=	pc/pc(%m)+pc/ca(ike)
  *		iu			=	pc/pc(pc105)+pc/ca(ike)
  $pcmodels	lo			=	pc/pc(%m)+pc/la
  *		lo			=	pc/pc(pc105)+pc/la
  $pcmodels	kan			=	pc/pc(%m)+pc/in(kan)
  *		kan			=	pc/pc(pc105)+pc/in(kan)
  $pcmodels	mi			=	pc/pc(%m)+pc/mao
  *		mi			=	pc/pc(pc105)+pc/mao
  $pcmodels	mk			=	pc/pc(%m)+pc/mkd
  *		mk			=	pc/pc(pc105)+pc/mkd
  $pcmodels	ml			=	pc/pc(%m)+pc/in(mal)
  *		ml			=	pc/pc(pc105)+pc/in(mal)
  $pcmodels	ogham			=	pc/pc(%m)+pc/ie(ogam)
  *		ogham			=	pc/pc(pc105)+pc/ie(ogam)
  $pcmodels	ori			=	pc/pc(%m)+pc/ie(ori)
  *		ori			=	pc/pc(pc105)+pc/ie(ori)
  $pcmodels	sapmi			=	pc/pc(%m)+pc/no(smi)
  *		sapmi			=	pc/pc(pc105)+pc/no(smi)
  $pcmodels	sr			=	pc/pc(%m)+pc/srp
  *		sr			=	pc/pc(pc105)+pc/srp
  $pcmodels	syr			=	pc/pc(%m)+pc/sy(syc)
  *		syr			=	pc/pc(pc105)+pc/sy(syc)
  $pcmodels	tel			=	pc/pc(%m)+pc/in(tel)
  *		tel			=	pc/pc(pc105)+pc/in(tel)
  $pcmodels	tml			=	pc/pc(%m)+pc/in(tam)
  *		tml			=	pc/pc(pc105)+pc/in(tam)
  $pcmodels	yu			=	pc/pc(%m)+pc/srp
  *		yu			=	pc/pc(pc105)+pc/srp
  $pcmodels	ben(basic)		=	pc/pc(%m)+pc/in(ben)
  *		ben(basic)		=	pc/pc(pc105)+pc/in(ben)
  $pcmodels	ben(probhat)		=	pc/pc(%m)+pc/in(ben_probhat)
  *		ben(probhat)		=	pc/pc(pc105)+pc/in(ben_probhat)
  $pcmodels	dev(basic)		=	pc/pc(%m)+pc/in(deva)
  *		dev(basic)		=	pc/pc(pc105)+pc/in(deva)
  $pcmodels	dvorak(gb)		=	pc/pc(%m)+pc/gb(dvorak)
  *		dvorak(gb)		=	pc/pc(pc105)+pc/gb(dvorak)
  $pcmodels	dvorak(fr)		=	pc/pc(%m)+pc/fr(dvorak)
  *		dvorak(fr)		=	pc/pc(pc105)+pc/fr(dvorak)
  $pcmodels	dvorak(no)		=	pc/pc(%m)+pc/no(dvorak)
  *		dvorak(no)		=	pc/pc(pc105)+pc/no(dvorak)
  $pcmodels	dvorak(se)		=	pc/pc(%m)+pc/se(dvorak)
  *		dvorak(se)		=	pc/pc(pc105)+pc/se(dvorak)
  $pcmodels	dvorak(basic)		=	pc/pc(%m)+pc/us(dvorak)
  *		dvorak(basic)		=	pc/pc(pc105)+pc/us(dvorak)
  $pcmodels	dvorak(pl_basic)	=	pc/pc(%m)+pc/pl(dvorak)
  *		dvorak(pl_basic)	=	pc/pc(pc105)+pc/pl(dvorak)
  $pcmodels	dvorak(pl)		=	pc/pc(%m)+pc/pl(dvorak_quotes)
  *		dvorak(pl)		=	pc/pc(pc105)+pc/pl(dvorak_quotes)
  $pcmodels	dvorak(pl_altquotes)	=	pc/pc(%m)+pc/pl(dvorak_altquotes)
  *		dvorak(pl_altquotes)	=	pc/pc(pc105)+pc/pl(dvorak_altquotes)
  $pcmodels	dz(basic)		=	pc/pc(%m)+pc/bt(basic)
  *		dz(basic)		=	pc/pc(pc105)+pc/bt(basic)
  $pcmodels	guj(basic)		=	pc/pc(%m)+pc/in(guj)
  *		guj(basic)		=	pc/pc(pc105)+pc/in(guj)
  $pcmodels	gur(basic)		=	pc/pc(%m)+pc/in(guru)
  *		gur(basic)		=	pc/pc(pc105)+pc/in(guru)
  $pcmodels	ie(laptop)		=	pc/pc(%m)+pc/ie(basic)
  *		ie(laptop)		=	pc/pc(pc105)+pc/ie(basic)
  $pcmodels	ie(CloGaelachLaptop)	=	pc/pc(%m)+pc/ie(CloGaelach)
  *		ie(CloGaelachLaptop)	=	pc/pc(pc105)+pc/ie(CloGaelach)
  $pcmodels	iu(basic)		=	pc/pc(%m)+pc/ca(ike)
  *		iu(basic)		=	pc/pc(pc105)+pc/ca(ike)
  $pcmodels	lo(basic)		=	pc/pc(%m)+pc/la(basic)
  *		lo(basic)		=	pc/pc(pc105)+pc/la(basic)
  $pcmodels	kan(basic)		=	pc/pc(%m)+pc/in(kan)
  *		kan(basic)		=	pc/pc(pc105)+pc/in(kan)
  $pcmodels	mal(basic)		=	pc/pc(%m)+pc/in(mal)
  *		mal(basic)		=	pc/pc(pc105)+pc/in(mal)
  $pcmodels	mal(mlplusnum)		=	pc/pc(%m)+pc/in(mal)
  *		mal(mlplusnum)		=	pc/pc(pc105)+pc/in(mal)
  $pcmodels	ogham(basic)		=	pc/pc(%m)+pc/ie(ogam)
  *		ogham(basic)		=	pc/pc(pc105)+pc/ie(ogam)
  $pcmodels	ogham(laptop)		=	pc/pc(%m)+pc/ie(ogam)
  *		ogham(laptop)		=	pc/pc(pc105)+pc/ie(ogam)
  $pcmodels	ogham(is434)		=	pc/pc(%m)+pc/ie(ogam_is434)
  *		ogham(is434)		=	pc/pc(pc105)+pc/ie(ogam_is434)
  $pcmodels	ogham(is434laptop)	=	pc/pc(%m)+pc/ie(ogam_is434)
  *		ogham(is434laptop)	=	pc/pc(pc105)+pc/ie(ogam_is434)
  $pcmodels	ori(basic)		=	pc/pc(%m)+pc/in(ori)
  *		ori(basic)		=	pc/pc(pc105)+pc/in(ori)
  $pcmodels	sapmi(basic)		=	pc/pc(%m)+pc/no(smi)
  *		sapmi(basic)		=	pc/pc(pc105)+pc/no(smi)
  $pcmodels	sapmi(nodeadkeys)	=	pc/pc(%m)+pc/no(smi_nodeadkeys)
  *		sapmi(nodeadkeys)	=	pc/pc(pc105)+pc/no(smi_nodeadkeys)
  $pcmodels	sapmi(sefi)		=	pc/pc(%m)+pc/fi(smi)
  *		sapmi(sefi)		=	pc/pc(pc105)+pc/fi(smi)
  $pcmodels	sin(phonetic-static)	=	pc/pc(%m)+pc/in(sin_phonetic)
  *		sin(phonetic-static)	=	pc/pc(pc105)+pc/in(sin_phonetic)
  $pcmodels	syr(basic)		=	pc/pc(%m)+pc/sy(syc)
  *		syr(basic)		=	pc/pc(pc105)+pc/sy(syc)
  $pcmodels	syr(phonetic)		=	pc/pc(%m)+pc/sy(syc_phonetic)
  *		syr(phonetic)		=	pc/pc(pc105)+pc/sy(syc_phonetic)
  $pcmodels	tam(INSCRIPT)		=	pc/pc(%m)+pc/in(tam)
  *		tam(INSCRIPT)		=	pc/pc(pc105)+pc/in(tam)
  $pcmodels	tam(UNI)		=	pc/pc(%m)+pc/in(tam_unicode)
  *		tam(UNI)		=	pc/pc(pc105)+pc/in(tam_unicode)
  $pcmodels	tam(TAB)		=	pc/pc(%m)+pc/in(tam_TAB)
  *		tam(TAB)		=	pc/pc(pc105)+pc/in(tam_TAB)
  $pcmodels	tam(TSCII)		=	pc/pc(%m)+pc/in(tam_TSCII)
  *		tam(TSCII)		=	pc/pc(pc105)+pc/in(tam_TSCII)
  $pcmodels	tel(basic)		=	pc/pc(%m)+pc/in(tel)
  *		tel(basic)		=	pc/pc(pc105)+pc/in(tel)
  $pcmodels	yu(basic)		=	pc/pc(%m)+pc/srp(latin)
  *		yu(basic)		=	pc/pc(pc105)+pc/srp(latin)
  $pcmodels	yu(unicode)		=	pc/pc(%m)+pc/srp(latinunicode)
  *		yu(unicode)		=	pc/pc(pc105)+pc/srp(latinunicode)
  $pcmodels	yu(yz)			=	pc/pc(%m)+pc/srp(latinyz)
  *		yu(yz)			=	pc/pc(pc105)+pc/srp(latinyz)
  $pcmodels	yu(unicodeyz)		=	pc/pc(%m)+pc/srp(latinunicodeyz)
  *		yu(unicodeyz)		=	pc/pc(pc105)+pc/srp(latinunicodeyz)
  pc98		nec/jp			=	nec/jp(pc98)
  abnt2		br			=	pc/pc(pc104)+pc/br
  sun		us			=	us(pc104)+sun/lkeys
  sun		en_US			=	en_US(pc104)+sun/lkeys
  sun		*			=	en_US(pc104)+sun/lkeys+%l%(v)
  zaurus	*			=	pc/pc(pc104)+zaurus(basic)
 $maclaptop	us			=	macintosh/us(extended)+apple(laptop_bad_switch)
 $maclaptop	en_US			=	macintosh/us(extended)+apple(laptop_bad_switch)
 $maclaptop	*			=	macintosh/us(extended)+apple(laptop_bad_switch)+macintosh/%l%(v)
 $mac		us			=	macintosh/us(extended)
 $mac		en_US			=	macintosh/us(extended)
 $mac		*			=	macintosh/us(extended)+macintosh/%l%(v)
 $pcmodels      intl   			=       us(%mcompose)
  *		intl			=	us(pc104compose)
  *		jp			=	pc/pc(pc102)+pc/jp(latin)+pc/jp:2
 $pcmodels      ca     			=       pc/pc(%m)+pc/ca(multi)+pc/ca(multi-2gr):2+group(rctrl_switch)
  *             ca     			=       pc/pc(pc105)+pc/ca(multi)+pc/ca(multi-2gr):2+group(rctrl_switch)
 $pcmodels $nonlatin			=	pc/pc(%m)+pc/us+pc/%l%(v):2
 $pcmodels	*			=	pc/pc(%m)+pc/%l%(v)
  *	   $nonlatin			=	pc/pc(pc105)+pc/us+pc/%l%(v):2
  *		*			=	pc/pc(pc105)+pc/%l%(v)

! model		layout[1]			=	symbols
  $pcmodels	ar			=	pc/pc(%m)+pc/ara%(v[1])
  *		ar			=	pc/pc(pc105)+pc/ara%(v[1])
  $pcmodels	ben			=	pc/pc(%m)+pc/in(ben)%(v[1])
  *		ben			=	pc/pc(pc105)+pc/in(ben)%(v[1])
  $pcmodels	bs			=	pc/pc(%m)+pc/ba%(v[1])
  *		bs			=	pc/pc(pc105)+pc/ba%(v[1])
  $pcmodels	dev			=	pc/pc(%m)+pc/in(deva)%(v[1])
  *		dev			=	pc/pc(pc105)+pc/in(deva)%(v[1])
  $pcmodels	dvorak			=	pc/pc(%m)+pc/us(dvorak)%(v[1])
  *		dvorak			=	pc/pc(pc105)+pc/us(dvorak)%(v[1])
  $pcmodels	dz			=	pc/pc(%m)+pc/bt%(v[1])
  *		dz			=	pc/pc(pc105)+pc/bt%(v[1])
  $pcmodels	el			=	pc/pc(%m)+pc/gr%(v[1])
  *		el			=	pc/pc(pc105)+pc/gr%(v[1])
  $pcmodels	ge_la			=	pc/pc(%m)+pc/ge%(v[1])
  *		ge_la			=	pc/pc(pc105)+pc/ge%(v[1])
  $pcmodels	ge_ru			=	pc/pc(%m)+pc/ge(ru)%(v[1])
  *		ge_ru			=	pc/pc(pc105)+pc/ge(ru)%(v[1])
  $pcmodels	guj			=	pc/pc(%m)+pc/in(guj)%(v[1])
  *		guj			=	pc/pc(pc105)+pc/in(guj)%(v[1])
  $pcmodels	gur			=	pc/pc(%m)+pc/in(guru)%(v[1])
  *		gur			=	pc/pc(pc105)+pc/in(guru)%(v[1])
  $pcmodels	iu			=	pc/pc(%m)+pc/ca(ike)%(v[1])
  *		iu			=	pc/pc(pc105)+pc/ca(ike)%(v[1])
  $pcmodels	lo			=	pc/pc(%m)+pc/la%(v[1])
  *		lo			=	pc/pc(pc105)+pc/la%(v[1])
  $pcmodels	kan			=	pc/pc(%m)+pc/in(kan)%(v[1])
  *		kan			=	pc/pc(pc105)+pc/in(kan)%(v[1])
  $pcmodels	mi			=	pc/pc(%m)+pc/mao%(v[1])
  *		mi			=	pc/pc(pc105)+pc/mao%(v[1])
  $pcmodels	mk			=	pc/pc(%m)+pc/mkd%(v[1])
  *		mk			=	pc/pc(pc105)+pc/mkd%(v[1])
  $pcmodels	ml			=	pc/pc(%m)+pc/in(mal)%(v[1])
  *		ml			=	pc/pc(pc105)+pc/in(mal)%(v[1])
  $pcmodels	ogham			=	pc/pc(%m)+pc/ie(ogam)%(v[1])
  *		ogham			=	pc/pc(pc105)+pc/ie(ogam)%(v[1])
  $pcmodels	ori			=	pc/pc(%m)+pc/ie(ori)%(v[1])
  *		ori			=	pc/pc(pc105)+pc/ie(ori)%(v[1])
  $pcmodels	sapmi			=	pc/pc(%m)+pc/no(smi)%(v[1])
  *		sapmi			=	pc/pc(pc105)+pc/no(smi)%(v[1])
  $pcmodels	sr			=	pc/pc(%m)+pc/srp%(v[1])
  *		sr			=	pc/pc(pc105)+pc/srp%(v[1])
  $pcmodels	syr			=	pc/pc(%m)+pc/sy(syc)%(v[1])
  *		syr			=	pc/pc(pc105)+pc/sy(syc)%(v[1])
  $pcmodels	tel			=	pc/pc(%m)+pc/in(tel)%(v[1])
  *		tel			=	pc/pc(pc105)+pc/in(tel)%(v[1])
  $pcmodels	tml			=	pc/pc(%m)+pc/in(tam)%(v[1])
  *		tml			=	pc/pc(pc105)+pc/in(tam)%(v[1])
  $pcmodels	yu			=	pc/pc(%m)+pc/srp%(v[1])
  *		yu			=	pc/pc(pc105)+pc/srp%(v[1])
  $pcmodels	ben(basic)		=	pc/pc(%m)+pc/in(ben)
  *		ben(basic)		=	pc/pc(pc105)+pc/in(ben)
  $pcmodels	ben(probhat)		=	pc/pc(%m)+pc/in(ben_probhat)
  *		ben(probhat)		=	pc/pc(pc105)+pc/in(ben_probhat)
  $pcmodels	dev(basic)		=	pc/pc(%m)+pc/in(deva)
  *		dev(basic)		=	pc/pc(pc105)+pc/in(deva)
  $pcmodels	dvorak(gb)		=	pc/pc(%m)+pc/gb(dvorak)
  *		dvorak(gb)		=	pc/pc(pc105)+pc/gb(dvorak)
  $pcmodels	dvorak(fr)		=	pc/pc(%m)+pc/fr(dvorak)
  *		dvorak(fr)		=	pc/pc(pc105)+pc/fr(dvorak)
  $pcmodels	dvorak(no)		=	pc/pc(%m)+pc/no(dvorak)
  *		dvorak(no)		=	pc/pc(pc105)+pc/no(dvorak)
  $pcmodels	dvorak(se)		=	pc/pc(%m)+pc/se(dvorak)
  *		dvorak(se)		=	pc/pc(pc105)+pc/se(dvorak)
  $pcmodels	dvorak(basic)		=	pc/pc(%m)+pc/us(dvorak)
  *		dvorak(basic)		=	pc/pc(pc105)+pc/us(dvorak)
  $pcmodels	dvorak(pl_basic)	=	pc/pc(%m)+pc/pl(dvorak)
  *		dvorak(pl_basic)	=	pc/pc(pc105)+pc/pl(dvorak)
  $pcmodels	dvorak(pl)		=	pc/pc(%m)+pc/pl(dvorak_quotes)
  *		dvorak(pl)		=	pc/pc(pc105)+pc/pl(dvorak_quotes)
  $pcmodels	dvorak(pl_altquotes)	=	pc/pc(%m)+pc/pl(dvorak_altquotes)
  *		dvorak(pl_altquotes)	=	pc/pc(pc105)+pc/pl(dvorak_altquotes)
  $pcmodels	dz(basic)		=	pc/pc(%m)+pc/bt(basic)
  *		dz(basic)		=	pc/pc(pc105)+pc/bt(basic)
  $pcmodels	guj(basic)		=	pc/pc(%m)+pc/in(guj)
  *		guj(basic)		=	pc/pc(pc105)+pc/in(guj)
  $pcmodels	gur(basic)		=	pc/pc(%m)+pc/in(guru)
  *		gur(basic)		=	pc/pc(pc105)+pc/in(guru)
  $pcmodels	ie(laptop)		=	pc/pc(%m)+pc/ie(basic)
  *		ie(laptop)		=	pc/pc(pc105)+pc/ie(basic)
  $pcmodels	ie(CloGaelachLaptop)	=	pc/pc(%m)+pc/ie(CloGaelach)
  *		ie(CloGaelachLaptop)	=	pc/pc(pc105)+pc/ie(CloGaelach)
  $pcmodels	iu(basic)		=	pc/pc(%m)+pc/ca(ike)
  *		iu(basic)		=	pc/pc(pc105)+pc/ca(ike)
  $pcmodels	lo(basic)		=	pc/pc(%m)+pc/la(basic)
  *		lo(basic)		=	pc/pc(pc105)+pc/la(basic)
  $pcmodels	kan(basic)		=	pc/pc(%m)+pc/in(kan)
  *		kan(basic)		=	pc/pc(pc105)+pc/in(kan)
  $pcmodels	mal(basic)		=	pc/pc(%m)+pc/in(mal)
  *		mal(basic)		=	pc/pc(pc105)+pc/in(mal)
  $pcmodels	mal(mlplusnum)		=	pc/pc(%m)+pc/in(mal)
  *		mal(mlplusnum)		=	pc/pc(pc105)+pc/in(mal)
  $pcmodels	ogham(basic)		=	pc/pc(%m)+pc/ie(ogam)
  *		ogham(basic)		=	pc/pc(pc105)+pc/ie(ogam)
  $pcmodels	ogham(laptop)		=	pc/pc(%m)+pc/ie(ogam)
  *		ogham(laptop)		=	pc/pc(pc105)+pc/ie(ogam)
  $pcmodels	ogham(is434)		=	pc/pc(%m)+pc/ie(ogam_is434)
  *		ogham(is434)		=	pc/pc(pc105)+pc/ie(ogam_is434)
  $pcmodels	ogham(is434laptop)	=	pc/pc(%m)+pc/ie(ogam_is434)
  *		ogham(is434laptop)	=	pc/pc(pc105)+pc/ie(ogam_is434)
  $pcmodels	ori(basic)		=	pc/pc(%m)+pc/in(ori)
  *		ori(basic)		=	pc/pc(pc105)+pc/in(ori)
  $pcmodels	sapmi(basic)		=	pc/pc(%m)+pc/no(smi)
  *		sapmi(basic)		=	pc/pc(pc105)+pc/no(smi)
  $pcmodels	sapmi(nodeadkeys)	=	pc/pc(%m)+pc/no(smi_nodeadkeys)
  *		sapmi(nodeadkeys)	=	pc/pc(pc105)+pc/no(smi_nodeadkeys)
  $pcmodels	sapmi(sefi)		=	pc/pc(%m)+pc/fi(smi)
  *		sapmi(sefi)		=	pc/pc(pc105)+pc/fi(smi)
  $pcmodels	sin(phonetic-static)	=	pc/pc(%m)+pc/in(sin_phonetic)
  *		sin(phonetic-static)	=	pc/pc(pc105)+pc/in(sin_phonetic)
  $pcmodels	syr(basic)		=	pc/pc(%m)+pc/sy(syc)
  *		syr(basic)		=	pc/pc(pc105)+pc/sy(syc)
  $pcmodels	syr(phonetic)		=	pc/pc(%m)+pc/sy(syc_phonetic)
  *		syr(phonetic)		=	pc/pc(pc105)+pc/sy(syc_phonetic)
  $pcmodels	tam(INSCRIPT)		=	pc/pc(%m)+pc/in(tam)
  *		tam(INSCRIPT)		=	pc/pc(pc105)+pc/in(tam)
  $pcmodels	tam(UNI)		=	pc/pc(%m)+pc/in(tam_unicode)
  *		tam(UNI)		=	pc/pc(pc105)+pc/in(tam_unicode)
  $pcmodels	tam(TAB)		=	pc/pc(%m)+pc/in(tam_TAB)
  *		tam(TAB)		=	pc/pc(pc105)+pc/in(tam_TAB)
  $pcmodels	tam(TSCII)		=	pc/pc(%m)+pc/in(tam_TSCII)
  *		tam(TSCII)		=	pc/pc(pc105)+pc/in(tam_TSCII)
  $pcmodels	tel(basic)		=	pc/pc(%m)+pc/in(tel)
  *		tel(basic)		=	pc/pc(pc105)+pc/in(tel)
  $pcmodels	yu(basic)		=	pc/pc(%m)+pc/srp(latin)
  *		yu(basic)		=	pc/pc(pc105)+pc/srp(latin)
  $pcmodels	yu(unicode)		=	pc/pc(%m)+pc/srp(latinunicode)
  *		yu(unicode)		=	pc/pc(pc105)+pc/srp(latinunicode)
  $pcmodels	yu(yz)			=	pc/pc(%m)+pc/srp(latinyz)
  *		yu(yz)			=	pc/pc(pc105)+pc/srp(latinyz)
  $pcmodels	yu(unicodeyz)		=	pc/pc(%m)+pc/srp(latinunicodeyz)
  *		yu(unicodeyz)		=	pc/pc(pc105)+pc/srp(latinunicodeyz)
 $pcmodels	*			=	pc/pc(%m)+pc/%l[1]%(v[1])
  *		*			=	pc/pc(pc105)+pc/%l[1]%(v[1])

! model		layout[1]	variant[1]	=	symbols
  $pcmodels	ben		basic		=	pc/pc(%m)+pc/in(ben)
  *		ben		basic		=	pc/pc(pc105)+pc/in(ben)
  $pcmodels	ben		probhat		=	pc/pc(%m)+pc/in(ben_probhat)
  *		ben		probhat		=	pc/pc(pc105)+pc/in(ben_probhat)
  $pcmodels	dev		basic		=	pc/pc(%m)+pc/in(deva)
  *		dev		basic		=	pc/pc(pc105)+pc/in(deva)
  $pcmodels	dvorak		gb		=	pc/pc(%m)+pc/gb(dvorak)
  *		dvorak		gb		=	pc/pc(pc105)+pc/gb(dvorak)
  $pcmodels	dvorak		fr		=	pc/pc(%m)+pc/fr(dvorak)
  *		dvorak		fr		=	pc/pc(pc105)+pc/fr(dvorak)
  $pcmodels	dvorak		no		=	pc/pc(%m)+pc/no(dvorak)
  *		dvorak		no		=	pc/pc(pc105)+pc/no(dvorak)
  $pcmodels	dvorak		se		=	pc/pc(%m)+pc/se(dvorak)
  *		dvorak		se		=	pc/pc(pc105)+pc/se(dvorak)
  $pcmodels	dvorak		basic		=	pc/pc(%m)+pc/us(dvorak)
  *		dvorak		basic		=	pc/pc(pc105)+pc/us(dvorak)
  $pcmodels	dvorak		pl_basic	=	pc/pc(%m)+pc/pl(dvorak)
  *		dvorak		pl_basic	=	pc/pc(pc105)+pc/pl(dvorak)
  $pcmodels	dvorak		pl		=	pc/pc(%m)+pc/pl(dvorak_quotes)
  *		dvorak		pl		=	pc/pc(pc105)+pc/pl(dvorak_quotes)
  $pcmodels	dvorak		pl_altquotes	=	pc/pc(%m)+pc/pl(dvorak_altquotes)
  *		dvorak		pl_altquotes	=	pc/pc(pc105)+pc/pl(dvorak_altquotes)
  $pcmodels	dz		basic		=	pc/pc(%m)+pc/bt(basic)
  *		dz		basic		=	pc/pc(pc105)+pc/bt(basic)
  $pcmodels	guj		basic		=	pc/pc(%m)+pc/in(guj)
  *		guj		basic		=	pc/pc(pc105)+pc/in(guj)
  $pcmodels	gur		basic		=	pc/pc(%m)+pc/in(guru)
  *		gur		basic		=	pc/pc(pc105)+pc/in(guru)
  $pcmodels	ie		laptop		=	pc/pc(%m)+pc/ie(basic)
  *		ie		laptop		=	pc/pc(pc105)+pc/ie(basic)
  $pcmodels	ie		CloGaelachLaptop		=	pc/pc(%m)+pc/ie(CloGaelach)
  *		ie		CloGaelachLaptop		=	pc/pc(pc105)+pc/ie(CloGaelach)
  $pcmodels	iu		basic		=	pc/pc(%m)+pc/ca(ike)
  *		iu		basic		=	pc/pc(pc105)+pc/ca(ike)
  $pcmodels	lo		basic		=	pc/pc(%m)+pc/la(basic)
  *		lo		basic		=	pc/pc(pc105)+pc/la(basic)
  $pcmodels	kan		basic		=	pc/pc(%m)+pc/in(kan)
  *		kan		basic		=	pc/pc(pc105)+pc/in(kan)
  $pcmodels	mal		basic		=	pc/pc(%m)+pc/in(mal)
  *		mal		basic		=	pc/pc(pc105)+pc/in(mal)
  $pcmodels	mal		mlplusnum	=	pc/pc(%m)+pc/in(mal)
  *		mal		mlplusnum	=	pc/pc(pc105)+pc/in(mal)
  $pcmodels	ogham		basic		=	pc/pc(%m)+pc/ie(ogam)
  *		ogham		basic		=	pc/pc(pc105)+pc/ie(ogam)
  $pcmodels	ogham		laptop		=	pc/pc(%m)+pc/ie(ogam)
  *		ogham		laptop		=	pc/pc(pc105)+pc/ie(ogam)
  $pcmodels	ogham		is434		=	pc/pc(%m)+pc/ie(ogam_is434)
  *		ogham		is434		=	pc/pc(pc105)+pc/ie(ogam_is434)
  $pcmodels	ogham		is434laptop	=	pc/pc(%m)+pc/ie(ogam_is434)
  *		ogham		is434laptop	=	pc/pc(pc105)+pc/ie(ogam_is434)
  $pcmodels	ori		basic		=	pc/pc(%m)+pc/in(ori)
  *		ori		basic		=	pc/pc(pc105)+pc/in(ori)
  $pcmodels	sapmi		basic		=	pc/pc(%m)+pc/no(smi)
  *		sapmi		basic		=	pc/pc(pc105)+pc/no(smi)
  $pcmodels	sapmi		nodeadkeys	=	pc/pc(%m)+pc/no(smi_nodeadkeys)
  *		sapmi		nodeadkeys	=	pc/pc(pc105)+pc/no(smi_nodeadkeys)
  $pcmodels	sapmi		sefi		=	pc/pc(%m)+pc/fi(smi)
  *		sapmi		sefi		=	pc/pc(pc105)+pc/fi(smi)
  $pcmodels	sin		phonetic-static	=	pc/pc(%m)+pc/in(sin_phonetic)
  *		sin		phonetic-static	=	pc/pc(pc105)+pc/in(sin_phonetic)
  $pcmodels	syr		basic		=	pc/pc(%m)+pc/sy(syc)
  *		syr		basic		=	pc/pc(pc105)+pc/sy(syc)
  $pcmodels	syr		phonetic	=	pc/pc(%m)+pc/sy(syc_phonetic)
  *		syr		phonetic	=	pc/pc(pc105)+pc/sy(syc_phonetic)
  $pcmodels	tam		INSCRIPT	=	pc/pc(%m)+pc/in(tam)
  *		tam		INSCRIPT	=	pc/pc(pc105)+pc/in(tam)
  $pcmodels	tam		UNI		=	pc/pc(%m)+pc/in(tam_unicode)
  *		tam		UNI		=	pc/pc(pc105)+pc/in(tam_unicode)
  $pcmodels	tam		TAB		=	pc/pc(%m)+pc/in(tam_TAB)
  *		tam		TAB		=	pc/pc(pc105)+pc/in(tam_TAB)
  $pcmodels	tam		TSCII		=	pc/pc(%m)+pc/in(tam_TSCII)
  *		tam		TSCII		=	pc/pc(pc105)+pc/in(tam_TSCII)
  $pcmodels	tel		basic		=	pc/pc(%m)+pc/in(tel)
  *		tel		basic		=	pc/pc(pc105)+pc/in(tel)
  $pcmodels	yu		basic		=	pc/pc(%m)+pc/srp(latin)
  *		yu		basic		=	pc/pc(pc105)+pc/srp(latin)
  $pcmodels	yu		unicode		=	pc/pc(%m)+pc/srp(latinunicode)
  *		yu		unicode		=	pc/pc(pc105)+pc/srp(latinunicode)
  $pcmodels	yu		yz		=	pc/pc(%m)+pc/srp(latinyz)
  *		yu		yz		=	pc/pc(pc105)+pc/srp(latinyz)
  $pcmodels	yu		unicodeyz	=	pc/pc(%m)+pc/srp(latinunicodeyz)
  *		yu		unicodeyz	=	pc/pc(pc105)+pc/srp(latinunicodeyz)

! layout[2]		=	symbols
  ar			=	+pc/ara%(v[2]):2
  ben			=	+pc/in(ben):2
  bs			=	+pc/ba%(v[2]):2
  dev			=	+pc/in(deva):2
  dvorak		=	+pc/us(dvorak):2
  dz			=	+pc/bt%(v[2]):2
  el			=	+pc/gr%(v[2]):2
  ge_la			=	+pc/ge%(v[2]):2
  ge_ru			=	+pc/ge(ru):2
  guj			=	+pc/in(guj):2
  gur			=	+pc/in(guru):2
  iu			=	+pc/ca(ike):2
  lo			=	+pc/la%(v[2]):2
  kan			=	+pc/in(kan):2
  mi			=	+pc/mao%(v[2]):2
  mk			=	+pc/mkd%(v[2]):2
  ml			=	+pc/in(mal):2
  ogham			=	+pc/ie(ogam):2
  ori			=	+pc/ie(ori):2
  sapmi			=	+pc/no(smi):2
  sr			=	+pc/srp%(v[2]):2
  syr			=	+pc/sy(syc):2
  tel			=	+pc/in(tel):2
  tml			=	+pc/in(tam):2
  yu			=	+pc/srp%(v[2]):2
  ben(basic)		=	+pc/in(ben):2
  ben(probhat)		=	+pc/in(ben_probhat):2
  dev(basic)		=	+pc/in(deva):2
  dvorak(gb)		=	+pc/gb(dvorak):2
  dvorak(fr)		=	+pc/fr(dvorak):2
  dvorak(no)		=	+pc/no(dvorak):2
  dvorak(se)		=	+pc/se(dvorak):2
  dvorak(basic)		=	+pc/us(dvorak):2
  dvorak(pl_basic)	=	+pc/pl(dvorak):2
  dvorak(pl)		=	+pc/pl(dvorak_quotes):2
  dvorak(pl_altquotes)	=	+pc/pl(dvorak_altquotes):2
  dz(basic)		=	+pc/bt(basic):2
  guj(basic)		=	+pc/in(guj):2
  gur(basic)		=	+pc/in(guru):2
  ie(laptop)		=	+pc/ie(basic):2
  ie(CloGaelachLaptop)	=	+pc/ie(CloGaelach):2
  iu(basic)		=	+pc/ca(ike):2
  lo(basic)		=	+pc/la(basic):2
  kan(basic)		=	+pc/in(kan):2
  mal(basic)		=	+pc/in(mal):2
  mal(mlplusnum)	=	+pc/in(mal):2
  ogham(basic)		=	+pc/ie(ogam):2
  ogham(laptop)		=	+pc/ie(ogam):2
  ogham(is434)		=	+pc/ie(ogam_is434):2
  ogham(is434laptop)	=	+pc/ie(ogam_is434):2
  ori(basic)		=	+pc/in(ori):2
  sapmi(basic)		=	+pc/no(smi):2
  sapmi(nodeadkeys)	=	+pc/no(smi_nodeadkeys):2
  sapmi(sefi)		=	+pc/fi(smi):2
  sin(phonetic-static)	=	+pc/in(sin_phonetic):2
  syr(basic)		=	+pc/sy(syc):2
  syr(phonetic)		=	+pc/sy(syc_phonetic):2
  tam(INSCRIPT)		=	+pc/in(tam):2
  tam(UNI)		=	+pc/in(tam_unicode):2
  tam(TAB)		=	+pc/in(tam_TAB):2
  tam(TSCII)		=	+pc/in(tam_TSCII):2
  tel(basic)		=	+pc/in(tel):2
  yu(basic)		=	+pc/srp(latin):2
  yu(unicode)		=	+pc/srp(latinunicode):2
  yu(yz)		=	+pc/srp(latinyz):2
  yu(unicodeyz)		=	+pc/srp(latinunicodeyz):2
  *			=	+pc/%l[2]%(v[2]):2

! layout[3]		=	symbols
  ar			=	+pc/ara%(v[3]):3
  ben			=	+pc/in(ben)%(v[3]):3
  bs			=	+pc/ba%(v[3]):3
  dev			=	+pc/in(deva)%(v[3]):3
  dvorak		=	+pc/us(dvorak)%(v[3]):3
  dz			=	+pc/bt%(v[3]):3
  el			=	+pc/gr%(v[3]):3
  ge_la			=	+pc/ge%(v[3]):3
  ge_ru			=	+pc/ge(ru)%(v[3]):3
  guj			=	+pc/in(guj)%(v[3]):3
  gur			=	+pc/in(guru)%(v[3]):3
  iu			=	+pc/ca(ike)%(v[3]):3
  lo			=	+pc/la%(v[3]):3
  kan			=	+pc/in(kan)%(v[3]):3
  mi			=	+pc/mao%(v[3]):3
  mk			=	+pc/mkd%(v[3]):3
  ml			=	+pc/in(mal)%(v[3]):3
  ogham			=	+pc/ie(ogam)%(v[3]):3
  ori			=	+pc/ie(ori)%(v[3]):3
  sapmi			=	+pc/no(smi)%(v[3]):3
  sr			=	+pc/srp%(v[3]):3
  syr			=	+pc/sy(syc)%(v[3]):3
  tel			=	+pc/in(tel)%(v[3]):3
  tml			=	+pc/in(tam)%(v[3]):3
  yu			=	+pc/srp%(v[3]):3
  ben(basic)		=	+pc/in(ben):3
  ben(probhat)		=	+pc/in(ben_probhat):3
  dev(basic)		=	+pc/in(deva):3
  dvorak(gb)		=	+pc/gb(dvorak):3
  dvorak(fr)		=	+pc/fr(dvorak):3
  dvorak(no)		=	+pc/no(dvorak):3
  dvorak(se)		=	+pc/se(dvorak):3
  dvorak(basic)		=	+pc/us(dvorak):3
  dvorak(pl_basic)	=	+pc/pl(dvorak):3
  dvorak(pl)		=	+pc/pl(dvorak_quotes):3
  dvorak(pl_altquotes)	=	+pc/pl(dvorak_altquotes):3
  dz(basic)		=	+pc/bt(basic):3
  guj(basic)		=	+pc/in(guj):3
  gur(basic)		=	+pc/in(guru):3
  ie(laptop)		=	+pc/ie(basic):3
  ie(CloGaelachLaptop)	=	+pc/ie(CloGaelach):3
  iu(basic)		=	+pc/ca(ike):3
  lo(basic)		=	+pc/la(basic):3
  kan(basic)		=	+pc/in(kan):3
  mal(basic)		=	+pc/in(mal):3
  mal(mlplusnum)	=	+pc/in(mal):3
  ogham(basic)		=	+pc/ie(ogam):3
  ogham(laptop)		=	+pc/ie(ogam):3
  ogham(is434)		=	+pc/ie(ogam_is434):3
  ogham(is434laptop)	=	+pc/ie(ogam_is434):3
  ori(basic)		=	+pc/in(ori):3
  sapmi(basic)		=	+pc/no(smi):3
  sapmi(nodeadkeys)	=	+pc/no(smi_nodeadkeys):3
  sapmi(sefi)		=	+pc/fi(smi):3
  sin(phonetic-static)	=	+pc/in(sin_phonetic):3
  syr(basic)		=	+pc/sy(syc):3
  syr(phonetic)		=	+pc/sy(syc_phonetic):3
  tam(INSCRIPT)		=	+pc/in(tam):3
  tam(UNI)		=	+pc/in(tam_unicode):3
  tam(TAB)		=	+pc/in(tam_TAB):3
  tam(TSCII)		=	+pc/in(tam_TSCII):3
  tel(basic)		=	+pc/in(tel):3
  yu(basic)		=	+pc/srp(latin):3
  yu(unicode)		=	+pc/srp(latinunicode):3
  yu(yz)		=	+pc/srp(latinyz):3
  yu(unicodeyz)		=	+pc/srp(latinunicodeyz):3
  *			=	+pc/%l[3]%(v[3]):3

! layout[4]		=	symbols
  ar			=	+pc/ara%(v[4]):4
  ben			=	+pc/in(ben)%(v[4]):4
  bs			=	+pc/ba%(v[4]):4
  dev			=	+pc/in(deva)%(v[4]):4
  dvorak		=	+pc/us(dvorak)%(v[4]):4
  dz			=	+pc/bt%(v[4]):4
  el			=	+pc/gr%(v[4]):4
  ge_la			=	+pc/ge%(v[4]):4
  ge_ru			=	+pc/ge(ru)%(v[4]):4
  guj			=	+pc/in(guj)%(v[4]):4
  gur			=	+pc/in(guru)%(v[4]):4
  iu			=	+pc/ca(ike)%(v[4]):4
  lo			=	+pc/la%(v[4]):4
  kan			=	+pc/in(kan)%(v[4]):4
  mi			=	+pc/mao%(v[4]):4
  mk			=	+pc/mkd%(v[4]):4
  ml			=	+pc/in(mal)%(v[4]):4
  ogham			=	+pc/ie(ogam)%(v[4]):4
  ori			=	+pc/ie(ori)%(v[4]):4
  sapmi			=	+pc/no(smi)%(v[4]):4
  sr			=	+pc/srp%(v[4]):4
  syr			=	+pc/sy(syc)%(v[4]):4
  tel			=	+pc/in(tel)%(v[4]):4
  tml			=	+pc/in(tam)%(v[4]):4
  yu			=	+pc/srp%(v[4]):4
  ben(basic)		=	+pc/in(ben):4
  ben(probhat)		=	+pc/in(ben_probhat):4
  dev(basic)		=	+pc/in(deva):4
  dvorak(gb)		=	+pc/gb(dvorak):4
  dvorak(fr)		=	+pc/fr(dvorak):4
  dvorak(no)		=	+pc/no(dvorak):4
  dvorak(se)		=	+pc/se(dvorak):4
  dvorak(basic)		=	+pc/us(dvorak):4
  dvorak(pl_basic)	=	+pc/pl(dvorak):4
  dvorak(pl)		=	+pc/pl(dvorak_quotes):4
  dvorak(pl_altquotes)	=	+pc/pl(dvorak_altquotes):4
  dz(basic)		=	+pc/bt(basic):4
  guj(basic)		=	+pc/in(guj):4
  gur(basic)		=	+pc/in(guru):4
  ie(laptop)		=	+pc/ie(basic):4
  ie(CloGaelachLaptop)	=	+pc/ie(CloGaelach):4
  iu(basic)		=	+pc/ca(ike):4
  lo(basic)		=	+pc/la(basic):4
  kan(basic)		=	+pc/in(kan):4
  mal(basic)		=	+pc/in(mal):4
  mal(mlplusnum)	=	+pc/in(mal):4
  ogham(basic)		=	+pc/ie(ogam):4
  ogham(laptop)		=	+pc/ie(ogam):4
  ogham(is434)		=	+pc/ie(ogam_is434):4
  ogham(is434laptop)	=	+pc/ie(ogam_is434):4
  ori(basic)		=	+pc/in(ori):4
  sapmi(basic)		=	+pc/no(smi):4
  sapmi(nodeadkeys)	=	+pc/no(smi_nodeadkeys):4
  sapmi(sefi)		=	+pc/fi(smi):4
  sin(phonetic-static)	=	+pc/in(sin_phonetic):4
  syr(basic)		=	+pc/sy(syc):4
  syr(phonetic)		=	+pc/sy(syc_phonetic):4
  tam(INSCRIPT)		=	+pc/in(tam):4
  tam(UNI)		=	+pc/in(tam_unicode):4
  tam(TAB)		=	+pc/in(tam_TAB):4
  tam(TSCII)		=	+pc/in(tam_TSCII):4
  tel(basic)		=	+pc/in(tel):4
  yu(basic)		=	+pc/srp(latin):4
  yu(unicode)		=	+pc/srp(latinunicode):4
  yu(yz)		=	+pc/srp(latinyz):4
  yu(unicodeyz)		=	+pc/srp(latinunicodeyz):4
  *			=	+pc/%l[4]%(v[4]):4

! layout[2]	variant[2]	=	symbols
  ben		basic		=	+pc/in(ben):2
  ben		probhat		=	+pc/in(ben_probhat):2
  dev		basic		=	+pc/in(deva):2
  dvorak	gb		=	+pc/gb(dvorak):2
  dvorak	fr		=	+pc/fr(dvorak):2
  dvorak	no		=	+pc/no(dvorak):2
  dvorak	se		=	+pc/se(dvorak):2
  dvorak	basic		=	+pc/us(dvorak):2
  dvorak	pl_basic	=	+pc/pl(dvorak):2
  dvorak	pl		=	+pc/pl(dvorak_quotes):2
  dvorak	pl_altquotes	=	+pc/pl(dvorak_altquotes):2
  dz		basic		=	+pc/bt(basic):2
  guj		basic		=	+pc/in(guj):2
  gur		basic		=	+pc/in(guru):2
  ie		laptop		=	+pc/ie(basic):2
  ie		CloGaelachLaptop	=	+pc/ie(CloGaelach):2
  iu		basic		=	+pc/ca(ike):2
  lo		basic		=	+pc/la(basic):2
  kan		basic		=	+pc/in(kan):2
  mal		basic		=	+pc/in(mal):2
  mal		mlplusnum	=	+pc/in(mal):2
  ogham		basic		=	+pc/ie(ogam):2
  ogham		laptop		=	+pc/ie(ogam):2
  ogham		is434		=	+pc/ie(ogam_is434):2
  ogham		is434laptop	=	+pc/ie(ogam_is434):2
  ori		basic		=	+pc/in(ori):2
  sapmi		basic		=	+pc/no(smi):2
  sapmi		nodeadkeys	=	+pc/no(smi_nodeadkeys):2
  sapmi		sefi		=	+pc/fi(smi):2
  sin		phonetic-static	=	+pc/in(sin_phonetic):2
  syr		basic		=	+pc/sy(syc):2
  syr		phonetic	=	+pc/sy(syc_phonetic):2
  tam		INSCRIPT	=	+pc/in(tam):2
  tam		UNI		=	+pc/in(tam_unicode):2
  tam		TAB		=	+pc/in(tam_TAB):2
  tam		TSCII		=	+pc/in(tam_TSCII):2
  tel		basic		=	+pc/in(tel):2
  yu		basic		=	+pc/srp(latin):2
  yu		unicode		=	+pc/srp(latinunicode):2
  yu		yz		=	+pc/srp(latinyz):2
  yu		unicodeyz	=	+pc/srp(latinunicodeyz):2

! layout[3]	variant[3]	=	symbols
  ben		basic		=	+pc/in(ben):3
  ben		probhat		=	+pc/in(ben_probhat):3
  dev		basic		=	+pc/in(deva):3
  dvorak	gb		=	+pc/gb(dvorak):3
  dvorak	fr		=	+pc/fr(dvorak):3
  dvorak	no		=	+pc/no(dvorak):3
  dvorak	se		=	+pc/se(dvorak):3
  dvorak	basic		=	+pc/us(dvorak):3
  dvorak	pl_basic	=	+pc/pl(dvorak):3
  dvorak	pl		=	+pc/pl(dvorak_quotes):3
  dvorak	pl_altquotes	=	+pc/pl(dvorak_altquotes):3
  dz		basic		=	+pc/bt(basic):3
  guj		basic		=	+pc/in(guj):3
  gur		basic		=	+pc/in(guru):3
  ie		laptop		=	+pc/ie(basic):3
  ie		CloGaelachLaptop	=	+pc/ie(CloGaelach):3
  iu		basic		=	+pc/ca(ike):3
  lo		basic		=	+pc/la(basic):3
  kan		basic		=	+pc/in(kan):3
  mal		basic		=	+pc/in(mal):3
  mal		mlplusnum	=	+pc/in(mal):3
  ogham		basic		=	+pc/ie(ogam):3
  ogham		laptop		=	+pc/ie(ogam):3
  ogham		is434		=	+pc/ie(ogam_is434):3
  ogham		is434laptop	=	+pc/ie(ogam_is434):3
  ori		basic		=	+pc/in(ori):3
  sapmi		basic		=	+pc/no(smi):3
  sapmi		nodeadkeys	=	+pc/no(smi_nodeadkeys):3
  sapmi		sefi		=	+pc/fi(smi):3
  sin		phonetic-static	=	+pc/in(sin_phonetic):3
  syr		basic		=	+pc/sy(syc):3
  syr		phonetic	=	+pc/sy(syc_phonetic):3
  tam		INSCRIPT	=	+pc/in(tam):3
  tam		UNI		=	+pc/in(tam_unicode):3
  tam		TAB		=	+pc/in(tam_TAB):3
  tam		TSCII		=	+pc/in(tam_TSCII):3
  tel		basic		=	+pc/in(tel):3
  yu		basic		=	+pc/srp(latin):3
  yu		unicode		=	+pc/srp(latinunicode):3
  yu		yz		=	+pc/srp(latinyz):3
  yu		unicodeyz	=	+pc/srp(latinunicodeyz):3

! layout[4]	variant[4]	=	symbols
  ben		basic		=	+pc/in(ben):4
  ben		probhat		=	+pc/in(ben_probhat):4
  dev		basic		=	+pc/in(deva):4
  dvorak	gb		=	+pc/gb(dvorak):4
  dvorak	fr		=	+pc/fr(dvorak):4
  dvorak	no		=	+pc/no(dvorak):4
  dvorak	se		=	+pc/se(dvorak):4
  dvorak	basic		=	+pc/us(dvorak):4
  dvorak	pl_basic	=	+pc/pl(dvorak):4
  dvorak	pl		=	+pc/pl(dvorak_quotes):4
  dvorak	pl_altquotes	=	+pc/pl(dvorak_altquotes):4
  dz		basic		=	+pc/bt(basic):4
  guj		basic		=	+pc/in(guj):4
  gur		basic		=	+pc/in(guru):4
  ie		laptop		=	+pc/ie(basic):4
  ie		CloGaelachLaptop	=	+pc/ie(CloGaelach):4
  iu		basic		=	+pc/ca(ike):4
  lo		basic		=	+pc/la(basic):4
  kan		basic		=	+pc/in(kan):4
  mal		basic		=	+pc/in(mal):4
  mal		mlplusnum	=	+pc/in(mal):4
  ogham		basic		=	+pc/ie(ogam):4
  ogham		laptop		=	+pc/ie(ogam):4
  ogham		is434		=	+pc/ie(ogam_is434):4
  ogham		is434laptop	=	+pc/ie(ogam_is434):4
  ori		basic		=	+pc/in(ori):4
  sapmi		basic		=	+pc/no(smi):4
  sapmi		nodeadkeys	=	+pc/no(smi_nodeadkeys):4
  sapmi		sefi		=	+pc/fi(smi):4
  sin		phonetic-static	=	+pc/in(sin_phonetic):4
  syr		basic		=	+pc/sy(syc):4
  syr		phonetic	=	+pc/sy(syc_phonetic):4
  tam		INSCRIPT	=	+pc/in(tam):4
  tam		UNI		=	+pc/in(tam_unicode):4
  tam		TAB		=	+pc/in(tam_TAB):4
  tam		TSCII		=	+pc/in(tam_TSCII):4
  tel		basic		=	+pc/in(tel):4
  yu		basic		=	+pc/srp(latin):4
  yu		unicode		=	+pc/srp(latinunicode):4
  yu		yz		=	+pc/srp(latinyz):4
  yu		unicodeyz	=	+pc/srp(latinunicodeyz):4

! model		=	symbols
  $inetkbds     =       +inet(%m)

! model		layout		=	compat
  pc98		nec/jp		=	pc98(basic)
  *		*		=	complete

! model		layout[1]	=	compat
  *		*		=	complete

! model		=	types
  *		=	complete

! option	=	symbols
  grp:switch		=	+group(switch)
  grp:lswitch		=	+group(lswitch)
  grp:win_switch	=	+group(win_switch)
  grp:lwin_switch	=	+group(lwin_switch)
  grp:rwin_switch	=	+group(rwin_switch)
  grp:toggle		=	+group(toggle)
  grp:shifts_toggle	=	+group(shifts_toggle)
  grp:ctrls_toggle	=	+group(ctrls_toggle)
  grp:alts_toggle	=	+group(alts_toggle)
  grp:ctrl_shift_toggle	=	+group(ctrl_shift_toggle)
  grp:caps_toggle	=	+group(caps_toggle)
  grp:shift_caps_toggle	=	+group(shift_caps_toggle)
  grp:ctrl_alt_toggle	=	+group(ctrl_alt_toggle)
  grp:alt_shift_toggle	=	+group(alt_shift_toggle)
  grp:menu_toggle	=	+group(menu_toggle)
  grp:lwin_toggle	=	+group(lwin_toggle)
  grp:rwin_toggle	=	+group(rwin_toggle)
  grp:lshift_toggle	=	+group(lshift_toggle)
  grp:rshift_toggle	=	+group(rshift_toggle)
  grp:lctrl_toggle	=	+group(lctrl_toggle)
  grp:rctrl_toggle	=	+group(rctrl_toggle)
  grp:lalt_toggle	=	+group(lalt_toggle)
  lv3:switch		=	+level3(switch)
  lv3:ralt_switch	=	+level3(ralt_switch)
  lv3:lalt_switch	=	+level3(lalt_switch)
  lv3:alt_switch	=	+level3(alt_switch)
  lv3:menu_switch	=	+level3(menu_switch)
  lv3:win_switch	=	+level3(win_switch)
  lv3:lwin_switch	=	+level3(lwin_switch)
  lv3:rwin_switch	=	+level3(rwin_switch)
  caps:capslock		=	+capslock(capslock)
  caps:shiftlock	=	+capslock(shiftlock)
  caps:grouplock	=	+capslock(grouplock)
  ctrl:nocaps		=	+ctrl(nocaps)
  ctrl:swapcaps		=	+ctrl(swapcaps)
  ctrl:ctrl_ac		=	+ctrl(ctrl_ac)
  ctrl:ctrl_aa		=	+ctrl(ctrl_aa)
  ctrl:ctrl_ra		=	+ctrl(ctrl_ra)
  altwin:menu		=	+altwin(menu)
  altwin:meta_alt	=	+altwin(meta_alt)
  altwin:meta_win	=	+altwin(meta_win)
  altwin:left_meta_win	=	+altwin(left_meta_win)
  altwin:super_win	=	+altwin(super_win)
  altwin:hyper_win	=	+altwin(hyper_win)
  altwin:alt_super_win	=	+altwin(alt_super_win)
  compose:ralt		=	+compose(ralt)
  compose:rwin		=	+compose(rwin)
  compose:menu		=	+compose(menu)
  compose:rctrl		=	+compose(rctrl)
  srvrkeys:none		=	+srvr_ctrl(no_srvr_keys)
  eurosign:e		=	+eurosign(e)
  eurosign:5		=	+eurosign(5)
  eurosign:2		=	+eurosign(2)
  grp:switch		=	+group(switch)
  grp:lswitch		=	+group(lswitch)
  grp:win_switch	=	+group(win_switch)
  grp:lwin_switch	=	+group(lwin_switch)
  grp:rwin_switch	=	+group(rwin_switch)
  grp:toggle		=	+group(toggle)
  grp:shifts_toggle	=	+group(shifts_toggle)
  grp:ctrls_toggle	=	+group(ctrls_toggle)
  grp:alts_toggle	=	+group(alts_toggle)
  grp:ctrl_shift_toggle	=	+group(ctrl_shift_toggle)
  grp:caps_toggle	=	+group(caps_toggle)
  grp:shift_caps_toggle	=	+group(shift_caps_toggle)
  grp:ctrl_alt_toggle	=	+group(ctrl_alt_toggle)
  grp:alt_shift_toggle	=	+group(alt_shift_toggle)
  grp:menu_toggle	=	+group(menu_toggle)
  grp:lwin_toggle	=	+group(lwin_toggle)
  grp:rwin_toggle	=	+group(rwin_toggle)
  grp:lshift_toggle	=	+group(lshift_toggle)
  grp:rshift_toggle	=	+group(rshift_toggle)
  grp:lctrl_toggle	=	+group(lctrl_toggle)
  grp:rctrl_toggle	=	+group(rctrl_toggle)
  grp:lalt_toggle	=	+group(lalt_toggle)
  lv3:switch		=	+level3(switch)
  lv3:ralt_switch	=	+level3(ralt_switch)
  lv3:lalt_switch	=	+level3(lalt_switch)
  lv3:alt_switch	=	+level3(alt_switch)
  lv3:menu_switch	=	+level3(menu_switch)
  lv3:win_switch	=	+level3(win_switch)
  lv3:lwin_switch	=	+level3(lwin_switch)
  lv3:rwin_switch	=	+level3(rwin_switch)
  caps:capslock		=	+capslock(capslock)
  caps:shiftlock	=	+capslock(shiftlock)
  caps:grouplock	=	+capslock(grouplock)
  ctrl:nocaps		=	+ctrl(nocaps)
  ctrl:swapcaps		=	+ctrl(swapcaps)
  ctrl:ctrl_ac		=	+ctrl(ctrl_ac)
  ctrl:ctrl_aa		=	+ctrl(ctrl_aa)
  ctrl:ctrl_ra		=	+ctrl(ctrl_ra)
  altwin:menu		=	+altwin(menu)
  altwin:meta_alt	=	+altwin(meta_alt)
  altwin:meta_win	=	+altwin(meta_win)
  altwin:left_meta_win	=	+altwin(left_meta_win)
  altwin:super_win	=	+altwin(super_win)
  altwin:hyper_win	=	+altwin(hyper_win)
  altwin:alt_super_win	=	+altwin(alt_super_win)
  compose:ralt		=	+compose(ralt)
  compose:rwin		=	+compose(rwin)
  compose:menu		=	+compose(menu)
  compose:rctrl		=	+compose(rctrl)
  srvrkeys:none		=	+srvr_ctrl(no_srvr_keys)
  eurosign:e		=	+eurosign(e)
  eurosign:5		=	+eurosign(5)
  eurosign:2		=	+eurosign(2)

! option	=	compat
  grp_led:num		=	+lednum(group_lock)
  grp_led:caps		=	+ledcaps(group_lock)
  grp_led:scroll	=	+ledscroll(group_lock)
  grp:caps_toggle	=	+ledcaps(group_lock)

! option	=	types
  caps:internal			=	+caps(internal)
  caps:internal_nocancel	=	+caps(internal_nocancel)
  caps:shift			=	+caps(shift)
  caps:shift_nocancel		=	+caps(shift_nocancel)
  numpad:microsoft		=	+numpad(microsoft)
