// DO NOT EDIT THIS FILE - IT WAS AUTOGENERATED BY merge.py FROM rules/*.part
//
//
//  Rules for resolving XKB components for use with XFree86
//  Copyright 1996 by Joseph Moss
//
//  2002 Modifier: Ivan Pascal      The XFree86 Project
//

// If you want non-latin layouts implicitly include the en_US layout
// uncomment lines below
//! $nonlatin = am ara ben bd bg bt by cs deva ge gh gr guj guru il \
//              in ir iku jp kan kh kr la lao lk mk mm mn mv mal olck \
//              ori pk ru scc sy syr tel th tj tam ua uz

// PC models
! $pcmodels = pc86 pc101 pc102 pc104 pc104alt pc105

// Jolla devices and keyboards
! $jollamodels = jollasbj

// Microsoft models (using MS geometry)
! $msmodels = microsoft microsoft4000 microsoft7000 microsoftpro microsoftprousb microsoftprose microsoftsurface

// Nokia devices and keyboards
! $nokiamodels = nokiasu8w nokiarx44 nokiarx51

// TypeMatrix geometries
! $tmgeometries = tm2020 tm2030PS2 tm2030USB tm2030USB-102 tm2030USB-106

// Layouts that provide further specializations for the OLPC
! $olpclayouts = af am ara br ca es et fr it kh kz in mn np ru th tr us

! $macbooks = macbook78 macbook79
! $maclaptop = ibook powerbook macbook78 macbook79
! $applealu = applealu_ansi applealu_iso applealu_jis
! $macs = macintosh macintosh_old ibook powerbook macbook78 macbook79

! $macvendorlayouts = ch de dk fi fr gb is it latam nl no pt se us

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


// all layouts with 3rd and 4th groups
! $threelevellayouts = al az \
              be br bt \
              ca ch cs cz \
              de dk \
              ee es \
              fi fo fr \
              gb gr \
              hu \
              ie ir is it \
              latam \
              lk lt \
              mn mt \
              nl no \
              pl pt \
              ro \
              se sk \
              tr \
              us \
              vn \
              za

! $thinkpads = thinkpad thinkpad60 thinkpadz60

! $sun = sun_type6_jp sun_type6_usb sun_type6_euro_usb \
         sun_type6_jp_usb sun_type6_unix_usb sun_type7_jp_usb \
         sun_type7_usb sun_type7_euro_usb sun_type7_unix_usb

! $sun_jp = sun_type6_jp sun_type6_jp_usb sun_type7_jp_usb

// Sun Type_6_7 keyboards with custom layouts
! $sun_custom = ara be br ca ch cz de dk \
                ee es fi fr gb gr it jp \
                kr lt lv nl no pl pt ro \
                ru se sk tr tw ua us

! $sun_var =  sun_type6 sun_type6_suncompat sun_type6_de sun_type6_fr \
              sun_type7 sun_type7_suncompat suncompat

! $sun_compat = sun_type6 sun_type6_suncompat sun_type7_suncompat suncompat


! $evdevkbds = ibm_spacesaver

! $dvoraklayouts = br ca de ee es fr gb no pl se us

! model		=	keycodes
  applealu_jis	=	evdev+macintosh(jisevdev)
 $jollamodels   =       evdev+jolla(jolla)
  olpc          =       evdev+olpc(olpc)
  olpcm         =       evdev+olpc(olpcm)
  *		=	evdev

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

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

! option	=	keycodes

! model		layout	=	geometry
  thinkpad	us	=	thinkpad(us)

! model		=	geometry
  microsoftelite	=	microsoft(elite)
 $msmodels	=	microsoft(natural)
  dell101	=	dell(dell101)
  dellm65	=	dell(dellm65)
  latitude	=	dell(latitude)
  flexpro	=	keytronic(FlexPro)
  hp6000	=	hp(omnibook)
  hpmini110	=	hp(mini110)
  hpdv5		=	hp(dv5)
  omnikey101	=	northgate(omnikey101)
  sanwaskbkg3	=	sanwa(sanwaskbkg3)
 $pcmodels	=	pc(%m)
  everex	=	everex(STEPnote)
  thinkpad	=	thinkpad(intl)
  thinkpad60	=	thinkpad(60)
  thinkpadz60	=	thinkpad(60)
  apex300	=	steelseries(apex300)
 $tmgeometries	=	typematrix(%m)
  winbook	=	winbook(XP5)
  pc98		=	nec(pc98)
 $applealu	=	macintosh(%m)
 $macbooks      =       macintosh(%m)
 $macs		=	macintosh(macintosh)
  hhk		=	hhk(basic)
  kinesis	=	kinesis(model100)
 $nokiamodels	=	nokia(%m)
  sun_type6_jp          =   sun(type6jp)
  sun_type6_usb         =   sun(type6)
  sun_type6_euro_usb    =   sun(type6tuv)
  sun_type6_jp_usb      =   sun(type6jp)
  sun_type6_unix_usb    =   sun(type6unix)
  sun_type7_jp_usb      =   sun(type6jp)
  sun_type7_usb         =   sun(type7)
  sun_type7_euro_usb    =   sun(type7tuv)
  sun_type7_unix_usb    =   sun(type7unix)
  *		=       pc(pc104)

