my %xkb = (
'@' => "\N{COMBINING DOUBLE ACUTE ACCENT}",
'#' => "\N{COMBINING MACRON}",
- '%' => "\N{COMBINING CEDILLA}",
'&' => "\N{COMBINING HORN}",
'*' => "\N{COMBINING OGONEK}",
'(' => "\N{COMBINING BREVE}",
'>' => "\N{COMBINING CARON}",
'.' => "\N{COMBINING DOT ABOVE}",
'?' => "\N{COMBINING HOOK ABOVE}",
+ # 1.7~39 (2009-06-12)
+ '%' => "\N{COMBINING CEDILLA}",
+ # 2.38~16 (2023-01-13)
+ 'R' => '™',
+ # 2.39~101 (2023-03-17)
+ 'f' => 'ë',
+ 'F' => 'Ë',
+ 'j' => 'ï',
+ 'J' => 'Ï',
+ # 2.39~96 (2023-03-21)
+ 'M' => '±',
+ # 2.40~122 (2023-06-11)
+ 'x' => '·',
+ 'X' => "\N{COMBINING SHORT SOLIDUS OVERLAY}", # dead_stroke (slash ø, bar ʉ, stroke ł)
);
my %rows = (
'/' => '¿',
'|' => '¦',
'\\'=> '¬',
- %xkb,
- map {
+ (map {
($az[$_] eq $letters[$_]) ? () :
($az[$_] => $letters[$_])
- } 0 .. $#az
+ } 0 .. $#az),
+ %xkb,
);
my $groups = kbchars(\%rows);
-$groups->{def}{''}{$_} .= ' ext' for keys %xkb;
+$groups->{def}{''}{$_}[0] .= ' ext' for keys %xkb;
$groups->{flag}{ext} = ['xkb', 'unofficial extensions added in Linux (Gnome, KDE)'];
+{
%{$groups},
title => 'Windows AltGr',
+ category => '1/latin/windows/xorg',
version => '1.4',
intro => join("\n",
'Resulting <a href="/unicode">selection</a> of <a href="/charset">Unicode</a> characters',
"with the AltGr modifier key.",
],
image => 'data/keyboard/thumb/ku2971b-usint.jpg',
+ imagealt => 'AltGr on a KeyboardCompany KU2971B with USA International keycaps',
}