You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							121 lines
						
					
					
						
							2.7 KiB
						
					
					
				
			
		
		
	
	
							121 lines
						
					
					
						
							2.7 KiB
						
					
					
				export 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: "'"
 | 
						|
}
 | 
						|
 | 
						|
export 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 chrome = typeof navigator != "undefined" && /Chrome\/(\d+)/.exec(navigator.userAgent)
 | 
						|
var gecko = typeof navigator != "undefined" && /Gecko\/\d+/.test(navigator.userAgent)
 | 
						|
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)
 | 
						|
var brokenModifierNames = mac || chrome && +chrome[1] < 57
 | 
						|
 | 
						|
// 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]
 | 
						|
 | 
						|
export function keyName(event) {
 | 
						|
  var ignoreKey = brokenModifierNames && (event.ctrlKey || event.altKey || event.metaKey) ||
 | 
						|
    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
 | 
						|
}
 |