keyboard/altgr: copy pico-8 graphical symbols as p8scii
[sheet.git] / keyboard / altgr / weur.eng.inc.pl
index c3b35163c90def680611b26df6463e4ca609b951..9315bf6198736f650a16025003dc455371f65805 100644 (file)
@@ -4,6 +4,25 @@ use warnings;
 no warnings 'qw';
 use Shiar_Sheet::KeyboardChars 'kbmodes';
 
+my $greekc = '*';
+my %info = (
+       mode => {
+               ''  => 'altgr-shifted ⌥',
+       },
+       version => '1.0', # upstream v2.0 2021/04/12
+       title => 'Western European',
+       map => 'qwerty', # specific positioning
+       category => 'latin/thirdparty/xorg',
+       intro => join("\n",
+               'Layout (<a href="https://altgr-weur.eu/" target=_blank>available</a> for major OSes)',
+               'to provide all accented characters commonly used',
+               'in 10 Western European languages available through one AltGr keystroke.',
+       ),
+       description => [
+               "QWERTY for Western European languages",
+       ],
+);
+
 my %rows = (
        '' => {
                '!'  => "\N{COMBINING DOT ABOVE}",
@@ -103,61 +122,29 @@ my %rows = (
        },
        '*' => {
                # dead_greek digraphs from data/xorg-compose
-               'A' => 'Α',
-               'a' => 'α',
-               'B' => 'Β',
-               'b' => 'β',
-               'D' => 'Δ',
-               'd' => 'δ',
-               'E' => 'Ε',
-               'e' => 'ε',
-               'F' => 'Φ',
-               'f' => 'φ',
-               'G' => 'Γ',
-               'g' => 'γ',
-               'H' => 'Η',
-               'h' => 'η',
-               'I' => 'Ι',
-               'i' => 'ι',
-               'J' => 'Θ',
-               'j' => 'θ',
-               'K' => 'Κ',
-               'k' => 'κ',
-               'L' => 'Λ',
-               'l' => 'λ',
-               'M' => 'Μ',
-               'm' => 'μ',
-               'N' => 'Ν',
-               'n' => 'ν',
-               'O' => 'Ο',
-               'o' => 'ο',
-               'P' => 'Π',
-               'p' => 'π',
-               'Q' => 'Χ',
-               'q' => 'χ',
-               'R' => 'Ρ',
-               'r' => 'ρ',
-               'S' => 'Σ',
-               's' => 'σ',
-               'T' => 'Τ',
-               't' => 'τ',
-               'U' => 'Υ',
-               'u' => 'υ',
-               'W' => 'Ω',
-               'w' => 'ω',
-               'X' => 'Ξ',
-               'x' => 'ξ',
-               'Y' => 'Ψ',
-               'y' => 'ψ',
-               'Z' => 'Ζ',
-               'z' => 'ζ',
+               qw(
+                       a α  b β  d δ  e ε  f φ  g γ  h η  i ι  j θ  k κ  l λ  m μ
+                       n ν  o ο  p π  q χ  r ρ  s σ  t τ  u υ  w ω  x ξ  y ψ  z ζ
+               ),
                '*' => 'µ', # MICRO SIGN at space and double mode
        },
 );
 
 our %get;
-my $dweur = $get{map} && $get{map} eq 'dvorak';
-if ($dweur) {
+if ($get{map} and $get{map} eq 'dvorak') {
+       %info = (%info,
+               map   => 'dvorak',
+               title => 'dWEURak',
+               intro => join("\n",
+                       'Layout for <a href="https://altgr-weur.eu/" target=_blank>Western European</a> languages',
+                       'repositioned for Dvorak letters instead of original <span class=family-name>Qwerty</span>.',
+               ),
+               description => [
+                       "Dvorak for Western European languages",
+               ],
+       );
+       $info{version} .= '.1';
+
        my $dq = q{
                'z ,l .d pj yk  fq gt  r, l'
                dv hb s8  tw 8.
@@ -169,24 +156,13 @@ if ($dweur) {
        $dq{ $uc{$_} } = $uc{ $dq{$_} } for keys %dq;  # same shifted
 
        @{ $rows{''} }{keys %dq} = map { $rows{''}{$_} } values %dq;
-       $rows{S} = delete $rows{'*'};
+       %{ $rows{S} } = (%{ delete $rows{$greekc} },
+               qw( q θ  c χ   j ϑ  J ϴ  v ϖ  V ∇ ),
+       );
+       $greekc = 'S';
 }
 
-+{
-       %{ kbmodes(\%rows) },
-       mode => {
-               ''  => 'altgr-shifted ⌥',
-               '*' => 'greek mode ⌥*',
-       },
-       version => '1.0', # upstream v2.0 2021/04/12
-       title => $dweur ? 'dWEURak' : 'Western European',
-       category => 'latin/thirdparty/xorg',
-       intro => join("\n",
-               'Layout (<a href="https://altgr-weur.eu/" target=_blank>available</a> for major OSes)',
-               'to provide all accented characters commonly used',
-               'in 10 Western European languages available through one AltGr keystroke.',
-       ),
-       description => [
-               "QWERTY for Western European languages",
-       ],
-}
+$info{mode}{$greekc} = "$rows{''}{$greekc} greek prefix ⌥$greekc";
+$_ = { (map {uc} %{$_}), %{$_} } for $rows{$greekc};  # uppercase greek
+
++{ %{ kbmodes(\%rows) }, %info }