aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xkbdata.src/rules/xorg
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/xkbdata.src/rules/xorg')
-rw-r--r--xorg-server/xkbdata.src/rules/xorg1011
1 files changed, 1011 insertions, 0 deletions
diff --git a/xorg-server/xkbdata.src/rules/xorg b/xorg-server/xkbdata.src/rules/xorg
new file mode 100644
index 000000000..94c2854bf
--- /dev/null
+++ b/xorg-server/xkbdata.src/rules/xorg
@@ -0,0 +1,1011 @@
+// $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)
+ * = 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)
+ * = 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
+ $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)