keyCode.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. var isStr = require('./isStr');
  2. var invert = require('./invert');
  3. exports = function(val) {
  4. if (isStr(val)) return codeMap[val];
  5. return nameMap[val];
  6. };
  7. var codeMap = {
  8. backspace: 8,
  9. tab: 9,
  10. enter: 13,
  11. shift: 16,
  12. ctrl: 17,
  13. alt: 18,
  14. 'pause/break': 19,
  15. 'caps lock': 20,
  16. esc: 27,
  17. space: 32,
  18. 'page up': 33,
  19. 'page down': 34,
  20. end: 35,
  21. home: 36,
  22. left: 37,
  23. up: 38,
  24. right: 39,
  25. down: 40,
  26. insert: 45,
  27. delete: 46,
  28. windows: 91,
  29. 'right windows': 92,
  30. 'windows menu': 93,
  31. 'numpad *': 106,
  32. 'numpad +': 107,
  33. 'numpad -': 109,
  34. 'numpad .': 110,
  35. 'numpad /': 111,
  36. 'num lock': 144,
  37. 'scroll lock': 145,
  38. ';': 186,
  39. '=': 187,
  40. ',': 188,
  41. '-': 189,
  42. '.': 190,
  43. '/': 191,
  44. '`': 192,
  45. '[': 219,
  46. '\\': 220,
  47. ']': 221,
  48. "'": 222
  49. };
  50. // Lower case chars
  51. for (var i = 97; i < 123; i++) codeMap[String.fromCharCode(i)] = i - 32;
  52. // Numbers
  53. for (var _i = 48; _i < 58; _i++) codeMap[_i - 48] = _i;
  54. // Function keys
  55. for (var _i2 = 1; _i2 < 13; _i2++) codeMap['f' + _i2] = _i2 + 111;
  56. // Numpad keys
  57. for (var _i3 = 0; _i3 < 10; _i3++) codeMap['numpad ' + _i3] = _i3 + 96;
  58. var nameMap = invert(codeMap);
  59. module.exports = exports;