/*
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 */

enum vkKeyCodes {
  VK_LBUTTON = 0x01, // Left mouse button 

  VK_RBUTTON = 0x02, // Right mouse button

  VK_CANCEL = 0x03, // Control-break processing

  VK_MBUTTON = 0x04, // Middle mouse button (three-button mouse)

  VK_XBUTTON1 = 0x05, // X1 mouse button

  VK_XBUTTON2 = 0x06, // X2 mouse button

  VK_BACK = 0x08, // BACKSPACE key

  VK_TAB = 0x09, // TAB key

  VK_CLEAR = 0x0C, // CLEAR key

  VK_RETURN = 0x0D, // ENTER key

  VK_SHIFT = 0x10, // SHIFT key

  VK_CONTROL = 0x11, // CTRL key

  VK_MENU = 0x12, // ALT key

  VK_PAUSE = 0x13, // PAUSE key

  VK_CAPITAL = 0x14, // CAPS LOCK key

  VK_KANA = 0x15, // IME Kana mode

  VK_HANGUEL = 0x15, // IME Hanguel mode (maintained for compatibility, use VK_HANGUL) = ,
  VK_HANGUL = 0x15, // IME Hangul mode


  VK_JUNJA = 0x17, // IME Junja mode

  VK_FINAL = 0x18, // IME final mode

  VK_HANJA = 0x19, // IME Hanja mode

  VK_KANJI = 0x19, // IME Kanji mode


  VK_ESCAPE = 0x1B, // ESC key

  VK_CONVERT = 0x1C, // IME convert

  VK_NONCONVERT = 0x1D, // IME nonconvert

  VK_ACCEPT = 0x1E, // IME accept

  VK_MODECHANGE = 0x1F, // IME mode change request

  VK_SPACE = 0x20, // SPACEBAR

  VK_PRIOR = 0x21, // PAGE UP key

  VK_NEXT = 0x22, // PAGE DOWN key

  VK_END = 0x23, // END key

  VK_HOME = 0x24, // HOME key

  VK_LEFT = 0x25, // LEFT ARROW key

  VK_UP = 0x26, // UP ARROW key

  VK_RIGHT = 0x27, // RIGHT ARROW key

  VK_DOWN = 0x28, // DOWN ARROW key

  VK_SELECT = 0x29, // SELECT key

  VK_PRINT = 0x2A, // PRINT key

  VK_EXECUTE = 0x2B, // EXECUTE key

  VK_SNAPSHOT = 0x2C, // PRINT SCREEN key

  VK_INSERT = 0x2D, // INS key

  VK_DELETE = 0x2E, // DEL key

  VK_HELP = 0x2F, // HELP key

  VK_0 = 0x30,

  VK_1 = 0x31,

  VK_2 = 0x32,

  VK_3 = 0x33,

  VK_4 = 0x34,

  VK_5 = 0x35,

  VK_6 = 0x36,

  VK_7 = 0x37,

  VK_8 = 0x38,

  VK_9 = 0x39,

  VK_A = 0x41,

  VK_B = 0x42,

  VK_C = 0x43,

  VK_D = 0x44,

  VK_E = 0x45,

  VK_F = 0x46,

  VK_G = 0x47,

  VK_H = 0x48,

  VK_I = 0x49,

  VK_J = 0x4A,

  VK_K = 0x4B,

  VK_L = 0x4C,

  VK_M = 0x4D,

  VK_N = 0x4E,

  VK_O = 0x4F,

  VK_P = 0x50,

  VK_Q = 0x51,

  VK_R = 0x52,

  VK_S = 0x53,

  VK_T = 0x54,

  VK_U = 0x55,

  VK_V = 0x56,

  VK_W = 0x57,

  VK_X = 0x58,

  VK_Y = 0x59,

  VK_Z = 0x5A,

  VK_LWIN = 0x5B, // Left Windows key (Natural keyboard)

  VK_RWIN = 0x5C, // Right Windows key (Natural keyboard)

  VK_APPS = 0x5D, // Applications key (Natural keyboard)

  VK_SLEEP = 0x5F, // Computer Sleep key

  VK_NUMPAD0 = 0x60, // Numeric keypad 0 key

  VK_NUMPAD1 = 0x61, // Numeric keypad 1 key

  VK_NUMPAD2 = 0x62, // Numeric keypad 2 key

  VK_NUMPAD3 = 0x63, // Numeric keypad 3 key

  VK_NUMPAD4 = 0x64, // Numeric keypad 4 key

  VK_NUMPAD5 = 0x65, // Numeric keypad 5 key

  VK_NUMPAD6 = 0x66, // Numeric keypad 6 key

  VK_NUMPAD7 = 0x67, // Numeric keypad 7 key

  VK_NUMPAD8 = 0x68, // Numeric keypad 8 key

  VK_NUMPAD9 = 0x69, // Numeric keypad 9 key

  VK_MULTIPLY = 0x6A, // Multiply key

  VK_ADD = 0x6B, // Add key

  VK_SEPARATOR = 0x6C, // Separator key

  VK_SUBTRACT = 0x6D, // Subtract key

  VK_DECIMAL = 0x6E, // Decimal key

  VK_DIVIDE = 0x6F, // Divide key

  VK_F1 = 0x70, // F1 key

  VK_F2 = 0x71, // F2 key

  VK_F3 = 0x72, // F3 key

