keycode.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. export {keyCode, toKey, toKeyCode, keys};
  2. const keyCode = {
  3. "Backspace": 8,
  4. "BACKSPACE_SAFARI": 127,
  5. "Delete": 46,
  6. "Down": 40,
  7. "End": 35,
  8. "Enter": 13,
  9. "Escape": 27,
  10. "Home": 36,
  11. "Insert": 45,
  12. "Left": 37,
  13. "PageDown": 34,
  14. "PageUp": 33,
  15. "Right": 39,
  16. "Space": 32,
  17. "Tab": 9,
  18. "Up": 38,
  19. "c": 67,
  20. "x": 88,
  21. "z": 90,
  22. "Shift": 16,
  23. "Control": 17,
  24. "Alt": 18,
  25. "Pause": 19,
  26. "Meta_LEFT": 91,
  27. "Meta_RIGHT": 92,
  28. "ContextMenu": 93,
  29. "KEY_229": 229,
  30. "F1": 112,
  31. "F2": 113,
  32. "F3": 114,
  33. "F4": 115,
  34. "F5": 116,
  35. "F6": 117,
  36. "F7": 118,
  37. "F8": 119,
  38. "F9": 120,
  39. "F10": 121,
  40. "F11": 122,
  41. "F12": 123
  42. };
  43. const keyCodeRev = Object.entries(keyCode).reduce((acc, [key, value]) => (acc[value] = key, acc), {});
  44. const keys = Object.entries(keyCode).reduce((acc, [key, value]) => (acc[key] = key, acc), {});
  45. function toKey(keyCode, shiftKey) {
  46. return keyCodeRev[keyCode] || (shiftKey ? String.fromCharCode(keyCode) : String.fromCharCode(keyCode).toLowerCase());
  47. }
  48. function toKeyCode(key) {
  49. return keyCode[key];
  50. }