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 )