  VK_F4 = 0x73, // F4 key

  VK_F5 = 0x74, // F5 key

  VK_F6 = 0x75, // F6 key

  VK_F7 = 0x76, // F7 key

  VK_F8 = 0x77, // F8 key

  VK_F9 = 0x78, // F9 key

  VK_F10 = 0x79, // F10 key

  VK_F11 = 0x7A, // F11 key

  VK_F12 = 0x7B, // F12 key

  VK_F13 = 0x7C, // F13 key

  VK_F14 = 0x7D, // F14 key

  VK_F15 = 0x7E, // F15 key

  VK_F16 = 0x7F, // F16 key

  VK_F17 = 0x80, // F17 key

  VK_F18 = 0x81, // F18 key

  VK_F19 = 0x82, // F19 key

  VK_F20 = 0x83, // F20 key

  VK_F21 = 0x84, // F21 key

  VK_F22 = 0x85, // F22 key

  VK_F23 = 0x86, // F23 key

  VK_F24 = 0x87, // F24 key


  VK_NUMLOCK = 0x90, // NUM LOCK key

  VK_SCROLL = 0x91, // SCROLL LOCK key

  VK_LSHIFT = 0xA0, // Left SHIFT key

  VK_RSHIFT = 0xA1, // Right SHIFT key

  VK_LCONTROL = 0xA2, // Left CONTROL key

  VK_RCONTROL = 0xA3, // Right CONTROL key

  VK_LMENU = 0xA4, // Left MENU key

  VK_RMENU = 0xA5, // Right MENU key

  VK_BROWSER_BACK = 0xA6, // Browser Back key

  VK_BROWSER_FORWARD = 0xA7, // Browser Forward key

  VK_BROWSER_REFRESH = 0xA8, // Browser Refresh key

  VK_BROWSER_STOP = 0xA9, // Browser Stop key

  VK_BROWSER_SEARCH = 0xAA, // Browser Search key

  VK_BROWSER_FAVORITES = 0xAB, // Browser Favorites key

  VK_BROWSER_HOME = 0xAC, // Browser Start and Home key

  VK_VOLUME_MUTE = 0xAD, // Volume Mute key

  VK_VOLUME_DOWN = 0xAE, // Volume Down key

  VK_VOLUME_UP = 0xAF, // Volume Up key

  VK_MEDIA_NEXT_TRACK = 0xB0, // Next Track key

  VK_MEDIA_PREV_TRACK = 0xB1, // Previous Track key

  VK_MEDIA_STOP = 0xB2, // Stop Media key

  VK_MEDIA_PLAY_PAUSE = 0xB3, // Play/Pause Media key

  VK_LAUNCH_MAIL = 0xB4, // Start Mail key

  VK_LAUNCH_MEDIA_SELECT = 0xB5, // Select Media key

  VK_LAUNCH_APP1 = 0xB6, // Start Application 1 key

  VK_LAUNCH_APP2 = 0xB7, // Start Application 2 key

  VK_OEM_1 = 0xBA, // Used for miscellaneous characters, it can vary by keyboard.
  // For the US standard keyboard, the ',:' key

  VK_OEM_PLUS = 0xBB, // For any country/region, the '+' key

  VK_OEM_COMMA = 0xBC, // For any country/region, the ',' key

  VK_OEM_MINUS = 0xBD, // For any country/region, the '-' key

  VK_OEM_PERIOD = 0xBE, // For any country/region, the '.' key

  VK_OEM_2 = 0xBF, // Used for miscellaneous characters, it can vary by keyboard.
  // For the US standard keyboard, the '/?' key

  VK_OEM_3 = 0xC0, // Used for miscellaneous characters, it can vary by keyboard.
  // For the US standard keyboard, the '`~' key

  VK_OEM_4 = 0xDB, // Used for miscellaneous characters, it can vary by keyboard.
  // For the US standard keyboard, the '[{' key

  VK_OEM_5 = 0xDC, // Used for miscellaneous characters, it can vary by keyboard.
  // For the US standard keyboard, the '\|' key

  VK_OEM_6 = 0xDD, // Used for miscellaneous characters, it can vary by keyboard.
  // For the US standard keyboard, the ']}' key

  VK_OEM_7 = 0xDE, // Used for miscellaneous characters, it can vary by keyboard.
  // For the US standard keyboard, the 'single-quote/double-quote' key

  VK_OEM_8 = 0xDF, // Used for miscellaneous characters, it can vary by keyboard.

  VK_OEM_102 = 0xE2, // Either the angle bracket key or the backslash key on the RT 102-key keyboard

  VK_PROCESSKEY = 0xE5, // IME PROCESS key

  VK_PACKET = 0xE7, // Used to pass Unicode characters as if they were keystrokes.
  // The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods.
  // For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP = ,

  VK_ATTN = 0xF6, // Attn key

  VK_CRSEL = 0xF7, // CrSel key

  VK_EXSEL = 0xF8, // ExSel key

  VK_EREOF = 0xF9, // Erase EOF key

  VK_PLAY = 0xFA, // Play key

  VK_ZOOM = 0xFB, // Zoom key

  VK_NONAME = 0xFC, // Reserved

  VK_PA1 = 0xFD, // PA1 key

  VK_OEM_CLEAR = 0xFE, // Clear key
}

export default vkKeyCodes;
