123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- 'use strict';
- Object.defineProperty(exports, '__esModule', { value: true });
- var base = {
- 8: "Backspace",
- 9: "Tab",
- 10: "Enter",
- 12: "NumLock",
- 13: "Enter",
- 16: "Shift",
- 17: "Control",
- 18: "Alt",
- 20: "CapsLock",
- 27: "Escape",
- 32: " ",
- 33: "PageUp",
- 34: "PageDown",
- 35: "End",
- 36: "Home",
- 37: "ArrowLeft",
- 38: "ArrowUp",
- 39: "ArrowRight",
- 40: "ArrowDown",
- 44: "PrintScreen",
- 45: "Insert",
- 46: "Delete",
- 59: ";",
- 61: "=",
- 91: "Meta",
- 92: "Meta",
- 106: "*",
- 107: "+",
- 108: ",",
- 109: "-",
- 110: ".",
- 111: "/",
- 144: "NumLock",
- 145: "ScrollLock",
- 160: "Shift",
- 161: "Shift",
- 162: "Control",
- 163: "Control",
- 164: "Alt",
- 165: "Alt",
- 173: "-",
- 186: ";",
- 187: "=",
- 188: ",",
- 189: "-",
- 190: ".",
- 191: "/",
- 192: "`",
- 219: "[",
- 220: "\\",
- 221: "]",
- 222: "'"
- };
- var shift = {
- 48: ")",
- 49: "!",
- 50: "@",
- 51: "#",
- 52: "$",
- 53: "%",
- 54: "^",
- 55: "&",
- 56: "*",
- 57: "(",
- 59: ":",
- 61: "+",
- 173: "_",
- 186: ":",
- 187: "+",
- 188: "<",
- 189: "_",
- 190: ">",
- 191: "?",
- 192: "~",
- 219: "{",
- 220: "|",
- 221: "}",
- 222: "\""
- };
- var mac = typeof navigator != "undefined" && /Mac/.test(navigator.platform);
- var ie = typeof navigator != "undefined" && /MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);
- // Fill in the digit keys
- for (var i = 0; i < 10; i++) base[48 + i] = base[96 + i] = String(i);
- // The function keys
- for (var i = 1; i <= 24; i++) base[i + 111] = "F" + i;
- // And the alphabetic keys
- for (var i = 65; i <= 90; i++) {
- base[i] = String.fromCharCode(i + 32);
- shift[i] = String.fromCharCode(i);
- }
- // For each code that doesn't have a shift-equivalent, copy the base name
- for (var code in base) if (!shift.hasOwnProperty(code)) shift[code] = base[code];
- function keyName(event) {
- // On macOS, keys held with Shift and Cmd don't reflect the effect of Shift in `.key`.
- // On IE, shift effect is never included in `.key`.
- var ignoreKey = mac && event.metaKey && event.shiftKey && !event.ctrlKey && !event.altKey ||
- ie && event.shiftKey && event.key && event.key.length == 1 ||
- event.key == "Unidentified";
- var name = (!ignoreKey && event.key) ||
- (event.shiftKey ? shift : base)[event.keyCode] ||
- event.key || "Unidentified";
- // Edge sometimes produces wrong names (Issue #3)
- if (name == "Esc") name = "Escape";
- if (name == "Del") name = "Delete";
- // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8860571/
- if (name == "Left") name = "ArrowLeft";
- if (name == "Up") name = "ArrowUp";
- if (name == "Right") name = "ArrowRight";
- if (name == "Down") name = "ArrowDown";
- return name
- }
- exports.base = base;
- exports.keyName = keyName;
- exports.shift = shift;
|