keyboard/altgr: prefix categories to prioritise index order
[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 CEDILLA}",
15         '&' => "\N{COMBINING HORN}",
16         '*' => "\N{COMBINING OGONEK}",
17         '(' => "\N{COMBINING BREVE}",
18         ')' => "\N{COMBINING RING ABOVE}",
19         '_' => "\N{COMBINING DOT BELOW}",
20         '>' => "\N{COMBINING CARON}",
21         '.' => "\N{COMBINING DOT ABOVE}",
22         '?' => "\N{COMBINING HOOK ABOVE}",
23 );
24
25 my %rows = (
26         '~' => "\N{COMBINING TILDE}",
27         '`' => "\N{COMBINING GRAVE ACCENT}",
28         '!' => '¹',
29         '1' => '¡',
30         '2' => '²',
31         '3' => '³',
32         '$' => '£',
33         '4' => '¤',
34         '5' => '€',
35         '^' => "\N{COMBINING CIRCUMFLEX ACCENT}",
36         '6' => '¼',
37         '7' => '½',
38         '8' => '¾',
39         '9' => '‘',
40         '0' => '’',
41         '-' => '¥',
42         '+' => '÷',
43         '=' => '×',
44         '{' => '“',
45         '}' => '”',
46         '[' => '«',
47         ']' => '»',
48         ':' => '°',
49         ';' => '¶',
50         "'" => "\N{COMBINING ACUTE ACCENT}",
51         '"' => "\N{COMBINING DIAERESIS}",
52         '<' => 'Ç',
53         ',' => 'ç',
54         '/' => '¿',
55         '|' => '¦',
56         '\\'=> '¬',
57         %xkb,
58         map {
59                 ($az[$_] eq $letters[$_]) ? () :
60                 ($az[$_] => $letters[$_])
61         } 0 .. $#az
62 );
63
64 my $groups = kbchars(\%rows);
65 $groups->{def}{''}{$_} .= ' ext' for keys %xkb;
66 $groups->{flag}{ext} = ['xkb', 'unofficial extensions added in Linux (Gnome, KDE)'];
67
68 +{
69         %{$groups},
70         title => 'Windows AltGr',
71         category => '1/latin/windows/xorg',
72         version => '1.4',
73         intro => join("\n",
74                 'Resulting <a href="/unicode">selection</a> of <a href="/charset">Unicode</a> characters',
75                 'while pressing the AltGr modifier',
76                 'with the Windows US international layout.',
77                 'Macs have <a href="/keyboard/altgr/macos">option</a> options instead.',
78         ),
79         description => [
80                 "Windows US international keyboard layout table",
81                 "with the AltGr modifier key.",
82         ],
83         image => 'data/keyboard/thumb/ku2971b-usint.jpg',
84         imagealt => 'AltGr on a KeyboardCompany KU2971B with USA International keycaps',
85 }