@libervurto
I basically love your thoughtful key bindings; theyʼre very intuitive.
However (thereʼs always a “however”), allow me to point out that even though “letters” in different alphabets like Latin, Greek, and Cyrillic may look the same, they may by no means be the same. Take «P». In Latin itʼs the glyph (graphic representation) that denotes an unvoiced bilabial plosive (namely, our western “P”); in Greek and Cyrillic, however it stands for the sound of Latin “R”. And this is only one example out of dozens and dozens. So, you canʼt simply discard the different shapes that just happen to look like a Latin letter. In other words, theyʼre anything but synonymous.
Thereʼs a distinction between “glyph” and “codepoint” in Unicode; “codepoint” being the meaning of a symbol, codified by a Unicode number, and “glyph” being its visual representation (the letter you see on the screen). In concrete terms:
- «A» = Unicode $0041, as part of the extant Latin alphabet (in Unicode written as U+0041)
- «Α» = Unicode $0391, as part of the (modern) Greek alphabet
- «А» = Unicode $0410, as part of the Cyrillic alphabet (what we commonly and erroneously call Russian); and it gets even weirder:
- «ꓮ» = Unicode $A4EE, as part of the little‐known Li‐Su abugida (syllabic alphabet), the script of a remote South‐Asian Sino‐Tibetan people
All four look exactly the same but represent different entities in terms of their respective languages. E·g·, “Greek A” is called “Alpha”, since it represents a different glyph than “Latin A” or “Cyrillic A”. (That's why they have different code points.) (Con artists exploit this coincidence to no end to create authentic‐looking phishing sites.)
Incidentally/accidentally, in this case they represent similar sounds, but, as demonstrated above, that is usually not the case. (Remember the Soviet Union? Their abbreviation looked like CCCP to Latin readers, but actually stood for SSSR [Soyuz Sovetskikh Sotsialisticheskikh Respublik]: Союз Советских Социалистических Республик [СССР].)
Things get (a lot) more complicated once we look at uppercase and lowercase letters and their correlations. Thus the best strategy is to keep everything in place, in conformance with the now widely implemented Unicode standard. (One day, maybe less than a year out, it will be the ONLY standard.)
Therefore, I took the liberty to modify your chart to be a little more inclusive.
(I posted this not to correct you or call you out but to give concrete examples to people looking for exactly this kind of information.)
include "%L"
# Greek alphabet
#
# Greek key bindings use corresponding Latin characters as much as possible and plausible.
# Latin characters not present in Greek are used for Greek characters not present in Latin:
# "C" invokes Sigma Luna [U+03A2] (so far not assigned in Unicode)
# "H" invokes Eta; "J" invokes Khi (Chi)
# "Q" invokes Theta; "U" invokes Upsilon; "V" invokes Psi; "W" invokes Omega
#
# Greek Core Alphabet Uppercase
<Multi_key> <g> <A> : "Α" U0391 # GREEK CAPITAL LETTER ALPHA
<Multi_key> <g> <B> : "Β" U0392 # GREEK CAPITAL LETTER BETA
<Multi_key> <g> <G> : "Γ" U0393 # GREEK CAPITAL LETTER GAMMA
<Multi_key> <g> <D> : "Δ" U0394 # GREEK CAPITAL LETTER DELTA
<Multi_key> <g> <E> : "Ε" U0395 # GREEK CAPITAL LETTER EPSILON
<Multi_key> <g> <Z> : "Ζ" U0396 # GREEK CAPITAL LETTER ZETA
<Multi_key> <g> <H> : "Η" U0397 # GREEK CAPITAL LETTER ETA
<Multi_key> <g> <Q> : "Θ" U0398 # GREEK CAPITAL LETTER THETA
<Multi_key> <g> <I> : "Ι" U0399 # GREEK CAPITAL LETTER IOTA
<Multi_key> <g> <K> : "Κ" U039A # GREEK CAPITAL LETTER KAPPA
<Multi_key> <g> <L> : "Λ" U039B # GREEK CAPITAL LETTER LAMBDA
<Multi_key> <g> <M> : "Μ" U039C # GREEK CAPITAL LETTER MU
<Multi_key> <g> <N> : "Ν" U039D # GREEK CAPITAL LETTER NU
<Multi_key> <g> <X> : "Ξ" U039E # GREEK CAPITAL LETTER XI
<Multi_key> <g> <O> : "Ο" U039F # GREEK CAPITAL LETTER OMIKRON
<Multi_key> <g> <P> : "Π" U03A0 # GREEK CAPITAL LETTER PI
<Multi_key> <g> <R> : "Ρ" U03A1 # GREEK CAPITAL LETTER RHO
<Multi_key> <g> <C> : "" U03A2 # GREEK CAPITAL LETTER SIGMA LUNA
<Multi_key> <g> <S> : "Σ" U03A3 # GREEK CAPITAL LETTER SIGMA
<Multi_key> <g> <T> : "Τ" U03A4 # GREEK CAPITAL LETTER TAU
<Multi_key> <g> <U> : "Υ" U03A5 # GREEK CAPITAL LETTER UPSILON
<Multi_key> <g> <F> : "Φ" U03A6 # GREEK CAPITAL LETTER PHI
<Multi_key> <g> <J> : "Χ" U03A7 # GREEK CAPITAL LETTER KHI
<Multi_key> <g> <V> : "Ψ" U03A8 # GREEK CAPITAL LETTER PSI
<Multi_key> <g> <W> : "Ω" U03A9 # GREEK CAPITAL LETTER OMEGA
#
# Greek Core Alphabet Lowercase
<Multi_key> <g> <a> : "α" U03B1 # GREEK SMALL LETTER ALPHA
<Multi_key> <g> <b> : "β" U03B2 # GREEK SMALL LETTER BETA
<Multi_key> <g> <g> : "γ" U03B3 # GREEK SMALL LETTER GAMMA
<Multi_key> <g> <d> : "δ" U03B4 # GREEK SMALL LETTER DELTA
<Multi_key> <g> <e> : "ε" U03B5 # GREEK SMALL LETTER EPSILON
<Multi_key> <g> <z> : "ζ" U03B6 # GREEK SMALL LETTER ZETA
<Multi_key> <g> <h> : "η" U03B7 # GREEK SMALL LETTER ETA
<Multi_key> <g> <q> : "θ" U03B8 # GREEK SMALL LETTER THETA
<Multi_key> <g> <i> : "ι" U03B9 # GREEK SMALL LETTER IOTA
<Multi_key> <g> <k> : "κ" U03BA # GREEK SMALL LETTER KAPPA
<Multi_key> <g> <l> : "λ" U03BB # GREEK SMALL LETTER LAMBDA
<Multi_key> <g> <m> : "μ" U03BC # GREEK SMALL LETTER MU
<Multi_key> <g> <n> : "ν" U03BD # GREEK SMALL LETTER NU
<Multi_key> <g> <x> : "ξ" U03BE # GREEK SMALL LETTER XI
<Multi_key> <g> <o> : "ο" U03BF # GREEK SMALL LETTER OMIKRON
<Multi_key> <g> <r> : "ρ" U03C1 # GREEK SMALL LETTER RHO
<Multi_key> <g> <c> : "ς" U03C2 # GREEK SMALL LETTER FINAL SIGMA
<Multi_key> <g> <s> : "σ" U03C3 # GREEK SMALL LETTER SIGMA
<Multi_key> <g> <t> : "τ" U03C4 # GREEK SMALL LETTER TAU
<Multi_key> <g> <u> : "υ" U03C5 # GREEK SMALL LETTER UPSILON
<Multi_key> <g> <f> : "φ" U03C6 # GREEK SMALL LETTER PHI
<Multi_key> <g> <j> : "χ" U03C7 # GREEK SMALL LETTER KHI
<Multi_key> <g> <v> : "ψ" U03C8 # GREEK SMALL LETTER PSI
<Multi_key> <g> <w> : "ω" U03C9 # GREEK SMALL LETTER OMEGA
#
# Alternate Inputs
<Multi_key> <g> <T> <H> : "Θ" U0398 # GREEK CAPITAL LETTER THETA (alternate)
<Multi_key> <g> <T> <h> : "Θ" U0398 # GREEK CAPITAL LETTER THETA (alternate)
<Multi_key> <g> <t> <h> : "θ" U03B8 # GREEK SMALL LETTER THETA (alternate)
<Multi_key> <g> <K> <S> : "Ξ" U039E # GREEK CAPITAL LETTER XI (alternate)
<Multi_key> <g> <K> <s> : "Ξ" U039E # GREEK CAPITAL LETTER XI (alternate)
<Multi_key> <g> <k> <s> : "ξ" U03BE # GREEK SMALL LETTER XI (alternate)
<Multi_key> <g> <P> <I> : "Π" U03A0 # GREEK CAPITAL LETTER PI (alternate)
<Multi_key> <g> <P> <i> : "Π" U03A0 # GREEK CAPITAL LETTER PI (alternate)
<Multi_key> <g> <p> <i> : "π" U03C0 # GREEK SMALL LETTER PI (alternate)
<Multi_key> <g> <S> <C> : "" U03A2 # GREEK CAPITAL LETTER SIGMA LUNA (alternate)
<Multi_key> <g> <S> <c> : "" U03A2 # GREEK CAPITAL LETTER SIGMA LUNA (alternate)
<Multi_key> <g> <s> <f> : "ς" U03C2 # GREEK SMALL LETTER SIGMA FINAL (alternate)
<Multi_key> <g> <T> <A> : "Τ" U03A4 # GREEK SMALL LETTER TAU (alternate)
<Multi_key> <g> <T> <a> : "Τ" U03A4 # GREEK SMALL LETTER TAU (alternate)
<Multi_key> <g> <t> <a> : "τ" U03C4 # GREEK SMALL LETTER TAU (alternate)
<Multi_key> <g> <Y> : "Υ" U03A5 # GREEK CAPITAL LETTER UPSILON (alternate)
<Multi_key> <g> <y> : "υ" U03C5 # GREEK SMALL LETTER UPSILON (alternate)
<Multi_key> <g> <P> <H> : "Φ" U03A6 # GREEK CAPITAL LETTER PHI (alternate)
<Multi_key> <g> <P> <h> : "Φ" U03A6 # GREEK CAPITAL LETTER PHI (alternate)
<Multi_key> <g> <p> <h> : "φ" U03C6 # GREEK SMALL LETTER PHI (alternate)
<Multi_key> <g> <K> <H> : "Χ" U03A7 # GREEK CAPITAL LETTER KHI (alternate)
<Multi_key> <g> <K> <h> : "Χ" U03A7 # GREEK CAPITAL LETTER KHI (alternate)
<Multi_key> <g> <k> <h> : "χ" U03C7 # GREEK SMALL LETTER KHI (alternate)
<Multi_key> <g> <P> <S> : "Ψ" U03A8 # GREEK CAPITAL LETTER PSI (alternate)
<Multi_key> <g> <P> <s> : "Ψ" U03A8 # GREEK CAPITAL LETTER PSI (alternate)
<Multi_key> <g> <p> <s> : "ψ" U03C8 # GREEK SMALL LETTER PSI (alternate)
#
# Variants
<Multi_key> <g> <v> <H> : "Ͱ" U0370 # GREEK CAPITAL LETTER HETA
<Multi_key> <g> <v> <h> : "ͱ" U0371 # GREEK SMALL LETTER HETA
<Multi_key> <g> <v> <b> : "ϐ" U03D0 # GREEK BETA SYMBOL
<Multi_key> <g> <v> <e> : "ϵ" U03F5 # GREEK LUNATE EPSILON SYMBOL
<Multi_key> <g> <v> <Q> : "ϴ" U03F4 # GREEK CAPITAL THETA SYMBOL
<Multi_key> <g> <v> <q> : "ϑ" U03D1 # GREEK THETA SYMBOL
<Multi_key> <g> <v> <k> : "ϰ" U03F0 # GREEK KAPPA SYMBOL
<Multi_key> <g> <v> <p> : "ϖ" U03D6 # GREEK PI SYMBOL
<Multi_key> <g> <v> <U> : "ϒ" U03D2 # GREEK UPSILON WITH HOOK SYMBOL
<Multi_key> <g> <v> <Y> : "ϒ" U03D2 # GREEK UPSILON WITH HOOK SYMBOL
<Multi_key> <g> <v> <v> : "ϕ" U03D5 # GREEK PHI SYMBOL
<Multi_key> <g> <v> <x> : "☧" U2627 # CHI RHO
<Multi_key> <g> <p> <s> : "ψ" U03C8 # GREEK SMALL LETTER PSI
# Odd freak:
<Multi_key> <g> <v> <p> <s> : "ᴪ" U1D2A # GREEK LETTER SMALL CAPITAL PSI
<dead_greek>
is actually present in the "French (Bepo, ergonomic, Dvorak way)" keyboard layout. But have you tried to use any of the Greek keyboard layouts?Compose
file can contain multiple definitions for a single character. For example,µ
can be done withdead_greek
, but it can also be done withcompose key
+u
then/
.