UI-KeyboardLayout

 view release on metacpan or  search on metacpan

examples/EurKey++.kbdd  view on Meta::CPAN

DeadKey_Map00a9=	Layers(CopyRight_0+CopyRight_1)
#
DeadKey_Map00b1_0=	Id(Math_PlusPlus)
DeadKey_Map00b1_1=				SpaceSelf2Id
#
DeadKey_Map03a9=	Layers(Greek_Hairy_0+Greek_Hairy_1)
#
[faces/US]
@layers=Latin,Latin-AltGr
LinkFace=CyrillicPhonetic
#
MetaData_Index=0
faceDeadKeys= 	´  ˋ  ˜  ˆ  ˇ  °  ¯  ¨  Ω  ±  ©  ¥
ExportDeadKeys=	´  ˋ  ˜  ˆ  ˇ  °  ¯  ¨
#
@faceDeadKeys2= 03a6.03a6
#			, 0192.02c7,	0192.00b4
#		=> 0483	=> 0483		=> 03a6
#
#						002c = ,
@char2key_prefer_first=\,|,.,002c
#
# Will be only considered when putting a diacritic on AltGr-key (~∼, *∗, .⋅ ) perp=⟂' ¹⟂ is good only if ¹ is on 1! key…
#@AltGrCharSubstitutions=ijü,|∣,!⊥,1⊤,¡≠,¹⟂,2∫,@∮,ª∭,²‖,²∥,3⊳,#⊲,º⊢,³⊣,4□,$◇,€△,¥▽,ó∘,5•,%⋈,£⨯,6∨,7∪,^∧,&∩,*×,(∈,)∋
@AltGrCharSubstitutions=ijü,|∣,²‖,ó∘
# ¡≀ - better on bluekeys; #≠ - conflicts too much
@AltGrCharSubstitutionLayers=Green,Green-AltGr
#
#  This gives more collisions:
#@AltGrCharSubstitutions=ijü,^∧,&∩,*×,#≠,6∨,7∪,|∣,!⊥,1⊤,¡≀,¹⟂,2∫,@∮,ª∭,²‖,²∥,3⊳,#⊲,º△,³▽,4□,$◇,€⊢,¥⊣
#
# Tibetan range: take only tibetan diacritics, so our code adding diacritics won't be confused by prefices... ???
Auto_Diacritic_Start=0f00
Flip_AltGr_Key=00a0
@Import_Prefix_Keys=	0301:CyrillicPhonetic,03a6,	0483:CyrillicPhonetic,0483
#
DeadKey_InvMap0000=	ByPairs[0192.202f]
#                   Chaining makes sense if Flip_AltGr_Key is on AltGr key (repeating will reach inverted faces of:)
@chainAltGr=0192,03a6,0483
#
Diacritic_if_undef=			SpaceSelf2Id
DeadChar_DefaultTranslation=		♪
DeadChar_32bitTranslation=		♫
#
# 017F,0192,03a6 - good candidates to never be generated on the base face.  But 017F takes accents (use it for dead2 only)
# 00b6=pilcrow 007c=| 002f=/ 00a0=NBSPC --> open box, narrow and hair spaces to figure and narrow nbr-spaces (was: 03a6.2007 00a0.202F)
DeadKey_Map0192=	ByPairs[0020.2422 0192.2423 03a6.2420]	LinkFace
# Layers(Russian+Russian-AltGr)
#							was: 0020.2009
DeadKey_AddMap03a6=	ByPairs[0020.00a0 0192.2007 03a6.0483]
#				Default map (not used now???):
DeadKey_Map=		Mutate	Mutate2Self
#
# diaeresis 00a8: combine with cedilla 0327(00b8) and ogonek 0328, comma below 0326 (precombined only on SsTt)
# ogonek is reachable on AltGr layer...)
# cedilla: only E H unreachable on front layer  except for Ȩȩ Ee - and Hh would be unreachable with AltGr too because of Ǜ - which is typable as ¨Ù)
# (and Ȩȩ is not used in "known" languages - http://fr.wikipedia.org/wiki/E_caudata - alternative writing of æ
#   - moved to Copyright face)
# ẗ gets in the way of Ț and Ţ!		(Used in transliteration of Arabic and UPA; moved to copyright face - on AltGr-t...)
# Ǜ would get in the way of Ḩ (used WHERE?) - available elsewhere - but there it is also penalized... ; ,<any-symbol-diaeresis> does not add anything...   visigothic conflicts with greekized ɑⱭ
DeadKey_Map00a8=	Mutate[\\ẗ,\\Ǜ[h],\\⋅[;],00a8|0309+<subst-Vietnamese>,<reveal-greenkey>|<any-diaeresized>,0328,0327,0326|<any-comma>,<any-calculated-operator>|<any-overlay>+<any-addvline>,<any-overlay>+<any-addhline>,<any-overlay>+<any-addline>...
#     <any-comma> picks up digits with comma which are above 0xffff - better make it last
#
#  Combine macron=00af and stroke (AOUaou missing stroke...)  00ad=SOFT HYPHEN; <any-stroke> should pick up 0338; 20D2 (|) and 20E5 \ do not appear in decompositions...
# ⩉ masks combining macron
#DeadKey_Map00af=	ByPairs[4― 0‒ ”ə ¦00ad !‑ ¹ǃ]	Mutate[\\⩉,00af|<pseudo-stroke>,<any-bar>,<any-stroke>,<any-dash>,<any-overbar>,<any-topbar>,<any-diagonal>,<any-strikethrough>,<any-over-equal>,<any-solidus>,<any-equal>,<any-line>,<any-q...
DeadKey_Map00af=	ByPairs[”ɚ ¹ǃ]	Mutate[\\⩉,00af|<pseudo-stroke>,<any-bar>,<any-stroke>,<any-dash>,<any-overbar>,<any-topbar>,<any-diagonal>,<any-strikethrough>,<any-over-equal>,<any-solidus>,<any-equal>,<any-line>,<any-quill>,<any-base>,<any-u...
#
# ring above 00b0: combine with dotabove 307 dotbelow 323 
# (only WÊ miss dot below, AUY miss dot above: Ȧ is Livonian and phonetic; U is not precomposed; Ẉ - WHERE???) ; <any-jot> does not add anything useful now...
# Ẏ (useful WHERE???) obscures Vietnamese Ỵ, [any-dots does not add anything...]	ByPairs[‚⊗]
DeadKey_Map00b0=	Mutate[\\Ẏ⋵,00b0||0323+<subst-Vietnamese>|0307,0323|<any-round>,<any-ring>,<any-dot>,<any-dots>,<any-dotless>,<any-other-circle>,<any-circled>,<any-circled>+<reveal-greenkey>,<any-adddot>|<any-insular>|<circle>] ByPairs[%‰]	Mut...
#
#  Combine breve=02d8/0306 and caron 02c7/030c (we do not description of breve-like diacretics!)
#   Note that Ü combines with caron (in 2 ways! Ǖ Ṻ) - but we prefer Ü -> Ǔ;	arc/check not visible
DeadKey_Map02c7=	Mutate[02c7|030c|<any-breve>,<any-arc>,<any-caron>,<any-loop>,<any-check>,<any-belt>,<any-flourish>|<any-quasisynon>]	ByPairs[þꝥ ÞꝤ]	Mutate2Self
#
Named_DIA_Recipe__acute_more=	<pseudo-hook>,<any-hook>+<any-calculated>,<any-fishhook>+<any-calculated>,<any-hook>,<any-fishhook>,<pseudo-tail>,<any-leg>,<any-tail>,<pseudo-curl>,<any-apostrophe>,<any-tick>,<any-sharpen>,<any-addright>,<any-rightward...
# combine acute 00b4 and hooks/tails/curls and horn 031b	(double acute=030b/2dd - protect against '' --> "; Ǘ is accessible otherwise, hides Ủ)
DeadKey_Map00b4=	Mutate[\\˝,\\Ǘ[u],00b4|030b--00b4,00b4+031b--0300|<NAMED-acute-more>]	Mutate2Self
#
# Do not need 00b4+<subst-Vietnamese> ???
#
# double grave 30f, grave 60/2cb/300; append reversed list for acute (horn=031b)	
# (tnvz have 3 type of hooks attached; the middle one [palatal] on nz are not reached ƫᶇᶌᶎ)
# Ǜ would get in the way of Vietnamese Ư (it could be available elsewhere, but there it is also penalized...)
DeadKey_Map02cb=	Mutate[\\Ç›[u],02cb|030f--0300,02cb+031b--0301,031b--00a8|<any-unsharpen>,<any-calculated-squared>,<any-addleft>,<any-leftwards>|||00b4|030b--00b4,00b4+031b--0300|||<NAMED-acute-more>]	Mutate2Self
#
# ; <any-overbar>--<any-manual-turnaround> to symmetrize ∈∋.
Named_DIA_Recipe__hat_more=	<pseudo-smallcaps>,<any-amplify>,<any-whiten>,<any-fake-white>,<any-fake-black>,<any-calculated-!operator-!squared-!circled>,<any-loop>,<any-upturn>,<any-descender>,<any-underbar>,<any-overbar>--<any-manual-turnaround>,<an...
#	(For the purpose of double accents, grave 0300 is considered equivalent to horn 031b or hat 02c6, ring 00b0 to breve 02d8/0306, with-stroke to horn)
DeadKey_Map02dc=	Mutate[\\ı∼∽≈〚〛₡,02dc|02dc+<subst-Vietnamese>,<any-tilde>,<any-equivalent>,<any-addtilde>|||02c6|||<NAMED-hat-more>]	ByPairs[§ẞ]	Mutate2Self
# adding <any-turnaround> breaks more than it adds.   \\∽[˜] does not work, since [**] acts BEFORE propagation to AltGr...
#
# Hat:  (if both smallcaps and turned/etc defined in the same Unicode version, prefer smallcaps) [loop/upturn not visible]
DeadKey_Map02c6=	Mutate[\\ı≈˜〚〛₡,02c6|<NAMED-hat-more>]	Mutate2Self
#
DeadKey_Map00a5=	Face(Business)
#
[faces/VK]
#
@SPACE=,0020,0192@,03a6@,00a0@
#@TAB=,0009,0009,0483@,0484@
#
# Dotted circle, black circle, white circle
#@APPS=,-1,25CC@,25CF@,25EF@
#
# Non-breakable translations (non-ideal 2007), 202F
#
[faces/CyrillicPhonetic]
#
@layers=Russian,Russian-AltGr
BaseLayer=Latin
LinkFace=US
#
MetaData_Index=1
#
faceDeadKeys= 	́	҃	Ω  ±  ©  £
ExportDeadKeys=	́	҃
#
@faceDeadKeys2= 03a6.03a6,	00a0.Ё



( run in 0.837 second using v1.01-cache-2.11-cpan-e1769b4cff6 )