code: function keyName(event) {
      if (event.type == "keypress") return "'" + String.fromCharCode(event.charCode) + "'"
  
      var base = keyNames[event.keyCode], name = base
      if (name == null || event.altGraphKey) return null
  
      if (event.altKey && base != "Alt") name = "Alt-" + name
      if (event.ctrlKey && base != "Ctrl") name = "Ctrl-" + name
      if (event.metaKey && base != "Cmd") name = "Cmd-" + name
      if (event.shiftKey && base != "Shift") name = "Shift-" + name
      return name
    }
docs: :: (KeyboardEvent) → ?string Find a name for the given keydown event. If the keycode in the event is not known, this will return `null`. Otherwise, it will return a string like `"Shift-Cmd-Ctrl-Alt-Home"`. The parts before the dashes give the modifiers (always in that order, if present), and the last word gives the key name, which one of the names in `keyNames`.  The convention for keypress events is to use the pressed character between single quotes. Due to limitations in the browser API, keypress events can not have modifiers.