UI-KeyboardLayout
view release on metacpan or search on metacpan
examples/izKeys.kbdd view on Meta::CPAN
@layers=Id(US_Base_Compose) Id(Add_Base), Id(USLatin-AltGr) Id(Add_AltGr)
#@layers=US-Base, Id(USLatin-AltGr) Id(Add_AltGr)
BaseLayer=US-Base
#LinkFace=CyrillicPhonetic
#
MetaData_Index=0
faceDeadKeys= ´ Ë ||| Ë Ë ||| ° ¸ ||| Ë Â¯ 0338 ˵ ¨ £ Æ Ä¸
ExportDeadKeys= ´ Ë Ë Ë Â° ¸ Ë Â¯ 0338 ¨ ˵
#
@extra_report_DeadChar= 012e, 0297
# # Now defined via ByPairsPrefix
#@faceDeadKeys2= 0138\, 0138[, 0138], 0138`
# 002c = ,
@char2key_prefer_first=\,|,.,002c,£,06ff
@char2key_prefer_last=00a0
#
# Misnomer: not AltGr, but Alternative! (~â¼, *â, .â
) perp=â' ¹â is good only if ¹ is on 1! keyâ¦;
# |⣠does not hurt anything (and does not help much); 06ff is compose (on AltGr-:)
@AlternCharSubstitutions=|â£,0338â,06ff÷
# ¡â - better on Greenkeys; #â - conflicts too much; ijü - was good when ij was on k, not i; óâ - what for???
@AlternCharSubstitutionLayers=Blue,Blue-AltGr
#
# This gives more collisions:
#@AlternCharSubstitutions=ijü,^â§,&â©,*Ã,#â ,6â¨,7âª,|â£,!â¥,1â¤,¡â,¹â,2â«,@â®,ªâ,²â,²â¥,3â³,#â²,ºâ³,³â½,4â¡,$â,â¬â¢,Â¥â£
#
@Import_Prefix_Keys= 0301:CyrillicPhonetic,0297, 0483:CyrillicPhonetic,0483
#
+DeadKey_InvMap0000= ByPairs[0192.202f]
+DeadKey_InvMap0000= HTML_classes[k=latinAlt,from_ne,x,k=latinAlt,to_ne,ac,k=latinAlt,xfrom_sw,wf,k=latinAlt,from_nw,l,k=latinAlt,from_w high,p]
+DeadKey_InvMap0000= HTML_classes[c=latinBase,special,aeyuio,C=latinAlt,special,ê,C=latinAlt,very-special,ºªââ¬Â§Ã¦ÃðþçñijÅ¡¿]
+DeadKey_InvMap0000= HTML_classes[C1,need-learn,åøì]
# Chaining makes sense if Flip_AltGr_Key is on AltGr key (repeating will reach inverted faces of:)
@chainAltGr=0138,0192,012e,0297,0483
+PrefixChains=0192,0192,012e,0297,0483,â½
+PrefixChains=0138,0138,019c,£,03e2,â£
+PrefixChains=0297,0297,0483,0483
#
# 017F,0192,0297 - 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: 0297.2007 00a0.202F)
+DeadKey_Map0192= PrefixDocs[Cyrillic, âRipe Keysâ, Subscript digits/symbols, dashes]
+DeadKey_Map0192= InheritPrefixKeys[Face(CyrillicPhonetic)](Face(CyrillicRipeMax))
+DeadKey_Map0192= Face(Add_Ripe1) Shortcut(ModArrows) ByPairsFlat[˱⪠˲⪠â®20e3 â¦â] ByPairsInvFlat[˱⪠˲âª]
+DeadKey_Map0192= HTML_classes[C=cyr,may-guess,вÑÑÑ
Ñ£ÑÓ,C0,need-learn,ÑÑÑÑÑÑÑжÑÑÐЪ] X11symbol[dead_lowline]
# Layers(Russian+Russian-AltGr)
# (9=Thin, a=Hair, 7=figure(noBreak), 8=Punctuation spaces)
+DeadKey_AddMap0297= PrefixDocs[âBizarreâ Cyrillic, fractions {AND: âotherâ iconic Control-Key symbols}]
+DeadKey_AddMap0297= Face(Add_Ripe3) ByPairsPrefixFlat[0297.0483]
# Default map (not used now???):
DeadKey_Map= Mutate Mutate2Self Shortcut(ModArrows)
#
# ĸ: â¹â¤ 0009â¥
+DeadKey_Map0138= PrefixDocs[Greek (AltGr=tonos/final/symbol etc), Superscript digits/symbols, âGreen Keysâ]
+DeadKey_Map0138= Face(LGreekGreenMax) Face(Add_Green1) Face(Add_Fkeys_DashesEtc) Shortcut(ModArrows) X11symbol[dead_greek]
+DeadKey_Map0138= ByPairsFlat[˱⩽ ˲⩾ â®âª â¦âª] ByPairsInvFlat[˱⫹ ˲⫺ â®âª â¦âª]
+DeadKey_Map0138= HTML_classes[C,very-special,ÏÏ,C,special,αÏεηÏ
ιο,C,may-guess,ÏÏÏÏ¡É,C,need-learn,θÏÏÏâ,C1,may-guess,Ïâ¨ââ§â]
#
# diaeresis 00a8; 0309=hook above; ,<any-symbol-diaeresis> does not add anything...
+DeadKey_Map00a8= PrefixDocs[Diaeresis, hook above [+subs-Vietnamese], âBlue Keysâ, operators {AND: doubly-mogrified symbols, rotunda/squirrel/hook/curl, dot above+below, etc}]
+DeadKey_Map00a8= ByPairs[,⪯ ¸⪵ .⪰ °⪶](Face(Latin))
+DeadKey_Map00a8= Mutate[\\ââ,00a8|0309+<subst-Vietnamese>,<reveal-substkey>|0309|<any-calculated-operator>|
+DeadKey_Map00a8= <any-overlay>+<any-addvline>,<any-overlay>+<any-addhline>,<any-overlay>+<any-addline>,
+DeadKey_Map00a8= <any-amplify>+<any-round>,<any-round>+<any-round>,<any-rotunda>,<any-squirrel>|
+DeadKey_Map00a8= <any-dot-above>+<any-dot-below>,<any-dot-above>+0301,<pseudo-stroke>+<any-diagonal-stroke>|
+DeadKey_Map00a8= <any-double-bar>,<pseudo-hook>,<pseudo-palatal-hook>|<pseudo-curl>,-<any-white>+<any-unsharpen>]
+DeadKey_Map00a8= Mutate2Self Shortcut(ModArrows) ByPairsFlat[˱ⶠ˲ⷠâ®âª â¦âª] ByPairsInvFlat[˱â ˲â â®âª â¦âª]
#
# 2f5 ˵ "middle" double grave. <any-macron-below> gets WITH LINE BELOW, <any-circumflex-accent-below> gets WITH CIRCUMFLEX BELOW
+DeadKey_Map02f5= PrefixDocs[Diaeresis, double-grave, double-struck capitals {AND: doubly-mogrified symbols, dot above symbols, dot+macron, stroke/swash, paleocontractions, etc}]
+DeadKey_Map02f5= Mutate[\\Ç,00a8|<font=double-struck>|<any-double-grave>|
+DeadKey_Map02f5= <any-overlay>+<any-addvline>,<any-overlay>+<any-addhline>,<any-overlay>+<any-addline>,
+DeadKey_Map02f5= <any-calculated>+<any-black>,<any-amplify>+<any-round>,<any-round>+<any-round>|
+DeadKey_Map02f5= <any-adddottop>,<any-amplify>+<any-amplify>|
+DeadKey_Map02f5= <any-dot-above>+<any-calculated>,<any-dot-above>+0304--00a8|0304+<any-dot-below>|
+DeadKey_Map02f5= <any-diagonal-stroke>,<any-oblique-stroke>|
+DeadKey_Map02f5= <any-swash>,<any-bar>+<any-paleocontraction>,<any-paleocontraction>,<any-diaeresized>--0301,
+DeadKey_Map02f5= <any-reversed>+<any-fishhook>,<any-hook>+<any-greekize>--0301]
+DeadKey_Map02f5= ByPairs[pâ P⣠,⫠¸⫠.⫠°â«](Face(Latin)) ByPairs[p⥠P⦠"0308](FlipLayers(Latin)) Mutate2Self Shortcut(ModArrows)
+DeadKey_Map02f5= ByPairsFlat[˱⪽ ˲⪾ â®â« â¦â«] ByPairsInvFlat[˱⫠˲⫠â®â« â¦â«]
#
# 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; 0311 is inverted breve; ⺠gets in the way of overbar
+DeadKey_Map00af= PrefixDocs[Macron, add horizontal line (or double line), phonetic, dashes (on digits etc) {AND: quill, right-hook, inv-breve, paleocontraction}]
+DeadKey_Map00af= ByPairs[âÉ Â¹Ç <⪠â¤âª ,⩽ >⪠â¥âª .⩾](Face(Latin))
+DeadKey_Map00af= Mutate[\\â©â¤â¤â¥â©â³â»âââªâª,\\âº[0],00af|0303+<subst-Macron>|
+DeadKey_Map00af= <any-bar>,<any-horizontal-stroke>,<any-dash>,<any-overbar>,<any-topbar>,<any-strikethrough>,
+DeadKey_Map00af= <any-over-equal>,<any-equal>,<any-line-!vertical>,<any-quill>,<any-base>,<any-underbar>,
+DeadKey_Map00af= <any-phonetized>,<any-addhline>,<any-slanted>|<any-right-hook>|
+DeadKey_Map00af= 0311--0301,<any-paleocontraction>,<super>+<any-paleocontraction>+lc|
+DeadKey_Map00af= 0311,<any-horizontal>,0304+<any-dot-below>]
+DeadKey_Map00af= ByPairs[1â 2â 3â] ByPairs[4â 0â âÉ Â¦00ad !â Â¹Ç KÈ kÈ @Æ»](Face(Latin))
+DeadKey_Map00af= ShiftFromTo[5,Ë¥](SelectRX[[5-9]]) Mutate2Self Shortcut(ModArrows) ByPairsFlat[˱⪪ ˲⪫ â®âª¬ â¦âª] ByPairsInvFlat[˱⪬ ˲âª]
# 0304+<any-dot-below> cannot be inverted - there is no intermediate point!
#
# Combine breve=02d8/0306 and caron 02c7/030c (we do not ??? of breve-like diacritics!); Å is moved to ???
# Note that à combines with caron (in 2 ways! Ç á¹º) - but we prefer à -> Ç; arc/check not visible; Æ«êê obscure ê¥
+DeadKey_Map02c7= PrefixDocs[Caron, breve, quasi-synonyms, n-Ary/Big {AND: arc/loop/check/belt/flourish/tilde-below/left-palatal-hook, insular/epigraphic, etc}]
+DeadKey_Map02c7= ByPairs[02c7.0306 <⪹ â¤â¾ >⪺ â¥â¿ .â©](Face(Latin))
+DeadKey_Map02c7= Mutate[\\Æ«êêââÅê¼,02c7|030c|<any-breve-!inverted>,<any-arc>,<any-caron>,<any-loop>,<any-check>,<any-belt>,
+DeadKey_Map02c7= <any-flourish>,<any-tilde-below>--0300|
+DeadKey_Map02c7= <any-quasisynon>,<any-left-hook>,<any-quasisynon>+<any-black>|
+DeadKey_Map02c7= <any-palatal-hook>,<any-insular>,<any-epigraphic>,0306+0327--0301,<any-dot-above>+<any-caron>,
+DeadKey_Map02c7= <any-black>+<any-unsharpen>,<any-n-ary>,<any-big>,<any-large>,
+DeadKey_Map02c7= <any-n-ary>+<any-manual-!turnaround>,<any-n-ary>+<any-circled>]
+DeadKey_Map02c7= ByPairs[Ã¾ê¥ Ãê¤ Ãǯ ÃÇ® wÉ· ,⨠¸⪷ °⪸](Face(Latin)) ByPairs[0á´](FlipLayers(Latin))
+DeadKey_Map02c7= Mutate[<any-smallcaps>](Layers(Empty+Greek)) Mutate2Self Shortcut(ModArrows)
+DeadKey_Map02c7= ByPairsFlat[˱⪦ ˲⪧ â®âª¨ â¦âª©] ByPairsInvFlat[˱⪨ ˲⪩]
#
# division slash; <any-long-horizontal-stroke> just a micro-optimization; to access Ȧȧ; pinyin caron=030c-diaeresis
+DeadKey_Map0338= PrefixDocs[Stroke, cut-off, âotherâ phonetic {AND: Um, doubled letters, Å, dot above, double-overbar, but-not, fences}]
+DeadKey_Map0338= ByPairs[0338.0338]
+DeadKey_Map0338= Mutate[\\Êê©,<pseudo-stroke>,<any-stroke-!horizontal>,<any-long-horizontal-stroke>,<any-diagonal>,
+DeadKey_Map0338= <any-solidus>,<any-addline>,0306--030c--00a8+030c+00a8,<any-curl>+<any-phonetized>|
+DeadKey_Map0338= <any-stroke>+<any-calculated>,<any-stroke>+<any-phonetized>,<any-umify>,
+DeadKey_Map0338= <any-umify>+<any-smallcaps>,<any-umify>+<any-rotunda>,<any-doubleletter>,00a8+00af--00a8,
+DeadKey_Map0338= <any-dot-above>--0300,<any-double-overbar>,<any-but-not>|
+DeadKey_Map0338= <any-phonetize2>,<any-phonetize3>--0301|<any-smallcaps>+dectrl]
+DeadKey_Map0338= ByPairs[ !â¼ 0020â {â }â [â ]â &â« 7â§¢ ](Face(Latin)) ByPairs[ [â§ ]â§ {â§ }â§ |⦠\â¦](FlipLayers(Latin))
+DeadKey_Map0338= Mutate2Self Shortcut(ModArrows) ByPairsFlat[˱⪠˲⪠â®â« â¦â«] ByPairsInvFlat[˱⫠˲â«]
# =============================================================
+Named_DIA_Recipe__ring_dot= \\âµê,\\â§â§[5],\áºá»,00b0|0323+<subst-Vietnamese>|||
+Named_DIA_Recipe__ring_dot= \â,!\ââ,0307,0323|0328+<subst-Macron>|
+Named_DIA_Recipe__ring_dot= <any-round>,<any-ring-!above>,<any-dot>,<any-dots>,<any-dotless>,<any-other-circle>,
+Named_DIA_Recipe__ring_dot= <any-circled>,<any-adddot>,
+Named_DIA_Recipe__ring_dot= <any-black>--<any-amplify>|<any-insular>,<any-equal>+<any-amplify>
# ring above 00b0: combine with dotabove 0307 dotbelow 0323
# (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...]; âµ obscures â¦
+DeadKey_Map00b0= PrefixDocs[Ring above, dot above/below/dotless, rounded {AND: circled, amplified, insular}âââoverflows to/from the column on right]
+DeadKey_Map00b0= ByPairs[_â¸](Face(Latin))
+DeadKey_Map00b0= Mutate[+\\ââ[.],<NAMED-ring-dot>||||<circle>,<circle>+lc+dectrl] Mutate2Self Shortcut(ModArrows)
( run in 1.010 second using v1.01-cache-2.11-cpan-e1769b4cff6 )