index: release v1.18 with only altgr index linked
[sheet.git] / keyboard / altgr / olpc.eng.inc.pl
1 use utf8;
2 use strict;
3 use warnings;
4 no warnings 'qw';
5 use Shiar_Sheet::KeyboardChars 'kbchars';
6
7 my %rows = (
8         '1' => '¡',
9         '2' => '¬',
10         '3' => "\N{COMBINING GRAVE ACCENT}",
11         '4' => "\N{COMBINING ACUTE ACCENT}",
12         '5' => "\N{COMBINING BREVE}",
13         '6' => "\N{COMBINING RING ABOVE}",
14         '7' => "\N{COMBINING CIRCUMFLEX ACCENT}",
15         '8' => "\N{COMBINING CARON}",
16         '9' => "\N{COMBINING DOT ABOVE}",
17         '0' => "\N{COMBINING DIAERESIS}",
18         '-' => "\N{COMBINING MACRON}",
19         '=' => "\N{COMBINING TILDE}",
20
21         'q' => 'ω',
22         'Q' => 'Ω',
23         'w' => 'ø',
24         'W' => 'Ø',
25         'e' => 'œ',
26         'E' => 'Œ',
27         'r' => "\N{COMBINING CEDILLA}",
28         't' => "\N{COMBINING BREVE BELOW}",
29         'y' => "\N{COMBINING RING BELOW}",
30         'u' => "\N{COMBINING CIRCUMFLEX ACCENT BELOW}",
31         'i' => "\N{COMBINING CARON BELOW}",
32         'o' => "\N{COMBINING DOT BELOW}",
33         'p' => "\N{COMBINING DIAERESIS BELOW}",
34         '[' => "\N{COMBINING MACRON BELOW}",
35         ']' => "\N{COMBINING TILDE BELOW}",
36
37         'a' => 'æ',
38         'A' => 'Æ',
39         's' => 'ß',
40         'S' => 'ẞ',
41         'd' => 'ð',
42         'D' => 'Ð',
43         'f' => 'þ',
44         'F' => 'Þ',
45         'h' => '£',
46         'j' => '€',
47         ';' => 'º',
48         ':' => 'ª',
49         "'" => '¤',
50         '\\'=> '§',
51
52         'c' => 'ç',
53         'C' => 'Ç',
54         'n' => 'ñ',
55         'N' => 'Ñ',
56         'm' => "\N{MICRO SIGN}",
57         ',' => '«',
58         '.' => '»',
59         '/' => '¿',
60 );
61
62 my %shift = (
63         qw[ ! 1  @ 2  # 3  $ 4  % 5  ^ 6  & 7  * 8  ( 9  ) 0  _ -  + = ],
64         qw( { [  } ]  " '  | \  < ,  > .  ? /  ` 3  ~ = ),
65         (map {uc, lc} qw[ r t y u i o p  h j  m  ]),
66 );
67 $rows{$_} = $rows{ $shift{$_} } for keys %shift; # alias shifted
68
69 my $groups = kbchars(\%rows);
70 $groups->{flag}{ext} = ['alias', 'identical results from unshifted key'];
71 $groups->{def}{''}{$_} .= ' ext' for keys %shift; # mark aliases
72
73 +{
74         %{ $groups },
75         version => '1.0',
76         title => 'OLPC',
77         category => 'legacy/latin/xorg',
78         intro => join("\n",
79                 "International US English developed for the OLPC project,",
80                 'providing mostly European',
81                 '<a href="/unicode">Unicode</a> characters while pressing AltGr,',
82                 'entirely different from the <a href="/keyboard/altgr/windows">Windows</a>',
83                 'or <a href="/keyboard/altgr/macos">MacOS</a> maps.',
84         ),
85         description => [
86                 "OLPC keyboard layout table",
87                 "with the AltGr modifier key:",
88                 "provides common western European letters and symbols,",
89                 "and various combining accents above and below.",
90         ],
91         image => 'data/keyboard/thumb/olpc.jpg',
92         imagealt => 'AltGr on the OLPC XO Laptop',
93         moderows => '21-1',
94 }