5 use Shiar_Sheet::KeyboardChars 'kbmodes';
10 '' => 'altgr-shifted ⌥',
12 version => '1.0', # upstream v2.0 2021/04/12
13 title => 'Western European',
14 map => 'qwerty', # specific positioning
15 category => 'latin/thirdparty/xorg',
17 'Layout (<a href="https://altgr-weur.eu/" target=_blank>available</a> for major OSes)',
18 'to provide all accented characters commonly used',
19 'in 10 Western European languages available through one AltGr keystroke.',
22 "QWERTY for Western European languages",
28 '!' => "\N{COMBINING DOT ABOVE}",
29 '"' => "\N{COMBINING DIAERESIS}",
30 '#' => "\N{COMBINING MACRON}",
34 "'" => "\N{COMBINING ACUTE ACCENT}",
38 '+' => "\N{COMBINING RING ABOVE}",
39 ',' => "\N{COMBINING CEDILLA}",
49 '6' => "\N{COMBINING CIRCUMFLEX ACCENT}",
55 '<' => "\N{COMBINING OGONEK}",
58 '?' => "\N{COMBINING SHORT STROKE OVERLAY}",
59 '@' => "\N{COMBINING DOUBLE ACUTE ACCENT}",
63 '^' => "\N{COMBINING CARON}",
65 '`' => "\N{COMBINING GRAVE ACCENT}",
121 '~' => "\N{COMBINING TILDE}",
124 # dead_greek digraphs from data/xorg-compose
126 a α b β d δ e ε f φ g γ h η i ι j θ k κ l λ m μ
127 n ν o ο p π q χ r ρ s σ t τ u υ w ω x ξ y ψ z ζ
129 '*' => 'µ', # MICRO SIGN at space and double mode
134 if ($get{map} and $get{map} eq 'dvorak') {
139 'Layout for <a href="https://altgr-weur.eu/" target=_blank>Western European</a> languages',
140 'repositioned for Dvorak letters instead of original <span class=family-name>Qwerty</span>.',
143 "Dvorak for Western European languages",
146 $info{version} .= '.1';
149 'z ,l .d pj yk fq gt r, l'
151 ;s qp jr ky xm bx m; wf vh zg
153 my %dq = split //, $dq =~ s/\s//gr; # dvorak => qwerty key
155 my %uc = (qw{ ' " , < . > ; : - _ 8 * }, map {lc, uc} 'a'..'z');
156 $dq{ $uc{$_} } = $uc{ $dq{$_} } for keys %dq; # same shifted
158 @{ $rows{''} }{keys %dq} = map { $rows{''}{$_} } values %dq;
159 %{ $rows{S} } = (%{ delete $rows{$greekc} },
160 qw( q θ c χ j ϑ J ϴ v ϖ V ∇ ),
165 $info{mode}{$greekc} = "$rows{''}{$greekc} greek prefix ⌥$greekc";
166 $_ = { (map {uc} %{$_}), %{$_} } for $rows{$greekc}; # uppercase greek
168 +{ %{ kbmodes(\%rows) }, %info }