1 /**
2 Copyright: Copyright (c) 2015-2016 Andrey Penechko.
3 License: $(WEB boost.org/LICENSE_1_0.txt, Boost License 1.0).
4 Authors: Andrey Penechko.
5 */
6 
7 module voxelman.utils.keynamemap;
8 
9 uint[string] stringToKeyMap;
10 string[uint] keyToStringMap;
11 
12 shared static this()
13 {
14 stringToKeyMap = [
15 	"mb_left" : 0,
16 	"mb_right" : 1,
17 	"mb_middle" : 2,
18 	"mb_1" : 0,
19 	"mb_2" : 1,
20 	"mb_3" : 2,
21 	"mb_4" : 3,
22 	"mb_5" : 4,
23 	"mb_6" : 5,
24 	"mb_7" : 6,
25 	"mb_8" : 7,
26 
27 	"space" : 32,
28 	"apostrophe" : 39,
29 	"comma" : 44,
30 	"minus" : 45,
31 	"period" : 46,
32 	"slash" : 47,
33 	"0" : 48,
34 	"1" : 49,
35 	"2" : 50,
36 	"3" : 51,
37 	"4" : 52,
38 	"5" : 53,
39 	"6" : 54,
40 	"7" : 55,
41 	"8" : 56,
42 	"9" : 57,
43 	"semicolon" : 59,
44 	"equal" : 61,
45 	"a" : 65,
46 	"b" : 66,
47 	"c" : 67,
48 	"d" : 68,
49 	"e" : 69,
50 	"f" : 70,
51 	"g" : 71,
52 	"h" : 72,
53 	"i" : 73,
54 	"j" : 74,
55 	"k" : 75,
56 	"l" : 76,
57 	"m" : 77,
58 	"n" : 78,
59 	"o" : 79,
60 	"p" : 80,
61 	"q" : 81,
62 	"r" : 82,
63 	"s" : 83,
64 	"t" : 84,
65 	"u" : 85,
66 	"v" : 86,
67 	"w" : 87,
68 	"x" : 88,
69 	"y" : 89,
70 	"z" : 90,
71 	"left_bracket" : 91,
72 	"backslash" : 92,
73 	"right_bracket" : 93,
74 	"grave_accent" : 96,
75 	"world_1" : 161,
76 	"world_2" : 162,
77 
78 	"escape" : 256,
79 	"enter" : 257,
80 	"tab" : 258,
81 	"backspace" : 259,
82 	"insert" : 260,
83 	"delete" : 261,
84 	"right" : 262,
85 	"left" : 263,
86 	"down" : 264,
87 	"up" : 265,
88 	"page_up" : 266,
89 	"page_down" : 267,
90 	"home" : 268,
91 	"end" : 269,
92 	"caps_lock" : 280,
93 	"scroll_lock" : 281,
94 	"num_lock" : 282,
95 	"print_screen" : 283,
96 	"pause" : 284,
97 	"f1" : 290,
98 	"f2" : 291,
99 	"f3" : 292,
100 	"f4" : 293,
101 	"f5" : 294,
102 	"f6" : 295,
103 	"f7" : 296,
104 	"f8" : 297,
105 	"f9" : 298,
106 	"f10" : 299,
107 	"f11" : 300,
108 	"f12" : 301,
109 	"f13" : 302,
110 	"f14" : 303,
111 	"f15" : 304,
112 	"f16" : 305,
113 	"f17" : 306,
114 	"f18" : 307,
115 	"f19" : 308,
116 	"f20" : 309,
117 	"f21" : 310,
118 	"f22" : 311,
119 	"f23" : 312,
120 	"f24" : 313,
121 	"f25" : 314,
122 	"kp_0" : 320,
123 	"kp_1" : 321,
124 	"kp_2" : 322,
125 	"kp_3" : 323,
126 	"kp_4" : 324,
127 	"kp_5" : 325,
128 	"kp_6" : 326,
129 	"kp_7" : 327,
130 	"kp_8" : 328,
131 	"kp_9" : 329,
132 	"kp_decimal" : 330,
133 	"kp_divide" : 331,
134 	"kp_multiply" : 332,
135 	"kp_subtract" : 333,
136 	"kp_add" : 334,
137 	"kp_enter" : 335,
138 	"kp_equal" : 336,
139 	"left_shift" : 340,
140 	"left_control" : 341,
141 	"left_alt" : 342,
142 	"left_super" : 343,
143 	"right_shift" : 344,
144 	"right_control" : 345,
145 	"right_alt" : 346,
146 	"right_super" : 347,
147 	"menu" : 348,
148 ];
149 
150 keyToStringMap = [
151 	0 : "mb_left",
152 	1 : "mb_right",
153 	2 : "mb_middle",
154 	0 : "mb_1",
155 	1 : "mb_2",
156 	2 : "mb_3",
157 	3 : "mb_4",
158 	4 : "mb_5",
159 	5 : "mb_6",
160 	6 : "mb_7",
161 	7 : "mb_8",
162 
163 	32 : "space",
164 	39 : "apostrophe",
165 	44 : "comma",
166 	45 : "minus",
167 	46 : "period",
168 	47 : "slash",
169 	48 : "0",
170 	49 : "1",
171 	50 : "2",
172 	51 : "3",
173 	52 : "4",
174 	53 : "5",
175 	54 : "6",
176 	55 : "7",
177 	56 : "8",
178 	57 : "9",
179 	59 : "semicolon",
180 	61 : "equal",
181 	65 : "a",
182 	66 : "b",
183 	67 : "c",
184 	68 : "d",
185 	69 : "e",
186 	70 : "f",
187 	71 : "g",
188 	72 : "h",
189 	73 : "i",
190 	74 : "j",
191 	75 : "k",
192 	76 : "l",
193 	77 : "m",
194 	78 : "n",
195 	79 : "o",
196 	80 : "p",
197 	81 : "q",
198 	82 : "r",
199 	83 : "s",
200 	84 : "t",
201 	85 : "u",
202 	86 : "v",
203 	87 : "w",
204 	88 : "x",
205 	89 : "y",
206 	90 : "z",
207 	91 : "left_bracket",
208 	92 : "backslash",
209 	93 : "right_bracket",
210 	96 : "grave_accent",
211 	161 : "world_1",
212 	162 : "world_2",
213 
214 	256 : "escape",
215 	257 : "enter",
216 	258 : "tab",
217 	259 : "backspace",
218 	260 : "insert",
219 	261 : "delete",
220 	262 : "right",
221 	263 : "left",
222 	264 : "down",
223 	265 : "up",
224 	266 : "page_up",
225 	267 : "page_down",
226 	268 : "home",
227 	269 : "end",
228 	280 : "caps_lock",
229 	281 : "scroll_lock",
230 	282 : "num_lock",
231 	283 : "print_screen",
232 	284 : "pause",
233 	290 : "f1",
234 	291 : "f2",
235 	292 : "f3",
236 	293 : "f4",
237 	294 : "f5",
238 	295 : "f6",
239 	296 : "f7",
240 	297 : "f8",
241 	298 : "f9",
242 	299 : "f10",
243 	300 : "f11",
244 	301 : "f12",
245 	302 : "f13",
246 	303 : "f14",
247 	304 : "f15",
248 	305 : "f16",
249 	306 : "f17",
250 	307 : "f18",
251 	308 : "f19",
252 	309 : "f20",
253 	310 : "f21",
254 	311 : "f22",
255 	312 : "f23",
256 	313 : "f24",
257 	314 : "f25",
258 	320 : "kp_0",
259 	321 : "kp_1",
260 	322 : "kp_2",
261 	323 : "kp_3",
262 	324 : "kp_4",
263 	325 : "kp_5",
264 	326 : "kp_6",
265 	327 : "kp_7",
266 	328 : "kp_8",
267 	329 : "kp_9",
268 	330 : "kp_decimal",
269 	331 : "kp_divide",
270 	332 : "kp_multiply",
271 	333 : "kp_subtract",
272 	334 : "kp_add",
273 	335 : "kp_enter",
274 	336 : "kp_equal",
275 	340 : "left_shift",
276 	341 : "left_control",
277 	342 : "left_alt",
278 	343 : "left_super",
279 	344 : "right_shift",
280 	345 : "right_control",
281 	346 : "right_alt",
282 	347 : "right_super",
283 	348 : "menu",
284 ];
285 }