// https://w3c.github.io/uievents-code/

export enum UIEventsCode {
  // 3.1.1.1. Writing System Keys
  Backquote = "Backquote",
  Backslash = "Backslash",
  BracketLeft = "BracketLeft",
  BracketRight = "BracketRight",
  Comma = "Comma",
  Digit0 = "Digit0",
  Digit1 = "Digit1",
  Digit2 = "Digit2",
  Digit3 = "Digit3",
  Digit4 = "Digit4",
  Digit5 = "Digit5",
  Digit6 = "Digit6",
  Digit7 = "Digit7",
  Digit8 = "Digit8",
  Digit9 = "Digit9",
  Equal = "Equal",
  IntlBackslash = "IntlBackslash",
  IntlRo = "IntlRo",
  IntlYen = "IntlYen",
  KeyA = "KeyA",
  KeyB = "KeyB",
  KeyC = "KeyC",
  KeyD = "KeyD",
  KeyE = "KeyE",
  KeyF = "KeyF",
  KeyG = "KeyG",
  KeyH = "KeyH",
  KeyI = "KeyI",
  KeyJ = "KeyJ",
  KeyK = "KeyK",
  KeyL = "KeyL",
  KeyM = "KeyM",
  KeyN = "KeyN",
  KeyO = "KeyO",
  KeyP = "KeyP",
  KeyQ = "KeyQ",
  KeyR = "KeyR",
  KeyS = "KeyS",
  KeyT = "KeyT",
  KeyU = "KeyU",
  KeyV = "KeyV",
  KeyW = "KeyW",
  KeyX = "KeyX",
  KeyY = "KeyY",
  KeyZ = "KeyZ",
  Minus = "Minus",
  Period = "Period",
  Quote = "Quote",
  Semicolon = "Semicolon",
  Slash = "Slash",

  // 3.1.1.2. Functional Keys
  AltLeft = "AltLeft",
  AltRight = "AltRight",
  Backspace = "Backspace",
  CapsLock = "CapsLock",
  ContextMenu = "ContextMenu",
  ControlLeft = "ControlLeft",
  ControlRight = "ControlRight",
  Enter = "Enter",
  MetaLeft = "MetaLeft",
  MetaRight = "MetaRight",
  ShiftLeft = "ShiftLeft",
  ShiftRight = "ShiftRight",
  Space = "Space",
  Tab = "Tab",
  Convert = "Convert",
  KanaMode = "KanaMode",
  Lang1 = "Lang1",
  Lang2 = "Lang2",
  Lang3 = "Lang3",
  Lang4 = "Lang4",
  Lang5 = "Lang5",
  NonConvert = "NonConvert",

  // 3.1.2. Control Pad Section
  Delete = "Delete",
  End = "End",
  Help = "Help",
  Home = "Home",
  Insert = "Insert",
  PageDown = "PageDown",
  PageUp = "PageUp",

  // 3.1.3. Arrow Pad Section
  ArrowDown = "ArrowDown",
  ArrowLeft = "ArrowLeft",
  ArrowRight = "ArrowRight",
  ArrowUp = "ArrowUp",

  // 3.1.4. Numpad Section
  NumLock = "NumLock",
  Numpad0 = "Numpad0",
  Numpad1 = "Numpad1",
  Numpad2 = "Numpad2",
  Numpad3 = "Numpad3",
  Numpad4 = "Numpad4",
  Numpad5 = "Numpad5",
  Numpad6 = "Numpad6",
  Numpad7 = "Numpad7",
  Numpad8 = "Numpad8",
  Numpad9 = "Numpad9",
  NumpadAdd = "NumpadAdd",
  NumpadBackspace = "NumpadBackspace",
  NumpadClear = "NumpadClear",
  NumpadClearEntry = "NumpadClearEntry",
  NumpadComma = "NumpadComma",
  NumpadDecimal = "NumpadDecimal",
  NumpadDivide = "NumpadDivide",
  NumpadEnter = "NumpadEnter",
  NumpadEqual = "NumpadEqual",
  NumpadHash = "NumpadHash",
  NumpadMemoryAdd = "NumpadMemoryAdd",
  NumpadMemoryClear = "NumpadMemoryClear",
  NumpadMemoryRecall = "NumpadMemoryRecall",
  NumpadMemoryStore = "NumpadMemoryStore",
  NumpadMemorySubtract = "NumpadMemorySubtract",
  NumpadMultiply = "NumpadMultiply",
  NumpadParenLeft = "NumpadParenLeft",
  NumpadParenRight = "NumpadParenRight",
  NumpadStar = "NumpadStar",
  NumpadSubtract = "NumpadSubtract",

  // 3.1.5. Function Section
  Escape = "Escape",
  F1 = "F1",
  F2 = "F2",
  F3 = "F3",
  F4 = "F4",
  F5 = "F5",
  F6 = "F6",
  F7 = "F7",
  F8 = "F8",
  F9 = "F9",
  F10 = "F10",
  F11 = "F11",
  F12 = "F12",
  Fn = "Fn",
  FnLock = "FnLock",
  PrintScreen = "PrintScreen",
  ScrollLock = "ScrollLock",
  Pause = "Pause",

  // 3.1.6. Media Keys
  BrowserBack = "BrowserBack",
  BrowserFavorites = "BrowserFavorites",
  BrowserForward = "BrowserForward",
  BrowserHome = "BrowserHome",
  BrowserRefresh = "BrowserRefresh",
  BrowserSearch = "BrowserSearch",
  BrowserStop = "BrowserStop",
  Eject = "Eject",
  LaunchApp1 = "LaunchApp1",
  LaunchApp2 = "LaunchApp2",
  LaunchMail = "LaunchMail",
  MediaPlayPause = "MediaPlayPause",
  MediaSelect = "MediaSelect",
  MediaStop = "MediaStop",
  MediaTrackNext = "MediaTrackNext",
  MediaTrackPrevious = "MediaTrackPrevious",
  Power = "Power",
  Sleep = "Sleep",
  AudioVolumeDown = "AudioVolumeDown",
  AudioVolumeMute = "AudioVolumeMute",
  AudioVolumeUp = "AudioVolumeUp",
  WakeUp = "WakeUp",

  // 3.1.7. Legacy, Non-Standard and Special Keys
  Hyper = "Hyper",
  Super = "Super",
  Turbo = "Turbo",
  Abort = "Abort",
  Resume = "Resume",
  Suspend = "Suspend",
  Again = "Again",
  Copy = "Copy",
  Cut = "Cut",
  Find = "Find",
  Open = "Open",
  Paste = "Paste",
  Props = "Props",
  Select = "Select",
  Undo = "Undo",
  Hiragana = "Hiragana",
  Katakana = "Katakana",
  Unidentified = "Unidentified",
}
