keyboard/altgr/symbolics: distinguish greek letters from symbols
[sheet.git] / keyboard / altgr / eurkey.eng.inc.pl
index 1e73e21e7401b19402b74839d0f313aac08b5484..5b9702cf427f42b003f7de40c84916dbb0cb27f7 100644 (file)
@@ -1,10 +1,13 @@
 use utf8;
 use strict;
 use warnings;
+use Shiar_Sheet::KeyboardChars 'kbmodes';
 
 my $V = v1.3;
 
-our %rows = (
+my $presymbol = $V ge v1.3 ? '\\' : '-';
+my %rows = (
+       '' => {
        '1' => '¡',
        '!' => '¹',
        '2' => 'ª',
@@ -101,12 +104,182 @@ our %rows = (
        '>' => 'Ó',
        '/' => '¿',
        '?' => '…',
+       },
+
+       # greek
+       'm' => {
+               'a' => 'α',
+               'b' => 'β', # v
+               'g' => 'γ',
+               'd' => 'δ',
+               'e' => 'ε',
+               'z' => 'ζ',
+               'i' => 'η',
+               'h' => 'θ',
+               'j' => 'ι',
+               'k' => 'κ',
+               'l' => 'λ',
+               'm' => 'μ',
+               'n' => 'ν',
+               'x' => 'ξ',
+               'o' => 'ο',
+               'p' => 'π',
+               'r' => 'ρ',
+               's' => 'σ',
+               't' => 'τ',
+               'y' => 'υ',
+               'f' => 'φ',
+               'c' => 'χ',
+               'w' => 'ψ',
+               'q' => 'ω', # u
+
+               # suþscript
+               '1' => '¹',
+               '2' => '²',
+               '3' => '³',
+               '4' => '⁴',
+               '5' => '⁵',
+               '6' => '⁶',
+               '7' => '⁷',
+               '8' => '⁸',
+               '9' => '⁹',
+               '0' => '⁰',
+               '!' => '₁',
+               '@' => '₂',
+               '#' => '₃',
+               '$' => '₄',
+               '%' => '₅',
+               '^' => '₆',
+               '&' => '₇',
+               '*' => '₈',
+               '(' => '₉',
+               ')' => '₀',
+       },
+
+       # maths
+       'M' => {
+               '!' => '≠',
+               '~' => '≈',
+               '=' => '≝',
+               '>' => '≥',
+               '<' => '≤',
+               '-' => '±',
+               'i' => '∞',
+               'n' => 'ⁿ',
+               'r' => '√',
+               '3' => '∛',
+               '4' => '∜',
+               '%' => '‰',
+
+               'f' => 'ƒ',
+               'S' => '∫',
+               "'" => '′',
+               '"' => '″',
+               'p' => '∂',
+               'd' => 'Δ',
+               'D' => '∇',
+               '+' => '⊕',
+               '*' => '⊗',
+               '^' => '℘',
+
+               's' => '∩',
+               'u' => '∪',
+               'U' => '∖',
+               'O' => '∅',
+               'g' => '⊂',
+               'G' => '⊃',
+               'h' => '⊄',
+               'H' => '⊅',
+               'b' => '⊆',
+               'B' => '⊇',
+               'm' => '∈',
+               'M' => '∉',
+               'k' => '∋',
+               'K' => '∌',
+
+               'A' => '∀',
+               'E' => '∃',
+               'X' => '∄',
+               '&' => '∧',
+               '|' => '∨',
+               'c' => '∝',
+               '.' => '⋅',
+               'o' => '∘',
+               ':' => '∴',
+               ';' => '∵',
+               'z' => '↯',
+               'F' => '∎',
+
+               'R' => 'ℝ',
+               'C' => 'ℂ',
+               'N' => 'ℕ',
+               'P' => 'ℙ',
+               'Q' => 'ℚ',
+               'Z' => 'ℤ',
+               '9' => '∟',
+               '8' => '∠',
+               '7' => '∡',
+               'l' => '∥',
+               'L' => '∦',
+       },
+
+       # symbols
+       $presymbol => {
+               't' => '™',
+               'c' => '©',
+               'p' => '℗',
+               'r' => '®',
+                       $V lt v1.3 ? (
+               '1' => '¼',
+               '2' => '½',
+               '3' => '¾',
+               '4' => '⅓',
+               '5' => '⅔',
+               's' => '℠',
+                       ) : (
+               's' => '§',
+               '1' => '№',
+               '2' => '½',
+               '3' => '⅓',
+               '4' => '¼',
+               '5' => '⅔',
+               '6' => '¾',
+               'T' => '℠',
+                       ),
+
+               # arrows
+               'h' => '←',
+               'H' => '⇐',
+               'j' => '↓',
+               'J' => '⇓',
+               'k' => '↑',
+               'K' => '⇑',
+               'l' => '→',
+               'L' => '⇒',
+               'u' => '↖',
+               'U' => '⇖',
+               'i' => '↗',
+               'I' => '⇗',
+               'n' => '↙',
+               'N' => '⇙',
+               'm' => '↘',
+               'M' => '⇘',
+               '=' => '↔',
+               '+' => '⇔',
+       },
 );
 
 +{
-       %{ do 'keyboard/altgr/groups.inc.pl' },
-       version => '1.0',
+       %{ kbmodes(\%rows) },
+       mode => {
+               ''  => 'option-shifted ⌥',
+               'm' => 'Ω greek prefix ⌥m',
+               'M' => '√ maths prefix ⌥M',
+               $presymbol => "$rows{''}{$presymbol} symbol prefix ⌥$presymbol",
+       },
+       version => '1.1',
        title => 'EurKEY',
+       category => 'latin/thirdparty',
        intro => join("\n",
                'Third-party proposal <a href="https://eurkey.steffen.bruentjen.eu/">EurKEY</a>',
                '<abbr title="last updated 2017-05-15">v1.3</abbr> by Steffen Brüntjen',
@@ -118,5 +291,6 @@ our %rows = (
        description => [
                "An interactive map of EurKEY, the European Keyboard Layout.",
        ],
-       image => 'keyboard/altgr/eurkeyboard.jpg',
+       image => 'data/keyboard/thumb/eurkeyboard.jpg',
+       imagealt => 'Right alt on the EurKEYboard created by Psy-Q',
 }