! model		layout[first]		variant[first]	=	symbols
  *		ben			basic		=	pc+in(ben)
  *		ben			probhat		=	pc+in(ben_probhat)
  *		dev			basic		=	pc+in(deva)
  *		dvorak			$dvoraklayouts	=	pc+%v(dvorak)
  *		dvorak			basic		=	pc+us(dvorak)
  *		dvorak			pl_basic	=	pc+pl(dvorak)
  *		dvorak			pl		=	pc+pl(dvorak_quotes)
  *		dvorak			pl_altquotes	=	pc+pl(dvorak_altquotes)
  *		dzdwi			basic		=	pc+bt(basic)
  *		fi			basic		=	pc+fi(classic)
  *		ge			azerty_tskapo	=	pc+fr(geo)
  *		guj			basic		=	pc+in(guj)
  *		gur			basic		=	pc+in(guru)
  *		ie			laptop		=	pc+ie(basic)
  *		ie			CloGaelachLaptop	=	pc+ie(CloGaelach)
  *		in			urd		=	pc+in(urd-phonetic)
  *		iu			basic		=	pc+ca(ike)
  *		lo			basic		=	pc+la(basic)
  *		kan			basic		=	pc+in(kan)
  *		mal			basic		=	pc+in(mal)
  *		mal			mlplusnum	=	pc+in(mal)
  *		ogham			basic		=	pc+ie(ogam)
  *		ogham			laptop		=	pc+ie(ogam)
  *		ogham			is434		=	pc+ie(ogam_is434)
  *		ogham			is434laptop	=	pc+ie(ogam_is434)
  *		ori			basic		=	pc+in(ori)
  *		ro			de		=	pc+ro(winkeys)
  *		ro			us		=	pc+ro(std)
  *		ro			academic	=	pc+ro(std)
  *		ro			std_comma	=	pc+ro(std)
  *		ro			comma		=	pc+ro(basic)
  *		ru			os		=	pc+ru(os_legacy)
  *		pk			urd		=	pc+pk(urd-phonetic)
  *		sapmi			basic		=	pc+no(smi)
  *		sapmi			nodeadkeys	=	pc+no(smi_nodeadkeys)
  *		sapmi			sefi		=	pc+fi(smi)
  *		sin			phonetic-static	=	pc+in(sin_phonetic)
  *		syr			basic		=	pc+sy(syc)
  *		syr			phonetic	=	pc+sy(syc_phonetic)
  *		tam			INSCRIPT	=	pc+in(tam)
  *		tam			UNI		=	pc+in(tam_unicode)
  *		tam			NUMERAL-KEYBOARD	=	pc+in(tam_keyboard_with_numerals)
  *		tam			TAB		=	pc+in(tam_TAB)
  *		tam			TSCII		=	pc+in(tam_TSCII)
  *		tel			basic		=	pc+in(tel)
  *		yu			basic		=	pc+srp(latin)
  *		yu			unicode		=	pc+srp(latinunicode)
  *		yu			yz		=	pc+srp(latinyz)
  *		yu			unicodeyz	=	pc+srp(latinunicodeyz)
  classmate	us			intl		=	pc+us(classmate-intl)
  classmate	us			alt-intl	=	pc+us(classmate-alt-intl)
  classmate	us			altgr-intl	=	pc+us(classmate-altgr-intl)
  nokiarx51	cz			qwerty		=	nokia_vndr/rx-51(cz_qwerty)
  *		$sun_custom		$sun_var	=	pc+sun_vndr/%l%(v)

