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}",
},
'*' => {
# 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.
$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 prefix ⌥*',
- },
- 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 }