code: function keyEventEnum() {
    let modifiers = [
      '', 'CTRL_', 'ALT_', 'SHIFT_', 'CTRL_ALT_', 'CTRL_SHIFT_', 'ALT_SHIFT_',
      'CTRL_ALT_SHIFT_',
    ];
    let charKeys = [
      'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
      'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
      '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
    ];
    let specialKeys = [
      'SPACE', 'RETURN', 'TAB', 'BACKSPACE', 'ESCAPE',
      'INSERT', 'DELETE', 'HOME', 'END', 'PAGEUP', 'PAGEDOWN',
      'F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'F10', 'F11', 'F12',
    ];
    let symbolKeys = [
      'AMPERSAND', 'ASTERISK', 'AT', 'BACKSLASH', 'CARET', 'COLON', 'DOLLAR',
      'EQUALS', 'EXCLAIM', 'GREATER', 'HASH', 'LESS', 'PERCENT', 'PLUS',
      'SEMICOLON', 'SLASH', 'QUESTION', 'QUOTE',
      'QUOTEDBL', 'UNDERSCORE', 'LEFTPAREN', 'RIGHTPAREN',
      'LEFTBRACKET', 'RIGHTBRACKET', 'LEFTBRACE', 'RIGHTBRACE',
    ];
    let arrowKeys = [
      'LEFT', 'RIGHT', 'UP', 'DOWN',
    ];
    let keys = charKeys.concat(specialKeys).concat(symbolKeys).concat(arrowKeys);
  
    let eventNames = [];
    for (let modifier of modifiers) {
      for (let key of keys) {
        eventNames.push('K_' + modifier + key);
      }
    }
    return eventNames;
  }
docs: /* Enumeration of all the constructors of the Event type, including
  INIT and TIMEOUT.