! model		layout[first]		=	symbols
  *		ar			=	pc+ara
  *		ben			=	pc+in(ben)
  *		bs			=	pc+ba
  *		cs			=	pc+rs
  *		cz_qwerty		=	pc+cz(qwerty)
  *		dev			=	pc+in(deva)
  *		dvorak			=	pc+us(dvorak)
  *		dzdwi			=	pc+bt
  *		el			=	pc+gr
  *		en_US			=	pc+latin
  *		guj			=	pc+in(guj)
  *		gur			=	pc+in(guru)
  *		iu			=	pc+ca(ike)
  *		lo			=	pc+la
  *		kan			=	pc+in(kan)
  *		mi			=	pc+mao
  *		ogham			=	pc+ie(ogam)
  *		ori			=	pc+ie(ori)
  *		sapmi			=	pc+no(smi)
  *		sr			=	pc+srp
  *		syr			=	pc+sy(syc)
  *		tel			=	pc+in(tel)
  *		tml			=	pc+in(tam)
  *		yu			=	pc+srp
  *		fr-latin9		=	pc+fr(latin9)
  *		us_intl			=	pc+us(alt-intl)
  *		ben(basic)		=	pc+in(ben)
  *		ben(probhat)		=	pc+in(ben_probhat)
  *		dev(basic)		=	pc+in(deva)
  *		dvorak($dvoraklayouts)	=	pc+%v(dvorak)
  *		dvorak(basic)		=	pc+us(dvorak)
  *		dvorak(pl_basic)	=	pc+pl(dvorak)
  *		dvorak(pl)		=	pc+pl(dvorak_quotes)
  *		dvorak(pl_altquotes)	=	pc+pl(dvorak_altquotes)
  *		dzdwi(basic)		=	pc+bt(basic)
  *		fi(basic)		=	pc+fi(classic)
  *		ge(azerty_tskapo)	=	pc+fr(geo)
  *		guj(basic)		=	pc+in(guj)
  *		gur(basic)		=	pc+in(guru)
  *		ie(laptop)		=	pc+ie(basic)
  *		ie(CloGaelachLaptop)	=	pc+ie(CloGaelach)
  *		in(urd)			=	pc+in(urd-phonetic)
  *		iu(basic)		=	pc+ca(ike)
  *		lo(basic)		=	pc+la(basic)
  *		kan(basic)		=	pc+in(kan)
  *		mal(basic)		=	pc+in(mal)
  *		mal(mlplusnum)		=	pc+in(mal)
  *		ogham(basic)		=	pc+ie(ogam)
  *		ogham(laptop)		=	pc+ie(ogam)
  *		ogham(is434)		=	pc+ie(ogam_is434)
  *		ogham(is434laptop)	=	pc+ie(ogam_is434)
  *		ori(basic)		=	pc+in(ori)
  *		ro(de)			=	pc+ro(winkeys)
  *		ro(us)			=	pc+ro(std)
  *		ro(academic)		=	pc+ro(std)
  *		ro(std_comma)		=	pc+ro(std)
  *		ro(comma)		=	pc+ro(basic)
  *		ru(os)			=	pc+ru(os_legacy)
  *		pk(urd)			=	pc+pk(urd-phonetic)
  *		sapmi(basic)		=	pc+no(smi)
  *		sapmi(nodeadkeys)	=	pc+no(smi_nodeadkeys)
  *		sapmi(sefi)		=	pc+fi(smi)
  *		sin(phonetic-static)	=	pc+in(sin_phonetic)
  *		syr(basic)		=	pc+sy(syc)
  *		syr(phonetic)		=	pc+sy(syc_phonetic)
  *		tam(INSCRIPT)		=	pc+in(tam)
  *		tam(UNI)		=	pc+in(tam_unicode)
  *		tam(NUMERAL-KEYBOARD)	=	pc+in(tam_keyboard_with_numerals)
  *		tam(TAB)		=	pc+in(tam_TAB)
  *		tam(TSCII)		=	pc+in(tam_TSCII)
  *		tel(basic)		=	pc+in(tel)
  *		yu(basic)		=	pc+srp(latin)
  *		yu(unicode)		=	pc+srp(latinunicode)
  *		yu(yz)			=	pc+srp(latinyz)
  *		yu(unicodeyz)		=	pc+srp(latinunicodeyz)

! model		layout			=	symbols
  ataritt	$nonlatin		=	xfree68_vndr/ataritt(us)+%l[%i]%(v[%i]):2
  ataritt	*			=	xfree68_vndr/ataritt(us)+%l[%i]%(v[%i])
  amiga		$nonlatin		=	xfree68_vndr/amiga(usa1)+%l[%i]%(v[%i]):2
  amiga		*			=	xfree68_vndr/amiga(usa1)+%l[%i]%(v[%i])
  classmate	us			=	pc+%l[%i](classmate)
  empty         *                       =       empty(basic)
  *             empty                   =       empty(basic)
  jollasbj 	$nonlatin		=	jolla_vndr/sbj(common)+us+%l[%i]%(v[%i]):2
  jollasbj	*			=	jolla_vndr/sbj(common)+%l[%i]%(v[%i])
 $sun		$sun_custom		=	pc+sun_vndr/%l[%i]%(v[%i])
  pc98		nec_vndr/jp		=	nec_vndr/jp(pc98)
  macintosh_old	us			=	macintosh_vndr/us(oldmac)
  macintosh_old	en_US			=	macintosh_vndr/us(oldmac)
  macintosh_old	$macvendorlayouts	=	macintosh_vndr/us(oldmac)+macintosh_vndr/%l%(v)
  macintosh_old	$nonlatin		=	macintosh_vndr/us(oldmac)+%l[%i]%(v[%i]):2
  macintosh_old	*			=	macintosh_vndr/us(oldmac)+%l[%i]%(v[%i])
  applealu_jis	jp			=	macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac)+macintosh_vndr/jp(mac):2
  applealu_jis	*			=	macintosh_vndr/apple(alukbd)+%l[%i]%(v[%i])+macintosh_vndr/jp(mac):2
 $applealu	$macvendorlayouts	=	macintosh_vndr/apple(alukbd)+macintosh_vndr/%l[%i]%(v[%i])
 $applealu	*			=	macintosh_vndr/apple(alukbd)+%l[%i]%(v[%i])
 $macs		en_US			=	pc+macintosh_vndr/us(extended)
 $macs		$macvendorlayouts	=	pc+macintosh_vndr/%l[%i]%(v[%i])
  nokiarx44	*			=	nokia_vndr/rx-44(%l[%i])
  nokiarx51	cz(qwerty)		=	nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty)
  nokiarx51	*			=	nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l[%i]%_v[%i])
  nokiasu8w	*			=	nokia_vndr/su-8w(%l[%i])
  olpc		$olpclayouts		=	olpc+%l[%i]%(m)
  olpc		*			=	olpc+%l[%i]%(v[%i])
  olpcm		$olpclayouts		=	olpc+%l[%i]%(m)
  olpcm		*			=	olpc+%l[%i]%(v[%i])
 $thinkpads   	br			=	pc+br(thinkpad)
  sl-c3x00	*			=	pc+sharp_vndr/sl-c3x00(basic)
  ws003sh	*			=	pc+sharp_vndr/ws003sh(basic)
  ws007sh	*			=	pc+sharp_vndr/ws007sh(basic)
  ws011sh	*			=	pc+sharp_vndr/ws011sh(basic)
  ws020sh	*			=	pc+sharp_vndr/ws020sh(basic)
  *	   	$nonlatin		=	pc+us+%l[%i]%(v[%i]):2

