1 /** 2 Copyright: Copyright (c) 2015-2017 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 }