|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using System.ComponentModel;
using System.Drawing.Design;
namespace System.Windows.Forms;
/// <summary>
/// Specifies key codes and modifiers.
/// </summary>
[Flags]
[TypeConverter(typeof(KeysConverter))]
[Editor($"System.Windows.Forms.Design.ShortcutKeysEditor, {AssemblyRef.SystemDesign}", typeof(UITypeEditor))]
public enum Keys
{
/// <summary>
/// The bit mask to extract a key code from a key value.
/// </summary>
KeyCode = 0x0000FFFF,
/// <summary>
/// The bit mask to extract modifiers from a key value.
/// </summary>
Modifiers = unchecked((int)0xFFFF0000),
/// <summary>
/// No key pressed.
/// </summary>
None = 0x00,
/// <summary>
/// The left mouse button.
/// </summary>
LButton = 0x01,
/// <summary>
/// The right mouse button.
/// </summary>
RButton = 0x02,
/// <summary>
/// The CANCEL key.
/// </summary>
Cancel = 0x03,
/// <summary>
/// The middle mouse button (three-button mouse).
/// </summary>
MButton = 0x04,
/// <summary>
/// The first x mouse button (five-button mouse).
/// </summary>
XButton1 = 0x05,
/// <summary>
/// The second x mouse button (five-button mouse).
/// </summary>
XButton2 = 0x06,
/// <summary>
/// The BACKSPACE key.
/// </summary>
Back = 0x08,
/// <summary>
/// The TAB key.
/// </summary>
Tab = 0x09,
/// <summary>
/// The CLEAR key.
/// </summary>
LineFeed = 0x0A,
/// <summary>
/// The CLEAR key.
/// </summary>
Clear = 0x0C,
/// <summary>
/// The RETURN key.
/// </summary>
Return = 0x0D,
/// <summary>
/// The ENTER key.
/// </summary>
Enter = Return,
/// <summary>
/// The SHIFT key.
/// </summary>
ShiftKey = 0x10,
/// <summary>
/// The CTRL key.
/// </summary>
ControlKey = 0x11,
/// <summary>
/// The ALT key.
/// </summary>
Menu = 0x12,
/// <summary>
/// The PAUSE key.
/// </summary>
Pause = 0x13,
/// <summary>
/// The CAPS LOCK key.
/// </summary>
Capital = 0x14,
/// <summary>
/// The CAPS LOCK key.
/// </summary>
CapsLock = 0x14,
/// <summary>
/// The IME Kana mode key.
/// </summary>
KanaMode = 0x15,
/// <summary>
/// The IME Hanguel mode key.
/// </summary>
HanguelMode = 0x15,
/// <summary>
/// The IME Hangul mode key.
/// </summary>
HangulMode = 0x15,
/// <summary>
/// The IME Junja mode key.
/// </summary>
JunjaMode = 0x17,
/// <summary>
/// The IME Final mode key.
/// </summary>
FinalMode = 0x18,
/// <summary>
/// The IME Hanja mode key.
/// </summary>
HanjaMode = 0x19,
/// <summary>
/// The IME Kanji mode key.
/// </summary>
KanjiMode = 0x19,
/// <summary>
/// The ESC key.
/// </summary>
Escape = 0x1B,
/// <summary>
/// The IME Convert key.
/// </summary>
IMEConvert = 0x1C,
/// <summary>
/// The IME NonConvert key.
/// </summary>
IMENonconvert = 0x1D,
/// <summary>
/// The IME Accept key.
/// </summary>
IMEAccept = 0x1E,
/// <summary>
/// The IME Accept key.
/// </summary>
IMEAceept = IMEAccept,
/// <summary>
/// The IME Mode change request.
/// </summary>
IMEModeChange = 0x1F,
/// <summary>
/// The SPACEBAR key.
/// </summary>
Space = 0x20,
/// <summary>
/// The PAGE UP key.
/// </summary>
Prior = 0x21,
/// <summary>
/// The PAGE UP key.
/// </summary>
PageUp = Prior,
/// <summary>
/// The PAGE DOWN key.
/// </summary>
Next = 0x22,
/// <summary>
/// The PAGE DOWN key.
/// </summary>
PageDown = Next,
/// <summary>
/// The END key.
/// </summary>
End = 0x23,
/// <summary>
/// The HOME key.
/// </summary>
Home = 0x24,
/// <summary>
/// The LEFT ARROW key.
/// </summary>
Left = 0x25,
/// <summary>
/// The UP ARROW key.
/// </summary>
Up = 0x26,
/// <summary>
/// The RIGHT ARROW key.
/// </summary>
Right = 0x27,
/// <summary>
/// The DOWN ARROW key.
/// </summary>
Down = 0x28,
/// <summary>
/// The SELECT key.
/// </summary>
Select = 0x29,
/// <summary>
/// The PRINT key.
/// </summary>
Print = 0x2A,
/// <summary>
/// The EXECUTE key.
/// </summary>
Execute = 0x2B,
/// <summary>
/// The PRINT SCREEN key.
/// </summary>
Snapshot = 0x2C,
/// <summary>
/// The PRINT SCREEN key.
/// </summary>
PrintScreen = Snapshot,
/// <summary>
/// The INS key.
/// </summary>
Insert = 0x2D,
/// <summary>
/// The DEL key.
/// </summary>
Delete = 0x2E,
/// <summary>
/// The HELP key.
/// </summary>
Help = 0x2F,
/// <summary>
/// The 0 key.
/// </summary>
D0 = 0x30, // 0
/// <summary>
/// The 1 key.
/// </summary>
D1 = 0x31, // 1
/// <summary>
/// The 2 key.
/// </summary>
D2 = 0x32, // 2
/// <summary>
/// The 3 key.
/// </summary>
D3 = 0x33, // 3
/// <summary>
/// The 4 key.
/// </summary>
D4 = 0x34, // 4
/// <summary>
/// The 5 key.
/// </summary>
D5 = 0x35, // 5
/// <summary>
/// The 6 key.
/// </summary>
D6 = 0x36, // 6
/// <summary>
/// The 7 key.
/// </summary>
D7 = 0x37, // 7
/// <summary>
/// The 8 key.
/// </summary>
D8 = 0x38, // 8
/// <summary>
/// The 9 key.
/// </summary>
D9 = 0x39, // 9
/// <summary>
/// The A key.
/// </summary>
A = 0x41,
/// <summary>
/// The B key.
/// </summary>
B = 0x42,
/// <summary>
/// The C key.
/// </summary>
C = 0x43,
/// <summary>
/// The D key.
/// </summary>
D = 0x44,
/// <summary>
/// The E key.
/// </summary>
E = 0x45,
/// <summary>
/// The F key.
/// </summary>
F = 0x46,
/// <summary>
/// The G key.
/// </summary>
G = 0x47,
/// <summary>
/// The H key.
/// </summary>
H = 0x48,
/// <summary>
/// The I key.
/// </summary>
I = 0x49,
/// <summary>
/// The J key.
/// </summary>
J = 0x4A,
/// <summary>
/// The K key.
/// </summary>
K = 0x4B,
/// <summary>
/// The L key.
/// </summary>
L = 0x4C,
/// <summary>
/// The M key.
/// </summary>
M = 0x4D,
/// <summary>
/// The N key.
/// </summary>
N = 0x4E,
/// <summary>
/// The O key.
/// </summary>
O = 0x4F,
/// <summary>
/// The P key.
/// </summary>
P = 0x50,
/// <summary>
/// The Q key.
/// </summary>
Q = 0x51,
/// <summary>
/// The R key.
/// </summary>
R = 0x52,
/// <summary>
/// The S key.
/// </summary>
S = 0x53,
/// <summary>
/// The T key.
/// </summary>
T = 0x54,
/// <summary>
/// The U key.
/// </summary>
U = 0x55,
/// <summary>
/// The V key.
/// </summary>
V = 0x56,
/// <summary>
/// The W key.
/// </summary>
W = 0x57,
/// <summary>
/// The X key.
/// </summary>
X = 0x58,
/// <summary>
/// The Y key.
/// </summary>
Y = 0x59,
/// <summary>
/// The Z key.
/// </summary>
Z = 0x5A,
/// <summary>
/// The left Windows logo key (Microsoft Natural Keyboard).
/// </summary>
LWin = 0x5B,
/// <summary>
/// The right Windows logo key (Microsoft Natural Keyboard).
/// </summary>
RWin = 0x5C,
/// <summary>
/// The Application key (Microsoft Natural Keyboard).
/// </summary>
Apps = 0x5D,
/// <summary>
/// The Computer Sleep key.
/// </summary>
Sleep = 0x5F,
/// <summary>
/// The 0 key on the numeric keypad.
/// </summary>
NumPad0 = 0x60,
/// <summary>
/// The 1 key on the numeric keypad.
/// </summary>
NumPad1 = 0x61,
/// <summary>
/// The 2 key on the numeric keypad.
/// </summary>
NumPad2 = 0x62,
/// <summary>
/// The 3 key on the numeric keypad.
/// </summary>
NumPad3 = 0x63,
/// <summary>
/// The 4 key on the numeric keypad.
/// </summary>
NumPad4 = 0x64,
/// <summary>
/// The 5 key on the numeric keypad.
/// </summary>
NumPad5 = 0x65,
/// <summary>
/// The 6 key on the numeric keypad.
/// </summary>
NumPad6 = 0x66,
/// <summary>
/// The 7 key on the numeric keypad.
/// </summary>
NumPad7 = 0x67,
/// <summary>
/// The 8 key on the numeric keypad.
/// </summary>
NumPad8 = 0x68,
/// <summary>
/// The 9 key on the numeric keypad.
/// </summary>
NumPad9 = 0x69,
/// <summary>
/// The Multiply key.
/// </summary>
Multiply = 0x6A,
/// <summary>
/// The Add key.
/// </summary>
Add = 0x6B,
/// <summary>
/// The Separator key.
/// </summary>
Separator = 0x6C,
/// <summary>
/// The Subtract key.
/// </summary>
Subtract = 0x6D,
/// <summary>
/// The Decimal key.
/// </summary>
Decimal = 0x6E,
/// <summary>
/// The Divide key.
/// </summary>
Divide = 0x6F,
/// <summary>
/// The F1 key.
/// </summary>
F1 = 0x70,
/// <summary>
/// The F2 key.
/// </summary>
F2 = 0x71,
/// <summary>
/// The F3 key.
/// </summary>
F3 = 0x72,
/// <summary>
/// The F4 key.
/// </summary>
F4 = 0x73,
/// <summary>
/// The F5 key.
/// </summary>
F5 = 0x74,
/// <summary>
/// The F6 key.
/// </summary>
F6 = 0x75,
/// <summary>
/// The F7 key.
/// </summary>
F7 = 0x76,
/// <summary>
/// The F8 key.
/// </summary>
F8 = 0x77,
/// <summary>
/// The F9 key.
/// </summary>
F9 = 0x78,
/// <summary>
/// The F10 key.
/// </summary>
F10 = 0x79,
/// <summary>
/// The F11 key.
/// </summary>
F11 = 0x7A,
/// <summary>
/// The F12 key.
/// </summary>
F12 = 0x7B,
/// <summary>
/// The F13 key.
/// </summary>
F13 = 0x7C,
/// <summary>
/// The F14 key.
/// </summary>
F14 = 0x7D,
/// <summary>
/// The F15 key.
/// </summary>
F15 = 0x7E,
/// <summary>
/// The F16 key.
/// </summary>
F16 = 0x7F,
/// <summary>
/// The F17 key.
/// </summary>
F17 = 0x80,
/// <summary>
/// The F18 key.
/// </summary>
F18 = 0x81,
/// <summary>
/// The F19 key.
/// </summary>
F19 = 0x82,
/// <summary>
/// The F20 key.
/// </summary>
F20 = 0x83,
/// <summary>
/// The F21 key.
/// </summary>
F21 = 0x84,
/// <summary>
/// The F22 key.
/// </summary>
F22 = 0x85,
/// <summary>
/// The F23 key.
/// </summary>
F23 = 0x86,
/// <summary>
/// The F24 key.
/// </summary>
F24 = 0x87,
/// <summary>
/// The NUM LOCK key.
/// </summary>
NumLock = 0x90,
/// <summary>
/// The SCROLL LOCK key.
/// </summary>
Scroll = 0x91,
/// <summary>
/// The left SHIFT key.
/// </summary>
LShiftKey = 0xA0,
/// <summary>
/// The right SHIFT key.
/// </summary>
RShiftKey = 0xA1,
/// <summary>
/// The left CTRL key.
/// </summary>
LControlKey = 0xA2,
/// <summary>
/// The right CTRL key.
/// </summary>
RControlKey = 0xA3,
/// <summary>
/// The left ALT key.
/// </summary>
LMenu = 0xA4,
/// <summary>
/// The right ALT key.
/// </summary>
RMenu = 0xA5,
/// <summary>
/// The Browser Back key.
/// </summary>
BrowserBack = 0xA6,
/// <summary>
/// The Browser Forward key.
/// </summary>
BrowserForward = 0xA7,
/// <summary>
/// The Browser Refresh key.
/// </summary>
BrowserRefresh = 0xA8,
/// <summary>
/// The Browser Stop key.
/// </summary>
BrowserStop = 0xA9,
/// <summary>
/// The Browser Search key.
/// </summary>
BrowserSearch = 0xAA,
/// <summary>
/// The Browser Favorites key.
/// </summary>
BrowserFavorites = 0xAB,
/// <summary>
/// The Browser Home key.
/// </summary>
BrowserHome = 0xAC,
/// <summary>
/// The Volume Mute key.
/// </summary>
VolumeMute = 0xAD,
/// <summary>
/// The Volume Down key.
/// </summary>
VolumeDown = 0xAE,
/// <summary>
/// The Volume Up key.
/// </summary>
VolumeUp = 0xAF,
/// <summary>
/// The Media Next Track key.
/// </summary>
MediaNextTrack = 0xB0,
/// <summary>
/// The Media Previous Track key.
/// </summary>
MediaPreviousTrack = 0xB1,
/// <summary>
/// The Media Stop key.
/// </summary>
MediaStop = 0xB2,
/// <summary>
/// The Media Play Pause key.
/// </summary>
MediaPlayPause = 0xB3,
/// <summary>
/// The Launch Mail key.
/// </summary>
LaunchMail = 0xB4,
/// <summary>
/// The Select Media key.
/// </summary>
SelectMedia = 0xB5,
/// <summary>
/// The Launch Application1 key.
/// </summary>
LaunchApplication1 = 0xB6,
/// <summary>
/// The Launch Application2 key.
/// </summary>
LaunchApplication2 = 0xB7,
/// <summary>
/// The Oem Semicolon key.
/// </summary>
OemSemicolon = 0xBA,
/// <summary>
/// The Oem 1 key.
/// </summary>
Oem1 = OemSemicolon,
/// <summary>
/// The Oem plus key.
/// </summary>
Oemplus = 0xBB,
/// <summary>
/// The Oem comma key.
/// </summary>
Oemcomma = 0xBC,
/// <summary>
/// The Oem Minus key.
/// </summary>
OemMinus = 0xBD,
/// <summary>
/// The Oem Period key.
/// </summary>
OemPeriod = 0xBE,
/// <summary>
/// The Oem Question key.
/// </summary>
OemQuestion = 0xBF,
/// <summary>
/// The Oem 2 key.
/// </summary>
Oem2 = OemQuestion,
/// <summary>
/// The Oem 3 key.
/// </summary>
Oem3 = 0xC0,
/// <summary>
/// The Oem tilde key.
/// </summary>
Oemtilde = Oem3,
/// <summary>
/// The Oem Open Brackets key.
/// </summary>
OemOpenBrackets = 0xDB,
/// <summary>
/// The Oem 4 key.
/// </summary>
Oem4 = OemOpenBrackets,
/// <summary>
/// The Oem Pipe key.
/// </summary>
OemPipe = 0xDC,
/// <summary>
/// The Oem 5 key.
/// </summary>
Oem5 = OemPipe,
/// <summary>
/// The Oem Close Brackets key.
/// </summary>
OemCloseBrackets = 0xDD,
/// <summary>
/// The Oem 6 key.
/// </summary>
Oem6 = OemCloseBrackets,
/// <summary>
/// The Oem 7 key.
/// </summary>
Oem7 = 0xDE,
/// <summary>
/// The Oem Quotes key.
/// </summary>
OemQuotes = Oem7,
/// <summary>
/// The Oem8 key.
/// </summary>
Oem8 = 0xDF,
/// <summary>
/// The Oem 102 key.
/// </summary>
Oem102 = 0xE2,
/// <summary>
/// The Oem Backslash key.
/// </summary>
OemBackslash = Oem102,
/// <summary>
/// The PROCESS KEY key.
/// </summary>
ProcessKey = 0xE5,
/// <summary>
/// The Packet KEY key.
/// </summary>
Packet = 0xE7,
/// <summary>
/// The ATTN key.
/// </summary>
Attn = 0xF6,
/// <summary>
/// The CRSEL key.
/// </summary>
Crsel = 0xF7,
/// <summary>
/// The EXSEL key.
/// </summary>
Exsel = 0xF8,
/// <summary>
/// The ERASE EOF key.
/// </summary>
EraseEof = 0xF9,
/// <summary>
/// The PLAY key.
/// </summary>
Play = 0xFA,
/// <summary>
/// The ZOOM key.
/// </summary>
Zoom = 0xFB,
/// <summary>
/// A constant reserved for future use.
/// </summary>
NoName = 0xFC,
/// <summary>
/// The PA1 key.
/// </summary>
Pa1 = 0xFD,
/// <summary>
/// The CLEAR key.
/// </summary>
OemClear = 0xFE,
/// <summary>
/// The SHIFT modifier key.
/// </summary>
Shift = 0x00010000,
/// <summary>
/// The CTRL modifier key.
/// </summary>
Control = 0x00020000,
/// <summary>
/// The ALT modifier key.
/// </summary>
Alt = 0x00040000,
}
|