! model		layout[first]		=	symbols
  *		*			=	pc+%l[%i]%(v[%i])

! model		layout[later]	=	symbols
  *		ar		=	+ara%(v[%i]):%i
  *		ben		=	+in(ben):%i
  *		bs		=	+ba%(v[%i]):%i
  *		cs		=	+rs%(v[%i]):%i
  *		cz_qwerty	=	+cz(qwerty):%i
  *		dev		=	+in(deva):%i
  *		dvorak		=	+us(dvorak):%i
  *		dzdwi		=	+bt%(v[%i]):%i
  *		el		=	+gr%(v[%i]):%i
  *		en_US		=	+latin%(v[%i]):%i
  *		guj		=	+in(guj):%i
  *		gur		=	+in(guru):%i
  *		iu		=	+ca(ike):%i
  *		lo		=	+la%(v[%i]):%i
  *		kan		=	+in(kan):%i
  *		mi		=	+mao%(v[%i]):%i
  *		ogham		=	+ie(ogam):%i
  *		ori		=	+ie(ori):%i
  *		sapmi		=	+no(smi):%i
  *		sr		=	+srp%(v[%i]):%i
  *		syr		=	+sy(syc):%i
  *		tel		=	+in(tel):%i
  *		tml		=	+in(tam):%i
  *		yu		=	+srp%(v[%i]):%i
  *		fr-latin9	=	+fr(latin9):%i
  *		us_intl		=	+us(alt-intl):%i
  *		ben(basic)	=	+in(ben):%i
  *		ben(probhat)	=	+in(ben_probhat):%i
  *		dev(basic)	=	+in(deva):%i
  *		dvorak($dvoraklayouts)	=	+%v(dvorak):%i
  *		dvorak(basic)		=	+us(dvorak):%i
  *		dvorak(pl_basic)	=	+pl(dvorak):%i
  *		dvorak(pl)		=	+pl(dvorak_quotes):%i
  *		dvorak(pl_altquotes)	=	+pl(dvorak_altquotes):%i
  *		dzdwi(basic)		=	+bt(basic):%i
  *		fi(basic)		=	+fi(classic):%i
  *		ge(azerty_tskapo)	=	+fr(geo):%i
  *		guj(basic)		=	+in(guj):%i
  *		gur(basic)		=	+in(guru):%i
  *		ie(laptop)		=	+ie(basic):%i
  *		ie(CloGaelachLaptop)	=	+ie(CloGaelach):%i
  *		in(urd)			=	+in(urd-phonetic):%i
  *		iu(basic)		=	+ca(ike):%i
  *		lo(basic)		=	+la(basic):%i
  *		kan(basic)		=	+in(kan):%i
  *		mal(basic)		=	+in(mal):%i
  *		mal(mlplusnum)		=	+in(mal):%i
  *		ogham(basic)		=	+ie(ogam):%i
  *		ogham(laptop)		=	+ie(ogam):%i
  *		ogham(is434)		=	+ie(ogam_is434):%i
  *		ogham(is434laptop)	=	+ie(ogam_is434):%i
  *		ori(basic)		=	+in(ori):%i
  *		ro(de)			=	+ro(winkeys):%i
  *		ro(us)			=	+ro(std):%i
  *		ro(academic)		=	+ro(std):%i
  *		ro(std_comma)		=	+ro(std):%i
  *		ro(comma)		=	+ro(basic):%i
  *		ru(os)			=	+ru(os_legacy):%i
  *		pk(urd)			=	+pk(urd-phonetic):%i
  *		sapmi(basic)		=	+no(smi):%i
  *		sapmi(nodeadkeys)	=	+no(smi_nodeadkeys):%i
  *		sapmi(sefi)		=	+fi(smi):%i
  *		sin(phonetic-static)	=	+in(sin_phonetic):%i
  *		syr(basic)		=	+sy(syc):%i
  *		syr(phonetic)		=	+sy(syc_phonetic):%i
  *		tam(INSCRIPT)		=	+in(tam):%i
  *		tam(UNI)		=	+in(tam_unicode):%i
  *		tam(NUMERAL-KEYBOARD)	=	+in(tam_keyboard_with_numerals):%i
  *		tam(TAB)		=	+in(tam_TAB):%i
  *		tam(TSCII)		=	+in(tam_TSCII):%i
  *		tel(basic)		=	+in(tel):%i
  *		yu(basic)		=	+srp(latin):%i
  *		yu(unicode)		=	+srp(latinunicode):%i
  *		yu(yz)			=	+srp(latinyz):%i
  *		yu(unicodeyz)		=	+srp(latinunicodeyz):%i
  nokiarx51	cz(qwerty)		=	+nokia_vndr/rx-51(cz_qwerty):%i
  nokiarx51	*			=	+nokia_vndr/rx-51(%l[%i]%_v[%i]):%i
 $sun		$sun_custom		=	+sun_vndr/%l[%i]%(v[%i]):%i
  *		*			=	+%l[%i]%(v[%i]):%i

