#pragma region CPL License /* Nuclex Native Framework Copyright (C) 2002-2013 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as published by the IBM Corporation; either version 1.0 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the IBM Common Public License for more details. You should have received a copy of the IBM Common Public License along with this library */ #pragma endregion // CPL License #ifndef NUCLEX_INPUT_DEVICES_KEY_H #define NUCLEX_INPUT_DEVICES_KEY_H namespace Nuclex { namespace Input { namespace Devices { // ------------------------------------------------------------------------------------------- // namespace Key { // until C++ enum class support is rolled out /// Keys on a standard keyboard enum Enum { // Reserved None = 0, /// BACKSPACE key Back = 8, /// TAB key Tab = 9, /// Numeric ENTER key Enter = 12, /// RETURN key Return = 13, /// PAUSE key Pause = 19, /// CAPS LOCK key CapsLock = 20, /// Kana key on Japanese keyboards Kana = 21, /// Kanji key on Japanese keyboards Kanji = 25, /// ESC key Escape = 27, /// IME Convert key ImeConvert = 28, /// IME NoConvert key ImeNoConvert = 29, /// SPACEBAR Space = 32, /// PAGE UP key PageUp = 33, /// PAGE DOWN key PageDown = 34, /// END key End = 35, /// HOME key Home = 36, /// LEFT ARROW key Left = 37, /// UP ARROW key Up = 38, /// RIGHT ARROW key Right = 39, /// DOWN ARROW key Down = 40, /// SELECT key Select = 41, /// PRINT key Print = 42, /// EXECUTE key Execute = 43, /// PRINT SCREEN key PrintScreen = 44, /// INS key Insert = 45, /// DEL key Delete = 46, /// HELP key Help = 47, /// Used for miscellaneous characters; it can vary by keyboard. D0 = 48, /// Used for miscellaneous characters; it can vary by keyboard. D1 = 49, /// Used for miscellaneous characters; it can vary by keyboard. D2 = 50, /// Used for miscellaneous characters; it can vary by keyboard. D3 = 51, /// Used for miscellaneous characters; it can vary by keyboard. D4 = 52, /// Used for miscellaneous characters; it can vary by keyboard. D5 = 53, /// Used for miscellaneous characters; it can vary by keyboard. D6 = 54, /// Used for miscellaneous characters; it can vary by keyboard. D7 = 55, /// Used for miscellaneous characters; it can vary by keyboard. D8 = 56, /// Used for miscellaneous characters; it can vary by keyboard. D9 = 57, /// A key A = 65, /// B key B = 66, /// C key C = 67, /// D key D = 68, /// E key E = 69, /// F key F = 70, /// G key G = 71, /// H key H = 72, /// I key I = 73, /// J key J = 74, /// K key K = 75, /// L key L = 76, /// M key M = 77, /// N key N = 78, /// O key O = 79, /// P key P = 80, /// Q key Q = 81, /// R key R = 82, /// S key S = 83, /// T key T = 84, /// U key U = 85, /// V key V = 86, /// W key W = 87, /// X key X = 88, /// Y key Y = 89, /// Z key Z = 90, /// Left Windows key LeftWindows = 91, /// Right Windows key RightWindows = 92, /// Applications key Apps = 93, /// Computer Sleep key Sleep = 95, /// Numeric keypad 0 key NumPad0 = 96, /// Numeric keypad 1 key NumPad1 = 97, /// Numeric keypad 2 key NumPad2 = 98, /// Numeric keypad 3 key NumPad3 = 99, /// Numeric keypad 4 key NumPad4 = 100, /// Numeric keypad 5 key NumPad5 = 101, /// Numeric keypad 6 key NumPad6 = 102, /// Numeric keypad 7 key NumPad7 = 103, /// Numeric keypad 8 key NumPad8 = 104, /// Numeric keypad 9 key NumPad9 = 105, /// Multiply key Multiply = 106, /// Add key Add = 107, /// Separator key Separator = 108, /// Subtract key Subtract = 109, /// Decimal key Decimal = 110, /// Divide key Divide = 111, /// F1 key F1 = 112, /// F2 key F2 = 113, /// F3 key F3 = 114, /// F4 key F4 = 115, /// F5 key F5 = 116, /// F6 key F6 = 117, /// F7 key F7 = 118, /// F8 key F8 = 119, /// F9 key F9 = 120, /// F10 key F10 = 121, /// F11 key F11 = 122, /// F12 key F12 = 123, /// F13 key F13 = 124, /// F14 key F14 = 125, /// F15 key F15 = 126, /// F16 key F16 = 127, /// F17 key F17 = 128, /// F18 key F18 = 129, /// F19 key F19 = 130, /// F20 key F20 = 131, /// F21 key F21 = 132, /// F22 key F22 = 133, /// F23 key F23 = 134, /// F24 key F24 = 135, /// NUM LOCK key NumLock = 144, /// SCROLL LOCK key Scroll = 145, /// Left SHIFT key LeftShift = 160, /// Right SHIFT key RightShift = 161, /// Left CONTROL key LeftControl = 162, /// Right CONTROL key RightControl = 163, /// Left ALT key LeftAlt = 164, /// Right ALT key RightAlt = 165, /// Windows 2000/XP: Browser Back key BrowserBack = 166, /// Windows 2000/XP: Browser Forward key BrowserForward = 167, /// Windows 2000/XP: Browser Refresh key BrowserRefresh = 168, /// Windows 2000/XP: Browser Stop key BrowserStop = 169, /// Windows 2000/XP: Browser Search key BrowserSearch = 170, /// Windows 2000/XP: Browser Favorites key BrowserFavorites = 171, /// Windows 2000/XP: Browser Start and Home key BrowserHome = 172, /// Windows 2000/XP: Volume Mute key VolumeMute = 173, /// Windows 2000/XP: Volume Down key VolumeDown = 174, /// Windows 2000/XP: Volume Up key VolumeUp = 175, /// Windows 2000/XP: Next Track key MediaNextTrack = 176, /// Windows 2000/XP: Previous Track key MediaPreviousTrack = 177, /// Windows 2000/XP: Stop Media key MediaStop = 178, /// Windows 2000/XP: Play/Pause Media key MediaPlayPause = 179, /// Windows 2000/XP: Start Mail key LaunchMail = 180, /// Windows 2000/XP: Select Media key SelectMedia = 181, /// Windows 2000/XP: Start Application 1 key LaunchApplication1 = 182, /// Windows 2000/XP: Start Application 2 key LaunchApplication2 = 183, /// Windows 2000/XP: The OEM Semicolon key on a US standard keyboard OemSemicolon = 186, /// Windows 2000/XP: For any country/region, the '+' key OemPlus = 187, /// Windows 2000/XP: For any country/region, the ',' key OemComma = 188, /// Windows 2000/XP: For any country/region, the '-' key OemMinus = 189, /// Windows 2000/XP: For any country/region, the '.' key OemPeriod = 190, /// Windows 2000/XP: The OEM question mark key on a US standard keyboard OemQuestion = 191, /// Windows 2000/XP: The OEM tilde key on a US standard keyboard OemTilde = 192, /// Green ChatPad key ChatPadGreen = 202, /// Orange ChatPad key ChatPadOrange = 203, /// Windows 2000/XP: The OEM open bracket key on a US standard keyboard OemOpenBrackets = 219, /// Windows 2000/XP: The OEM pipe key on a US standard keyboard OemPipe = 220, /// Windows 2000/XP: The OEM close bracket key on a US standard keyboard OemCloseBrackets = 221, /// Windows 2000/XP: The OEM singled/double quote key on a US standard keyboard OemQuotes = 222, /// Used for miscellaneous characters; it can vary by keyboard. Oem8 = 223, /// /// Windows 2000/XP: The OEM angle bracket or backslash key on the RT 102 key keyboard /// OemBackslash = 226, /// Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key ProcessKey = 229, /// OEM Copy key OemCopy = 242, /// OEM Auto key OemAuto = 243, /// OEM Enlarge Window key OemEnlW = 244, /// Attn key Attn = 246, /// CrSel key Crsel = 247, /// ExSel key Exsel = 248, /// Erase EOF key EraseEof = 249, /// Play key Play = 250, /// Zoom key Zoom = 251, /// PA1 key Pa1 = 253, /// CLEAR key OemClear = 254 }; } // namespace Keys // ------------------------------------------------------------------------------------------- // }}} // namespace Nuclex::Input::Devices #endif // NUCLEX_INPUT_DEVICES_KEY_H