charset: silence perl warning on ascii range check
[sheet.git] / keyboard / altgr / im.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 %literal = (
8         'a' => "๐Ÿ˜‡\nAngel",
9         'b' => "๐Ÿบ\nBeer mug",
10         'c' => "โ˜•\nCoffee Cup",
11         'd' => "๐Ÿธ\nDrink",
12         'e' => "๐Ÿ“ง\nE-mail",
13         'f' => "๐ŸŒน\nFlower",
14         'g' => "๐ŸŽ\nGift",
15         'h' => "๐Ÿ˜Ž\nHot",
16         'i' => "๐Ÿ’ก\nIlluminating Idea",
17         'k' => "๐Ÿ’‹\nKiss",
18         'l' => "โค๏ธ\nLove heart",
19         'm' => "๐Ÿ‘ฅ\nMSN Messenger icon",
20         'n' => "๐Ÿ‘Ž\nNo, thumbs down",
21         'o' => "โฐ\nO' clock",
22         'p' => "๐Ÿ“ท\nPhoto camera",
23         's' => "๐ŸŒœ\nSleeping half-moon", # no lowercase?
24         't' => "๐Ÿ“ž\nTelephone receiver",
25         'u' => "๐Ÿ’”\nUn-heart",
26         'w' => "๐Ÿฅ€\nWilted rose",
27         'x' => "๐Ÿ‘ง\ngirl",
28         'y' => "๐Ÿ‘\nYes, thumbs up",
29         'z' => "๐Ÿ‘ฆ\nboy",
30         '~' => "๐ŸŽฅ\nfilmstrip",
31         '@' => "๐Ÿฑ\ncat face",
32         '6' => "๐Ÿ˜ˆ\n666 devil",
33         '^' => "๐ŸŽ‚\nbirthday cake",
34         '&' => "๐Ÿถ\ndog face",
35         '8' => "โ™ช\n8th note",
36         '*' => "โ˜†\nstar",
37         '{' => "๐Ÿค—\nleft hug", # hugging face
38         '}' => "๐Ÿซ‚\nright hug", # people hugging
39 );
40 $literal{$_} .= " (\u$_)" for keys %literal;
41 $_ = ['g2', $_] for values %literal;
42
43 my %more = (
44         'D' => ['g4', "๐Ÿ˜ƒ\nopen-mouthed :-D"],
45         'O' => ['g4', "๐Ÿ˜ฒ\nsurprised :-O"],
46         'P' => ['g4', "๐Ÿ˜œ\ntongue out :-P"],
47         'S' => ['g4', "๐Ÿ˜–\nconfused :-S"],
48         'Z' => ['g5', "๐Ÿ˜ฉ\nsleepy |-)"],
49         '(' => ['g4', "โ˜น\nsad :-("],
50         ')' => ['g4', "โ˜บ\nhappy :-)"],
51         '[' => ['g4', "๐Ÿฆ‡\nbat :-["],
52         '<' => ['g4', "๐Ÿฅณ\nparty <:o)"],
53         '\\'=> ['g5', "๐Ÿ˜ž\ndisappointed :-|"],
54         "'" => ['g4', "๐Ÿ˜ญ\ncrying :'("],
55         ';' => ['g4', "๐Ÿ˜‰\nwinking ;-)"],
56         '@' => ['g4', "๐Ÿ˜ \nangry :-@"],
57         '#' => ['g4', "๐Ÿค\ndon't tell :-#"],
58         '$' => ['g4', "๐Ÿ˜ณ\nembarrased :-\$"],
59         '+' => ['g4', "๐Ÿคข\nsick +o("],
60         #'^' => ['g4', "๐Ÿคจ\nsarcastic ^o)"],
61         #'*' => ['g5', "๐Ÿ˜”\nthinking *-)"],
62
63         'j' => ['g5', "โ˜‚\numbrella lookalike (um)"],
64         '0' => ['g5', "โšฝ\nsoccer ball (so)"],
65         '>' => ['g5', "๐Ÿ•\npizza slice (pi)"],
66         'I' => ['g5', "๐Ÿ\nisland with palm tree (ip)"],
67         'C' => ['g5', "๐Ÿ’ป \ndesktop computer (co)"],
68         '3' => ['g5', "๐Ÿฑ\n:3 cat face (@)"],
69         'T' => ['g5', "โ›ˆ๏ธ\nsTormy cloud (st)"],
70         #'B' => ['g5', "๐Ÿ‘\nsheep (bah)"],
71         #'@' => ['g5', "๐ŸŒ\nsnail (sn)"],
72         #'M' => ['g5', "๐Ÿ’ฐ\nmoney (mo)"],
73         '9' => ['g5', "๐Ÿœ\nbowl (||)"],
74
75         # gmail character
76         'M' => ['g6', "๐Ÿค˜\n\\m/"],
77         'v' => ['g6', "๐Ÿ’ฉ\npoo ~@~"],
78         ']' => ['g6', "๐Ÿค–\nrobot [:|]"],
79         '{' => ['g6', "๐Ÿฅธ\nmustache :{"],
80         'X' => ['g6', "๐Ÿ˜˜\nkiss :-x"],
81         ':' => ['g6', "๐Ÿท\npig :(:)"],
82         'V' => ['g6', "๐Ÿฆ€\ncrab V.v.V"],
83         '|' => ['g5', "๐Ÿ˜\nstraight :-|"],
84         '%' => ['g6', "โ˜ฏ\nyin-yang (%)"],
85
86         # popular
87         '"' => ['g7', "๐Ÿ˜‚\ntears of joy '^^'"],
88         '/' => ['g7', "๐Ÿคฃ\nrofl"],
89         '5' => ['g7', "๐Ÿ™\nhigh 5 or folded hands"],
90         ',' => ['g7', "๐ŸŽ‰\nparty popper"],
91         'L' => ['g7', "๐Ÿ˜\nLove eyes"],
92         'F' => ['g7', "๐Ÿ”ฅ\nFire"],
93         '`' => ['g7', "โœจ\nsparkles"],
94         '=' => ['g7', "๐Ÿ‘\nclap"],
95         '2' => ['g7', "โœŒ๏ธ\n2 fingers"],
96         'E' => ['g7', "๐Ÿ™ˆ\nsee no Evil monkey"],
97         'B' => ['g7', "๐Ÿป\nBeer mugs"],
98         '!' => ['g7', "๐Ÿ†\neggplant!"],
99 );
100
101 my %rows = (%literal, %more);
102
103 +{
104         version => '1.1',
105         title => 'MessengerMoji',
106         category => 'specialized',
107         intro => join($/,
108                 'Single key access to emoji shorthands',
109                 'from the legacy <a href="/emoji#msn">MSN</a> app.',
110         ),
111
112         tableclass => 'keys big',
113         rows => [1, 0],
114         def => {'' => \%rows},
115         flag => {
116                 g2 => ['literal', "exact (X) letter equivalent"],
117                 g4 => ['part', "significant character in the original code"],
118                 g5 => ['moved', "included by a different mnemonic"],
119                 g6 => ['foreign', "copied from a contemporary Gmail smiley"],
120                 g7 => ['unicode', "popular modern character introduced later"],
121         },
122 }