! model		layout[later]	variant[later]	=	symbols
  *		ben		basic		=	+in(ben):%i
  *		ben		probhat		=	+in(ben_probhat):%i
  *		dev		basic		=	+in(deva):%i
  *		dvorak		$dvoraklayouts	=	+%v(dvorak):%i
  *		dvorak		basic		=	+us(dvorak):%i
  *		dvorak		pl_basic	=	+pl(dvorak):%i
  *		dvorak		pl		=	+pl(dvorak_quotes):%i
  *		dvorak		pl_altquotes	=	+pl(dvorak_altquotes):%i
  *		dzdwi		basic		=	+bt(basic):%i
  *		fi		basic		=	+fi(classic):%i
  *		ge		azerty_tskapo	=	+fr(geo):%i
  *		guj		basic		=	+in(guj):%i
  *		gur		basic		=	+in(guru):%i
  *		ie		laptop		=	+ie(basic):%i
  *		ie		CloGaelachLaptop	=	+ie(CloGaelach):%i
  *		in		urd		=	+in(urd-phonetic):%i
  *		iu		basic		=	+ca(ike):%i
  *		lo		basic		=	+la(basic):%i
  *		kan		basic		=	+in(kan):%i
  *		mal		basic		=	+in(mal):%i
  *		mal		mlplusnum	=	+in(mal):%i
  *		ogham		basic		=	+ie(ogam):%i
  *		ogham		laptop		=	+ie(ogam):%i
  *		ogham		is434		=	+ie(ogam_is434):%i
  *		ogham		is434laptop	=	+ie(ogam_is434):%i
  *		ori		basic		=	+in(ori):%i
  *		ro		de		=	+ro(winkeys):%i
  *		ro		us		=	+ro(std):%i
  *		ro		academic	=	+ro(std):%i
  *		ro		std_comma	=	+ro(std):%i
  *		ro		comma		=	+ro(basic):%i
  *		ru		os		=	+ru(os_legacy):%i
  *		pk		urd		=	+pk(urd-phonetic):%i
  *		sapmi		basic		=	+no(smi):%i
  *		sapmi		nodeadkeys	=	+no(smi_nodeadkeys):%i
  *		sapmi		sefi		=	+fi(smi):%i
  *		sin		phonetic-static	=	+in(sin_phonetic):%i
  *		syr		basic		=	+sy(syc):%i
  *		syr		phonetic	=	+sy(syc_phonetic):%i
  *		tam		INSCRIPT	=	+in(tam):%i
  *		tam		UNI		=	+in(tam_unicode):%i
  *		tam		NUMERAL-KEYBOARD	=	+in(tam_keyboard_with_numerals):%i
  *		tam		TAB		=	+in(tam_TAB):%i
  *		tam		TSCII		=	+in(tam_TSCII):%i
  *		tel		basic		=	+in(tel):%i
  *		yu		basic		=	+srp(latin):%i
  *		yu		unicode		=	+srp(latinunicode):%i
  *		yu		yz		=	+srp(latinyz):%i
  *		yu		unicodeyz	=	+srp(latinunicodeyz):%i

! model		=	symbols
  $evdevkbds    =	+inet(evdev)+inet(%m)
  chromebook    =	+inet(evdev)+inet(chromebook)
  applealu_jis  =	+inet(evdev)+macintosh_vndr/jp(alujiskeys)
  *             =	+inet(evdev)

! layout[any]	variant[any]		=	compat
  de		neo			=	+caps(caps_lock):%i+misc(assign_shift_left_action):%i+level5(level5_lock):%i
  de		adnw			=	+caps(caps_lock):%i+misc(assign_shift_left_action):%i+level5(level5_lock):%i
  de		koy			=	+caps(caps_lock):%i+misc(assign_shift_left_action):%i+level5(level5_lock):%i
  de		bone			=	+caps(caps_lock):%i+misc(assign_shift_left_action):%i+level5(level5_lock):%i
  de		bone_eszett_home	=	+caps(caps_lock):%i+misc(assign_shift_left_action):%i+level5(level5_lock):%i
  de		neo_qwertz		=	+caps(caps_lock):%i+misc(assign_shift_left_action):%i+level5(level5_lock):%i
  de		neo_qwerty		=	+caps(caps_lock):%i+misc(assign_shift_left_action):%i+level5(level5_lock):%i
  jp		$sun_compat		=	+complete+japan(kana_lock):%i

