index: release v1.18 with only altgr index linked
[sheet.git] / keyboard / altgr / windows.eng.inc.pl
1 use utf8;
2 use strict;
3 use warnings;
4 use Shiar_Sheet::KeyboardChars 'kbchars';
5
6 my @az = ('A'..'Z', 'a'..'z');
7 my @letters = qw(
8         Á B ¢ Ð É F G H Í J Œ Ø µ Ñ Ó Ö Ä ® § Þ Ú V Å X Ü Æ
9         á b © ð é f g h í j œ ø µ ñ ó ö ä ® ß þ ú v å x ü æ
10 );
11 my %xkb = (
12         '@' => "\N{COMBINING DOUBLE ACUTE ACCENT}",
13         '#' => "\N{COMBINING MACRON}",
14         '&' => "\N{COMBINING HORN}",
15         '*' => "\N{COMBINING OGONEK}",
16         '(' => "\N{COMBINING BREVE}",
17         ')' => "\N{COMBINING RING ABOVE}",
18         '_' => "\N{COMBINING DOT BELOW}",
19         '>' => "\N{COMBINING CARON}",
20         '.' => "\N{COMBINING DOT ABOVE}",
21         '?' => "\N{COMBINING HOOK ABOVE}",
22         # 1.7~39 (2009-06-12)
23         '%' => "\N{COMBINING CEDILLA}",
24         # 2.38~16 (2023-01-13)
25         'R' => '™',
26         # 2.39~101 (2023-03-17)
27         'f' => 'ë',
28         'F' => 'Ë',
29         'j' => 'ï',
30         'J' => 'Ï',
31         # 2.39~96 (2023-03-21)
32         'M' => '±',
33         # 2.40~122 (2023-06-11)
34         'x' => '·',
35         'X' => "\N{COMBINING SHORT SOLIDUS OVERLAY}", # dead_stroke (slash ø, bar ʉ, stroke ł)
36 );
37
38 my %rows = (
39         '~' => "\N{COMBINING TILDE}",
40         '`' => "\N{COMBINING GRAVE ACCENT}",
41         '!' => '¹',
42         '1' => '¡',
43         '2' => '²',
44         '3' => '³',
45         '$' => '£',
46         '4' => '¤',
47         '5' => '€',
48         '^' => "\N{COMBINING CIRCUMFLEX ACCENT}",
49         '6' => '¼',
50         '7' => '½',
51         '8' => '¾',
52         '9' => '‘',
53         '0' => '’',
54         '-' => '¥',
55         '+' => '÷',
56         '=' => '×',
57         '{' => '“',
58         '}' => '”',
59         '[' => '«',
60         ']' => '»',
61         ':' => '°',
62         ';' => '¶',
63         "'" => "\N{COMBINING ACUTE ACCENT}",
64         '"' => "\N{COMBINING DIAERESIS}",
65         '<' => 'Ç',
66         ',' => 'ç',
67         '/' => '¿',
68         '|' => '¦',
69         '\\'=> '¬',
70         (map {
71                 ($az[$_] eq $letters[$_]) ? () :
72                 ($az[$_] => $letters[$_])
73         } 0 .. $#az),
74         %xkb,
75 );
76
77 my $groups = kbchars(\%rows);
78 $groups->{def}{''}{$_} .= ' ext' for keys %xkb;
79 $groups->{flag}{ext} = ['xkb', 'unofficial extensions added in Linux (Gnome, KDE)'];
80
81 +{
82         %{$groups},
83         title => 'Windows AltGr',
84         category => '1/latin/windows/xorg',
85         version => '1.4',
86         intro => join("\n",
87                 'Resulting <a href="/unicode">selection</a> of <a href="/charset">Unicode</a> characters',
88                 'while pressing the AltGr modifier',
89                 'with the Windows US international layout.',
90                 'Macs have <a href="/keyboard/altgr/macos">option</a> options instead.',
91         ),
92         description => [
93                 "Windows US international keyboard layout table",
94                 "with the AltGr modifier key.",
95         ],
96         image => 'data/keyboard/thumb/ku2971b-usint.jpg',
97         imagealt => 'AltGr on a KeyboardCompany KU2971B with USA International keycaps',
98 }