// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. #pragma once #include "Engine/Core/Config.h" /// /// Enumeration for key codes. /// API_ENUM() enum class KeyboardKeys { /// /// The 'none' key /// None = 0, /// /// BACKSPACE key /// Backspace = 0x08, /// /// TAB key /// Tab = 0x09, /// /// CLEAR key /// Clear = 0x0C, /// /// ENTER key /// Return = 0x0D, /// /// Any SHIFT key, right or left /// Shift = 0x10, /// /// Any CTRL key, right or left /// Control = 0x11, /// /// Any ALT key, right or left /// Alt = 0x12, /// /// PAUSE key /// Pause = 0x13, /// /// CAPS LOCK key /// Capital = 0x14, /// /// IME Kana mode /// Kana = 0x15, /// /// IME Hangul mode /// Hangul = 0x15, /// /// IME Junja mode /// Junja = 0x17, /// /// IME final mode /// Final = 0x18, /// /// IME Hanja mode /// Hanja = 0x19, /// /// IME Kanji mode /// Kanji = 0x19, /// /// ESC key /// Escape = 0x1B, /// /// IME convert /// Convert = 0x1C, /// /// IME nonconvert /// Nonconvert = 0x1D, /// /// IME accept /// Accept = 0x1E, /// /// IME mode change request /// Modechange = 0x1F, /// /// SPACEBAR key /// Spacebar = 0x20, /// /// PAGE UP key /// PageUp = 0x21, /// /// PAGE DOWN key /// PageDown = 0x22, /// /// END key /// End = 0x23, /// /// HOME key /// Home = 0x24, /// /// LEFT ARROW key /// ArrowLeft = 0x25, /// /// UP ARROW key /// ArrowUp = 0x26, /// /// RIGHT ARROW key /// ArrowRight = 0x27, /// /// DOWN ARROW key /// ArrowDown = 0x28, /// /// SELECT key /// Select = 0x29, /// /// PRINT key /// Print = 0x2A, /// /// EXECUTE key /// Execute = 0x2B, /// /// PRINT SCREEN key /// PrintScreen = 0x2C, /// /// INSERT key /// Insert = 0x2D, /// /// DELETE key /// Delete = 0x2E, /// /// HELP key /// Help = 0x2F, /// /// The '0' key on the top of the alphanumeric keyboard. /// Alpha0 = 0x30, /// /// The '1' key on the top of the alphanumeric keyboard. /// Alpha1 = 0x31, /// /// The '2' key on the top of the alphanumeric keyboard. /// Alpha2 = 0x32, /// /// The '3' key on the top of the alphanumeric keyboard. /// Alpha3 = 0x33, /// /// The '4' key on the top of the alphanumeric keyboard. /// Alpha4 = 0x34, /// /// The '5' key on the top of the alphanumeric keyboard. /// Alpha5 = 0x35, /// /// The '6' key on the top of the alphanumeric keyboard. /// Alpha6 = 0x36, /// /// The '7' key on the top of the alphanumeric keyboard. /// Alpha7 = 0x37, /// /// The '8' key on the top of the alphanumeric keyboard. /// Alpha8 = 0x38, /// /// The '9' key on the top of the alphanumeric keyboard. /// Alpha9 = 0x39, /// /// A key /// A = 0x41, /// /// B key /// B = 0x42, /// /// C key /// C = 0x43, /// /// D key /// D = 0x44, /// /// E key /// E = 0x45, /// /// F key /// F = 0x46, /// /// G key /// G = 0x47, /// /// H key /// H = 0x48, /// /// I key /// I = 0x49, /// /// J key /// J = 0x4A, /// /// K key /// K = 0x4B, /// /// L key /// L = 0x4C, /// /// M key /// M = 0x4D, /// /// N key /// N = 0x4E, /// /// O key /// O = 0x4F, /// /// P key /// P = 0x50, /// /// Q key /// Q = 0x51, /// /// R key /// R = 0x52, /// /// S key /// S = 0x53, /// /// T key /// T = 0x54, /// /// U key /// U = 0x55, /// /// V key /// V = 0x56, /// /// W key /// W = 0x57, /// /// X key /// X = 0x58, /// /// Y key /// Y = 0x59, /// /// Z key /// Z = 0x5A, /// /// Left Windows key (Natural keyboard) /// LeftWindows = 0x5B, /// /// Right Windows key (Natural keyboard) /// RightWindows = 0x5C, /// /// Applications key (Natural keyboard) /// Applications = 0x5D, /// /// Computer Sleep key /// Sleep = 0x5F, /// /// Numeric keypad 0 key /// Numpad0 = 0x60, /// /// Numeric keypad 1 key /// Numpad1 = 0x61, /// /// Numeric keypad 2 key /// Numpad2 = 0x62, /// /// Numeric keypad 3 key /// Numpad3 = 0x63, /// /// Numeric keypad 4 key /// Numpad4 = 0x64, /// /// Numeric keypad 5 key /// Numpad5 = 0x65, /// /// Numeric keypad 6 key /// Numpad6 = 0x66, /// /// Numeric keypad 7 key /// Numpad7 = 0x67, /// /// Numeric keypad 8 key /// Numpad8 = 0x68, /// /// Numeric keypad 9 key /// Numpad9 = 0x69, /// /// Numeric keypad Multiply key '*' /// NumpadMultiply = 0x6A, /// /// Numeric keypad Add key '+' /// NumpadAdd = 0x6B, /// /// Numeric Separator key /// NumpadSeparator = 0x6C, /// /// Numeric keypad Subtract key '-' /// NumpadSubtract = 0x6D, /// /// Numeric keypad Decimal key ',' /// NumpadDecimal = 0x6E, /// /// Numeric keypad Divide key '/' /// NumpadDivide = 0x6F, /// /// F1 function key /// F1 = 0x70, /// /// F2 function key /// F2 = 0x71, /// /// F3 function key /// F3 = 0x72, /// /// F4 function key /// F4 = 0x73, /// /// F5 function key /// F5 = 0x74, /// /// F6 function key /// F6 = 0x75, /// /// F7 function key /// F7 = 0x76, /// /// F8 function key /// F8 = 0x77, /// /// F9 function key /// F9 = 0x78, /// /// F10 function key /// F10 = 0x79, /// /// F11 function key /// F11 = 0x7A, /// /// F12 function key /// F12 = 0x7B, /// /// F13 function key /// F13 = 0x7C, /// /// F14 function key /// F14 = 0x7D, /// /// F15 function key /// F15 = 0x7E, /// /// F16 function key /// F16 = 0x7F, /// /// F17 function key /// F17 = 0x80, /// /// F18 function key /// F18 = 0x81, /// /// F19 function key /// F19 = 0x82, /// /// F20 function key /// F20 = 0x83, /// /// F21 function key /// F21 = 0x84, /// /// F22 function key /// F22 = 0x85, /// /// F23 function key /// F23 = 0x86, /// /// F24 function key /// F24 = 0x87, /// /// Numeric keypad NUM LOCK key /// Numlock = 0x90, /// /// SCROLL LOCK key /// Scroll = 0x91, /// /// Left MENU key /// LeftMenu = 0xA4, /// /// Right MENU key /// RightMenu = 0xA5, /// /// Browser Back key /// BrowserBack = 0xA6, /// /// Browser Forward key /// BrowserForward = 0xA7, /// /// Browser Refresh key /// BrowserRefresh = 0xA8, /// /// Browser Stop key /// BrowserStop = 0xA9, /// /// Browser Search key /// BrowserSearch = 0xAA, /// /// Browser Favorites key /// BrowserFavorites = 0xAB, /// /// Browser Start and Home key /// BrowserHome = 0xAC, /// /// Volume Mute key /// VolumeMute = 0xAD, /// /// Volume Down key /// VolumeDown = 0xAE, /// /// Volume Up key /// VolumeUp = 0xAF, /// /// Next Track key /// MediaNextTrack = 0xB0, /// /// Previous Track key /// MediaPrevTrack = 0xB1, /// /// Stop Media key /// MediaStop = 0xB2, /// /// Play/Pause Media key /// MediaPlayPause = 0xB3, /// /// Start Mail key /// LaunchMail = 0xB4, /// /// Select Media key /// LaunchMediaSelect = 0xB5, /// /// Start Application 1 key /// LaunchApp1 = 0xB6, /// /// Start Application 2 key /// LaunchApp2 = 0xB7, /// /// Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard the ';:' key /// Colon = 0xBA, /// /// For any country/region the '+' key /// Plus = 0xBB, /// /// For any country/region the ',' key /// Comma = 0xBC, /// /// For any country/region the '-' key /// Minus = 0xBD, /// /// For any country/region the '.' key /// Period = 0xBE, /// /// Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard the '/?' key /// Slash = 0xBF, /// /// Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard the '`~' key /// BackQuote = 0xC0, /// /// Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard the '[{' key /// LeftBracket = 0xDB, /// /// Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard the '\|' key /// Backslash = 0xDC, /// /// Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard the ']}' key /// RightBracket = 0xDD, /// /// Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard the /// 'single-quote/double-quote' key /// Quote = 0xDE, /// /// Used for miscellaneous characters; it can vary by keyboard. /// Oem8 = 0xDF, /// /// Either the angle bracket key or the backslash key on the RT 102-key keyboard /// Oem102 = 0xE2, /// /// IME PROCESS key /// Processkey = 0xE5, /// /// Used to pass Unicode characters as if they were keystrokes. The PACKET key is the low word of a 32-bit Virtual Key /// value used for non-keyboard input methods. /// Packet = 0xE7, /// /// Attn key /// Attn = 0xF6, /// /// CrSel key /// Crsel = 0xF7, /// /// ExSel key /// Exsel = 0xF8, /// /// Erase EOF key /// Ereof = 0xF9, /// /// Play key /// Play = 0xFA, /// /// Zoom key /// Zoom = 0xFB, /// /// PA1 key /// Pa1 = 0xFD, /// /// Clear key /// OemClear = 0xFE, MAX };