! model		layout[single]	=	compat
  pc98		nec_vndr/jp	=	pc98(basic)
  *		jp		=	complete+japan
  olpc          *               =       olpc
  olpcm         *               =       olpc
  *		*		=	complete

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

! model		=	types
  $macs		=	complete+numpad(mac)
  $applealu	=	complete+numpad(mac)
  $nokiamodels	=	complete+nokia
  *		=	complete

! layout[any]		option		=	symbols
  $threelevellayouts	grp:alts_toggle =	+level3(ralt_switch_for_alts_toggle):%i
  *			misc:apl	=	+apl(level3):%i

! option				=	symbols
  grp:shift_toggle			=	+group(shifts_toggle)
  altwin:menu				=	+altwin(menu)
  altwin:menu_win			=	+altwin(menu_win)
  altwin:meta_alt			=	+altwin(meta_alt)
  altwin:alt_win			=	+altwin(alt_win)
  altwin:ctrl_win			=	+altwin(ctrl_win)
  altwin:ctrl_alt_win			=	+altwin(ctrl_alt_win)
  altwin:meta_win			=	+altwin(meta_win)
  altwin:left_meta_win			=	+altwin(left_meta_win)
  altwin:hyper_win			=	+altwin(hyper_win)
  altwin:alt_super_win			=	+altwin(alt_super_win)
  altwin:swap_lalt_lwin			=	+altwin(swap_lalt_lwin)
  altwin:swap_alt_win			=	+altwin(swap_alt_win)
  altwin:prtsc_rwin			=	+altwin(prtsc_rwin)
  grab:debug				=	+srvr_ctrl(grab_debug)
  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:menu_switch			=	+group(menu_switch)
  grp:toggle				=	+group(toggle)
  grp:shifts_toggle			=	+group(shifts_toggle)
  grp:ctrls_toggle			=	+group(ctrls_toggle)
  grp:alts_toggle			=	+group(alts_toggle)
  grp:caps_toggle			=	+capslock(grouplock)
  grp:caps_switch			=	+capslock(groupshift)
  grp:shift_caps_toggle			=	+group(shift_caps_toggle)
  grp:shift_caps_switch			=	+group(shift_caps_switch)
  grp:win_space_toggle			=	+group(win_space_toggle)
  grp:win_menu_switch			=	+group(win_menu_switch)
  grp:alt_caps_toggle			=       +group(alt_caps_toggle)
  grp:alt_space_toggle			=	+group(alt_space_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:rctrl_switch			=	+group(rctrl_switch)
  grp:lctrl_toggle			=	+group(lctrl_toggle)
  grp:rctrl_toggle			=	+group(rctrl_toggle)
  grp:lalt_toggle			=	+group(lalt_toggle)
  grp:sclk_toggle			=	+group(sclk_toggle)
  grp:sclk_latch_no_lock		=	+group(sclk_latch_no_lock)
  grp:lctrl_rctrl_switch		=	+group(lctrl_rctrl_switch)
  grp:lctrl_lwin_rctrl_menu		=	+group(lctrl_lwin_rctrl_menu)
  grp:lctrl_lalt_toggle			=	+group(lctrl_lalt_toggle)
  grp:rctrl_ralt_toggle			=	+group(rctrl_ralt_toggle)
  grp:ctrl_alt_toggle			=	+group(ctrl_alt_toggle)
  grp:ctrl_alt_toggle_bidir		=	+group(ctrl_alt_toggle_bidir)
  grp:lctrl_lshift_toggle		=	+group(lctrl_lshift_toggle)
  grp:rctrl_rshift_toggle		=	+group(rctrl_rshift_toggle)
  grp:ctrl_shift_toggle			=	+group(ctrl_shift_toggle)
  grp:ctrl_shift_toggle_bidir		=	+group(ctrl_shift_toggle_bidir)
  grp:lalt_lshift_toggle		=	+group(lalt_lshift_toggle)
  grp:ralt_rshift_toggle		=	+group(ralt_rshift_toggle)
  grp:alt_shift_toggle			=	+group(alt_shift_toggle)
  grp:alt_shift_toggle_bidir		=	+group(alt_shift_toggle_bidir)
  grp:lctrl_lwin_toggle			=	+group(lctrl_lwin_toggle)
  grp:menu_latch_group2			=	+group(menu_latch_group2)
  grp:menu_latch_group2_lock		=	+group(menu_latch_group2_lock)
  grp:menu_latch			=	+group(menu_latch)
  grp:menu_latch_lock			=	+group(menu_latch_lock)
  grp:menu_latch_negative		=	+group(menu_latch_negative)
  grp:menu_latch_negative_lock		=	+group(menu_latch_negative_lock)
  lv3:switch				=	+level3(switch)
  lv3:ralt_switch			=	+level3(ralt_switch)
  lv3:ralt_switch_multikey		=	+level3(ralt_switch_multikey)
  lv3:ralt_latch			=	+level3(ralt_latch)
  lv3:ralt_alt				=	+level3(ralt_alt)
  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)
  lv3:enter_switch			=	+level3(enter_switch)
  lv3:4_switch_isolated			=	+level3(4_switch_isolated)
  lv3:9_switch_isolated			=	+level3(9_switch_isolated)
  caps:capslock				=	+capslock(capslock)
  caps:numlock				=	+capslock(numlock)
  caps:shiftlock			=	+capslock(shiftlock)
  caps:swapescape			=	+capslock(swapescape)
  caps:escape				=	+capslock(escape)
  caps:escape_shifted_capslock		=	+capslock(escape_shifted_capslock)
  caps:backspace			=	+capslock(backspace)
  caps:super				=	+capslock(super)
  caps:hyper				=	+capslock(hyper)
  caps:menu				=	+capslock(menu)
  caps:none				=	+capslock(none)
  caps:ctrl_modifier			=	+capslock(ctrl_modifier)
  ctrl:nocaps				=	+ctrl(nocaps)
  ctrl:lctrl_meta			=	+ctrl(lctrl_meta)
  ctrl:swapcaps				=	+ctrl(swapcaps)
  ctrl:swapcaps_hyper			=	+ctrl(swapcaps_hyper)
  ctrl:swapcaps_and_switch_layout	=	+ctrl(swapcaps_and_switch_layout)
  ctrl:ac_ctrl				=	+ctrl(ac_ctrl)
  ctrl:aa_ctrl				=	+ctrl(aa_ctrl)
  ctrl:rctrl_ralt			=	+ctrl(rctrl_ralt)
  ctrl:menu_rctrl			=	+ctrl(menu_rctrl)
  ctrl:ralt_rctrl			=	+ctrl(ralt_rctrl)
  ctrl:swap_lalt_lctl			=	+ctrl(swap_lalt_lctl)
  ctrl:swap_lwin_lctl			=	+ctrl(swap_lwin_lctl)
  ctrl:swap_rwin_rctl			=	+ctrl(swap_rwin_rctl)
  ctrl:swap_lalt_lctl_lwin		=	+ctrl(swap_lalt_lctl_lwin)
  compose:ralt				=	+compose(ralt)
  compose:lwin				=	+compose(lwin)
  compose:lwin-altgr			=	+compose(lwin-altgr)
  compose:rwin				=	+compose(rwin)
  compose:rwin-altgr			=	+compose(rwin-altgr)
  compose:menu				=	+compose(menu)
  compose:menu-altgr			=	+compose(menu-altgr)
  compose:lctrl				=	+compose(lctrl)
  compose:lctrl-altgr			=	+compose(lctrl-altgr)
  compose:rctrl				=	+compose(rctrl)
  compose:rctrl-altgr			=	+compose(rctrl-altgr)
  compose:caps				=	+compose(caps)
  compose:caps-altgr			=	+compose(caps-altgr)
  compose:102				=	+compose(102)
  compose:102-altgr			=	+compose(102-altgr)
  compose:paus				=	+compose(paus)
  compose:prsc				=	+compose(prsc)
  compose:sclk				=	+compose(sclk)
  srvrkeys:none				=	+srvr_ctrl(no_srvr_keys)
  eurosign:e				=	+eurosign(e)
  eurosign:2				=	+eurosign(2)
  eurosign:4				=	+eurosign(4)
  eurosign:5				=	+eurosign(5)
  rupeesign:4				=	+rupeesign(4)
  keypad:oss				=	+keypad(oss)
  keypad:legacy         		=	+keypad(legacy)
  keypad:legacy_wang    		=	+keypad(legacy_wang)
  keypad:oss_wang       		=	+keypad(oss_wang)
  keypad:future         		=	+keypad(future)
  keypad:future_wang    		=	+keypad(future_wang)
  keypad:hex            		=	+keypad(ops)+keypad(hex)
  keypad:atm            		=	+keypad(ops)+keypad(hex)+keypad(atm)
  nbsp:none             		=	+nbsp(none)
  nbsp:level2           		=	+nbsp(level2)
  nbsp:level3           		=	+nbsp(level3)
  nbsp:level3s          		=	+nbsp(level3s)
  nbsp:level3n          		=	+nbsp(level3n)
  nbsp:level4           		=	+nbsp(level4)
  nbsp:level4n          		=	+nbsp(level4n)
  nbsp:level4nl         		=	+nbsp(level4nl)
  nbsp:zwnj2            		=	+nbsp(zwnj2)
  nbsp:zwnj2zwj3        		=	+nbsp(zwnj2zwj3)
  nbsp:zwnj2zwj3nb4     		=	+nbsp(zwnj2zwj3nb4)
  nbsp:zwnj2nb3         		=	+nbsp(zwnj2nb3)
  nbsp:zwnj2nb3s        		=	+nbsp(zwnj2nb3s)
  nbsp:zwnj2nb3zwj4     		=	+nbsp(zwnj2nb3zwj4)
  nbsp:zwnj2nb3nnb4     		=	+nbsp(zwnj2nb3nnb4)
  nbsp:zwnj3zwj4        		=	+nbsp(zwnj3zwj4)
  japan:nicola_f_bs     		=	+jp(nicola_f_bs)
  japan:hztg_escape     		=	+jp(hztg_escape)
  korean:ralt_hangul			=	+kr(ralt_hangul)
  korean:rctrl_hangul			=	+kr(rctrl_hangul)
  korean:ralt_hanja			=	+kr(ralt_hanja)
  korean:rctrl_hanja			=	+kr(rctrl_hanja)
  kpdl:dot              		=	+kpdl(dot)
  kpdl:comma            		=	+kpdl(comma)
  kpdl:dotoss           		=	+kpdl(dotoss)
  kpdl:dotoss_latin9    		=	+kpdl(dotoss_latin9)
  kpdl:commaoss         		=	+kpdl(commaoss)
  kpdl:momayyezoss      		=	+kpdl(momayyezoss)
  kpdl:kposs            		=	+kpdl(kposs)
  kpdl:semi             		=	+kpdl(semi)
  shift:breaks_caps     		=	+shift(breaks_caps)
  shift:breaks_caps-v2			=	+shift-v2(breaks_caps)
  esperanto:qwerty      		=	+epo(qwerty)
  esperanto:dvorak      		=	+epo(dvorak)
  esperanto:colemak     		=	+epo(colemak)
  terminate:ctrl_alt_bksp 		=	+terminate(ctrl_alt_bksp)
  keypad:pointerkeys			=	+keypad(pointerkeys)
  apple:alupckeys			=	+macintosh_vndr/apple(alupckeys)
  shift:both_capslock			=	+shift(both_capslock)
  shift:lshift_both_capslock		=	+shift(lshift_both_capslock)
  shift:rshift_both_capslock		=	+shift(rshift_both_capslock)
  shift:both_capslock_cancel		=	+shift(both_capslock_cancel)
  shift:lshift_both_capslock_cancel	=	+shift(lshift_both_capslock_cancel)
  shift:rshift_both_capslock_cancel	=	+shift(rshift_both_capslock_cancel)
  shift:both_shiftlock			=	+shift(both_shiftlock)
  shift:lshift_both_shiftlock		=	+shift(lshift_both_shiftlock)
  shift:rshift_both_shiftlock		=	+shift(rshift_both_shiftlock)
  solaris:sun_compat			=	+sun_vndr/solaris(sun_compat)
  lv3:caps_switch			=	+level3(caps_switch)
  lv3:bksl_switch			=	+level3(bksl_switch)
  lv3:lsgt_switch			=	+level3(lsgt_switch)
  lv3:caps_switch_latch			=	+level3(caps_switch_latch)
  lv3:bksl_switch_latch			=	+level3(bksl_switch_latch)
  lv3:bksl_latch_no_lock		=	+level3(bksl_latch_no_lock)
  lv3:lsgt_switch_latch			=	+level3(lsgt_switch_latch)
  lv5:lsgt_switch			=	+level5(lsgt_switch)
  lv5:ralt_switch			=	+level5(ralt_switch)
  lv5:lsgt_switch_lock			=	+level5(lsgt_switch_lock)
  lv5:ralt_switch_lock			=	+level5(ralt_switch_lock)
  lv5:lwin_switch_lock			=	+level5(lwin_switch_lock)
  lv5:rwin_switch_lock			=	+level5(rwin_switch_lock)
  lv5:lsgt_switch_lock_cancel		=	+level5(lsgt_switch_lock_cancel)
  lv5:ralt_switch_lock_cancel		=	+level5(ralt_switch_lock_cancel)
  lv5:lwin_switch_lock_cancel		=	+level5(lwin_switch_lock_cancel)
  lv5:rwin_switch_lock_cancel		=	+level5(rwin_switch_lock_cancel)
  parens:swap_brackets			=	+parens(swap_brackets)
  misc:typo				=	+typo(base):all


! option		=	compat
  grp_led:num		=	+lednum(group_lock)
  grp_led:caps		=	+ledcaps(group_lock)
  grp_led:scroll	=	+ledscroll(group_lock)
  mod_led:compose	=	+ledcompose(compose)
  japan:kana_lock	=	+japan(kana_lock)
  caps:shiftlock	=	+ledcaps(shift_lock)
  caps:unlock-on-release	=	+caps(unlock-on-release)
  caps:unlock-on-press		=	+caps(unlock-on-press)
  grab:break_actions	=	+xfree86(grab_break)
  grp:lockOnRelease	=	+iso9995-v2(lockOnRelease)
  grp:lockOnPress	=	+iso9995-v2(lockOnPress)
  lv3:latchOnPress	=	+level3-v2(latchOnPress)
  lv3:latchOnRelease	=	+level3-v2(latchOnRelease)


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