var isStr = require('./isStr'); var invert = require('./invert'); exports = function(val) { if (isStr(val)) return codeMap[val]; return nameMap[val]; }; var codeMap = { backspace: 8, tab: 9, enter: 13, shift: 16, ctrl: 17, alt: 18, 'pause/break': 19, 'caps lock': 20, esc: 27, space: 32, 'page up': 33, 'page down': 34, end: 35, home: 36, left: 37, up: 38, right: 39, down: 40, insert: 45, delete: 46, windows: 91, 'right windows': 92, 'windows menu': 93, 'numpad *': 106, 'numpad +': 107, 'numpad -': 109, 'numpad .': 110, 'numpad /': 111, 'num lock': 144, 'scroll lock': 145, ';': 186, '=': 187, ',': 188, '-': 189, '.': 190, '/': 191, '`': 192, '[': 219, '\\': 220, ']': 221, "'": 222 }; // Lower case chars for (var i = 97; i < 123; i++) codeMap[String.fromCharCode(i)] = i - 32; // Numbers for (var _i = 48; _i < 58; _i++) codeMap[_i - 48] = _i; // Function keys for (var _i2 = 1; _i2 < 13; _i2++) codeMap['f' + _i2] = _i2 + 111; // Numpad keys for (var _i3 = 0; _i3 < 10; _i3++) codeMap['numpad ' + _i3] = _i3 + 96; var nameMap = invert(codeMap); module.exports = exports;