5 use Shiar_Sheet::KeyboardChars 'kbmodes';
9 '!' => "\N{COMBINING DOT ABOVE}",
10 '"' => "\N{COMBINING DIAERESIS}",
11 '#' => "\N{COMBINING MACRON}",
15 "'" => "\N{COMBINING ACUTE ACCENT}",
19 '+' => "\N{COMBINING RING ABOVE}",
20 ',' => "\N{COMBINING CEDILLA}",
30 '6' => "\N{COMBINING CIRCUMFLEX ACCENT}",
36 '<' => "\N{COMBINING OGONEK}",
39 '?' => "\N{COMBINING SHORT STROKE OVERLAY}",
40 '@' => "\N{COMBINING DOUBLE ACUTE ACCENT}",
44 '^' => "\N{COMBINING CARON}",
46 '`' => "\N{COMBINING GRAVE ACCENT}",
102 '~' => "\N{COMBINING TILDE}",
105 # dead_greek digraphs from data/xorg-compose
154 '*' => 'µ', # MICRO SIGN at space and double mode
159 my $dweur = $get{map} && $get{map} eq 'dvorak';
162 'z ,l .d pj yk fq gt r, l'
164 ;s qp jr ky xm bx m; wf vh zg
166 my %dq = split //, $dq =~ s/\s//gr; # dvorak => qwerty key
168 my %uc = (qw{ ' " , < . > ; : - _ 8 * }, map {lc, uc} 'a'..'z');
169 $dq{ $uc{$_} } = $uc{ $dq{$_} } for keys %dq; # same shifted
171 @{ $rows{''} }{keys %dq} = map { $rows{''}{$_} } values %dq;
172 $rows{S} = delete $rows{'*'};
176 %{ kbmodes(\%rows) },
178 '' => 'altgr-shifted ⌥',
179 '*' => 'μ greek prefix ⌥*',
181 version => '1.0', # upstream v2.0 2021/04/12
182 title => $dweur ? 'dWEURak' : 'Western European',
183 category => 'latin/thirdparty/xorg',
185 'Layout (<a href="https://altgr-weur.eu/" target=_blank>available</a> for major OSes)',
186 'to provide all accented characters commonly used',
187 'in 10 Western European languages available through one AltGr keystroke.',
190 "QWERTY for Western European languages",