keyboard/altgr/windows: add optional xorg extensions
[sheet.git] / keyboard / altgr / windows.eng.inc.pl
1 use utf8;
2 use strict;
3 use warnings;
4
5 my @az = ('A'..'Z', 'a'..'z');
6 my @letters = qw(
7         Á B ¢ Ð É F G H Í J Œ Ø µ Ñ Ó Ö Ä ® § Þ Ú V Å X Ü Æ
8         á b © ð é f g h í j œ ø µ ñ ó ö ä ® ß þ ú v å x ü æ
9 );
10 my %xkb = (
11         '@' => "\N{COMBINING DOUBLE ACUTE ACCENT}",
12         '#' => "\N{COMBINING MACRON}",
13         '%' => "\N{COMBINING CEDILLA}",
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 );
23
24 our %rows = (
25         '~' => "\N{COMBINING TILDE}",
26         '`' => "\N{COMBINING GRAVE ACCENT}",
27         '!' => '¹',
28         '1' => '¡',
29         '2' => '²',
30         '3' => '³',
31         '$' => '£',
32         '4' => '¤',
33         '5' => '€',
34         '^' => "\N{COMBINING CIRCUMFLEX ACCENT}",
35         '6' => '¼',
36         '7' => '½',
37         '8' => '¾',
38         '9' => '‘',
39         '0' => '’',
40         '-' => '¥',
41         '+' => '÷',
42         '=' => '×',
43         '{' => '“',
44         '}' => '”',
45         '[' => '«',
46         ']' => '»',
47         ':' => '°',
48         ';' => '¶',
49         "'" => "\N{COMBINING ACUTE ACCENT}",
50         '"' => "\N{COMBINING DIAERESIS}",
51         '<' => 'Ç',
52         ',' => 'ç',
53         '/' => '¿',
54         '|' => '¦',
55         '\\'=> '¬',
56         %xkb,
57         map {
58                 ($az[$_] eq $letters[$_]) ? () :
59                 ($az[$_] => $letters[$_])
60         } 0 .. $#az
61 );
62
63 my $groups = do 'keyboard/altgr/groups.inc.pl';
64 $groups->{def}{''}{$_} .= ' ext' for keys %xkb;
65 $groups->{flag}{ext} = ['xkb', 'unofficial extensions added in Linux (Gnome, KDE)'];
66
67 +{
68         %{$groups},
69         title => 'Windows AltGr',
70         version => '1.4',
71         intro => join("\n",
72                 'Resulting <a href="/unicode">selection</a> of <a href="/charset">Unicode</a> characters',
73                 'while pressing the AltGr modifier',
74                 'with the Windows US international layout.',
75                 'Macs have <a href="/keyboard/altgr/macos">option</a> options instead.',
76         ),
77         description => [
78                 "Windows US international keyboard layout table",
79                 "with the AltGr modifier key.",
80         ],
81         image => 'keyboard/altgr/ku2971b-usint.jpg',
82 }