#region License
// Copyright (C) 2020 Reetus
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program 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
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
#endregion
namespace ClassicAssist.Misc
{
public enum Key
{
/// No key pressed.
None = 0,
/// The Cancel key.
Cancel = 1,
/// The Backspace key.
Back = 2,
/// The Tab key.
Tab = 3,
/// The Linefeed key.
LineFeed = 4,
/// The Clear key.
Clear = 5,
/// The Enter key.
Enter = 6,
/// The Return key.
Return = 6,
/// The Pause key.
Pause = 7,
/// The Caps Lock key.
Capital = 8,
/// The Caps Lock key.
CapsLock = 8,
/// The IME Hangul mode key.
HangulMode = 9,
/// The IME Kana mode key.
KanaMode = 9,
/// The IME Junja mode key.
JunjaMode = 10, // 0x0000000A
/// The IME Final mode key.
FinalMode = 11, // 0x0000000B
/// The IME Hanja mode key.
HanjaMode = 12, // 0x0000000C
/// The IME Kanji mode key.
KanjiMode = 12, // 0x0000000C
/// The ESC key.
Escape = 13, // 0x0000000D
/// The IME Convert key.
ImeConvert = 14, // 0x0000000E
/// The IME NonConvert key.
ImeNonConvert = 15, // 0x0000000F
/// The IME Accept key.
ImeAccept = 16, // 0x00000010
/// The IME Mode change request.
ImeModeChange = 17, // 0x00000011
/// The Spacebar key.
Space = 18, // 0x00000012
/// The Page Up key.
PageUp = 19, // 0x00000013
/// The Page Up key.
Prior = 19, // 0x00000013
/// The Page Down key.
Next = 20, // 0x00000014
/// The Page Down key.
PageDown = 20, // 0x00000014
/// The End key.
End = 21, // 0x00000015
/// The Home key.
Home = 22, // 0x00000016
/// The Left Arrow key.
Left = 23, // 0x00000017
/// The Up Arrow key.
Up = 24, // 0x00000018
/// The Right Arrow key.
Right = 25, // 0x00000019
/// The Down Arrow key.
Down = 26, // 0x0000001A
/// The Select key.
Select = 27, // 0x0000001B
/// The Print key.
Print = 28, // 0x0000001C
/// The Execute key.
Execute = 29, // 0x0000001D
/// The Print Screen key.
PrintScreen = 30, // 0x0000001E
/// The Print Screen key.
Snapshot = 30, // 0x0000001E
/// The Insert key.
Insert = 31, // 0x0000001F
/// The Delete key.
Delete = 32, // 0x00000020
/// The Help key.
Help = 33, // 0x00000021
/// The 0 (zero) key.
D0 = 34, // 0x00000022
/// The 1 (one) key.
D1 = 35, // 0x00000023
/// The 2 key.
D2 = 36, // 0x00000024
/// The 3 key.
D3 = 37, // 0x00000025
/// The 4 key.
D4 = 38, // 0x00000026
/// The 5 key.
D5 = 39, // 0x00000027
/// The 6 key.
D6 = 40, // 0x00000028
/// The 7 key.
D7 = 41, // 0x00000029
/// The 8 key.
D8 = 42, // 0x0000002A
/// The 9 key.
D9 = 43, // 0x0000002B
/// The A key.
A = 44, // 0x0000002C
/// The B key.
B = 45, // 0x0000002D
/// The C key.
C = 46, // 0x0000002E
/// The D key.
D = 47, // 0x0000002F
/// The E key.
E = 48, // 0x00000030
/// The F key.
F = 49, // 0x00000031
/// The G key.
G = 50, // 0x00000032
/// The H key.
H = 51, // 0x00000033
/// The I key.
I = 52, // 0x00000034
/// The J key.
J = 53, // 0x00000035
/// The K key.
K = 54, // 0x00000036
/// The L key.
L = 55, // 0x00000037
/// The M key.
M = 56, // 0x00000038
/// The N key.
N = 57, // 0x00000039
/// The O key.
O = 58, // 0x0000003A
/// The P key.
P = 59, // 0x0000003B
/// The Q key.
Q = 60, // 0x0000003C
/// The R key.
R = 61, // 0x0000003D
/// The S key.
S = 62, // 0x0000003E
/// The T key.
T = 63, // 0x0000003F
/// The U key.
U = 64, // 0x00000040
/// The V key.
V = 65, // 0x00000041
/// The W key.
W = 66, // 0x00000042
/// The X key.
X = 67, // 0x00000043
/// The Y key.
Y = 68, // 0x00000044
/// The Z key.
Z = 69, // 0x00000045
/// The left Windows logo key (Microsoft Natural Keyboard).
LWin = 70, // 0x00000046
/// The right Windows logo key (Microsoft Natural Keyboard).
RWin = 71, // 0x00000047
/// The Application key (Microsoft Natural Keyboard).
Apps = 72, // 0x00000048
/// The Computer Sleep key.
Sleep = 73, // 0x00000049
/// The 0 key on the numeric keypad.
NumPad0 = 74, // 0x0000004A
/// The 1 key on the numeric keypad.
NumPad1 = 75, // 0x0000004B
/// The 2 key on the numeric keypad.
NumPad2 = 76, // 0x0000004C
/// The 3 key on the numeric keypad.
NumPad3 = 77, // 0x0000004D
/// The 4 key on the numeric keypad.
NumPad4 = 78, // 0x0000004E
/// The 5 key on the numeric keypad.
NumPad5 = 79, // 0x0000004F
/// The 6 key on the numeric keypad.
NumPad6 = 80, // 0x00000050
/// The 7 key on the numeric keypad.
NumPad7 = 81, // 0x00000051
/// The 8 key on the numeric keypad.
NumPad8 = 82, // 0x00000052
/// The 9 key on the numeric keypad.
NumPad9 = 83, // 0x00000053
/// The Multiply key.
Multiply = 84, // 0x00000054
/// The Add key.
Add = 85, // 0x00000055
/// The Separator key.
Separator = 86, // 0x00000056
/// The Subtract key.
Subtract = 87, // 0x00000057
/// The Decimal key.
Decimal = 88, // 0x00000058
/// The Divide key.
Divide = 89, // 0x00000059
/// The F1 key.
F1 = 90, // 0x0000005A
/// The F2 key.
F2 = 91, // 0x0000005B
/// The F3 key.
F3 = 92, // 0x0000005C
/// The F4 key.
F4 = 93, // 0x0000005D
/// The F5 key.
F5 = 94, // 0x0000005E
/// The F6 key.
F6 = 95, // 0x0000005F
/// The F7 key.
F7 = 96, // 0x00000060
/// The F8 key.
F8 = 97, // 0x00000061
/// The F9 key.
F9 = 98, // 0x00000062
/// The F10 key.
F10 = 99, // 0x00000063
/// The F11 key.
F11 = 100, // 0x00000064
/// The F12 key.
F12 = 101, // 0x00000065
/// The F13 key.
F13 = 102, // 0x00000066
/// The F14 key.
F14 = 103, // 0x00000067
/// The F15 key.
F15 = 104, // 0x00000068
/// The F16 key.
F16 = 105, // 0x00000069
/// The F17 key.
F17 = 106, // 0x0000006A
/// The F18 key.
F18 = 107, // 0x0000006B
/// The F19 key.
F19 = 108, // 0x0000006C
/// The F20 key.
F20 = 109, // 0x0000006D
/// The F21 key.
F21 = 110, // 0x0000006E
/// The F22 key.
F22 = 111, // 0x0000006F
/// The F23 key.
F23 = 112, // 0x00000070
/// The F24 key.
F24 = 113, // 0x00000071
/// The Num Lock key.
NumLock = 114, // 0x00000072
/// The Scroll Lock key.
Scroll = 115, // 0x00000073
/// The left Shift key.
LeftShift = 116, // 0x00000074
/// The right Shift key.
RightShift = 117, // 0x00000075
/// The left CTRL key.
LeftCtrl = 118, // 0x00000076
/// The right CTRL key.
RightCtrl = 119, // 0x00000077
/// The left ALT key.
LeftAlt = 120, // 0x00000078
/// The right ALT key.
RightAlt = 121, // 0x00000079
/// The Browser Back key.
BrowserBack = 122, // 0x0000007A
/// The Browser Forward key.
BrowserForward = 123, // 0x0000007B
/// The Browser Refresh key.
BrowserRefresh = 124, // 0x0000007C
/// The Browser Stop key.
BrowserStop = 125, // 0x0000007D
/// The Browser Search key.
BrowserSearch = 126, // 0x0000007E
/// The Browser Favorites key.
BrowserFavorites = 127, // 0x0000007F
/// The Browser Home key.
BrowserHome = 128, // 0x00000080
/// The Volume Mute key.
VolumeMute = 129, // 0x00000081
/// The Volume Down key.
VolumeDown = 130, // 0x00000082
/// The Volume Up key.
VolumeUp = 131, // 0x00000083
/// The Media Next Track key.
MediaNextTrack = 132, // 0x00000084
/// The Media Previous Track key.
MediaPreviousTrack = 133, // 0x00000085
/// The Media Stop key.
MediaStop = 134, // 0x00000086
/// The Media Play Pause key.
MediaPlayPause = 135, // 0x00000087
/// The Launch Mail key.
LaunchMail = 136, // 0x00000088
/// The Select Media key.
SelectMedia = 137, // 0x00000089
/// The Launch Application1 key.
LaunchApplication1 = 138, // 0x0000008A
/// The Launch Application2 key.
LaunchApplication2 = 139, // 0x0000008B
/// The OEM 1 key.
Oem1 = 140, // 0x0000008C
/// The OEM Semicolon key.
OemSemicolon = 140, // 0x0000008C
/// The OEM Addition key.
OemPlus = 141, // 0x0000008D
/// The OEM Comma key.
OemComma = 142, // 0x0000008E
/// The OEM Minus key.
OemMinus = 143, // 0x0000008F
/// The OEM Period key.
OemPeriod = 144, // 0x00000090
/// The OEM 2 key.
Oem2 = 145, // 0x00000091
/// The OEM Question key.
OemQuestion = 145, // 0x00000091
/// The OEM 3 key.
Oem3 = 146, // 0x00000092
/// The OEM Tilde key.
OemTilde = 146, // 0x00000092
/// The ABNT_C1 (Brazilian) key.
AbntC1 = 147, // 0x00000093
/// The ABNT_C2 (Brazilian) key.
AbntC2 = 148, // 0x00000094
/// The OEM 4 key.
Oem4 = 149, // 0x00000095
/// The OEM Open Brackets key.
OemOpenBrackets = 149, // 0x00000095
/// The OEM 5 key.
Oem5 = 150, // 0x00000096
/// The OEM Pipe key.
OemPipe = 150, // 0x00000096
/// The OEM 6 key.
Oem6 = 151, // 0x00000097
/// The OEM Close Brackets key.
OemCloseBrackets = 151, // 0x00000097
/// The OEM 7 key.
Oem7 = 152, // 0x00000098
/// The OEM Quotes key.
OemQuotes = 152, // 0x00000098
/// The OEM 8 key.
Oem8 = 153, // 0x00000099
/// The OEM 102 key.
Oem102 = 154, // 0x0000009A
/// The OEM Backslash key.
OemBackslash = 154, // 0x0000009A
/// A special key masking the real key being processed by an IME.
ImeProcessed = 155, // 0x0000009B
/// A special key masking the real key being processed as a system key.
System = 156, // 0x0000009C
/// The DBE_ALPHANUMERIC key.
DbeAlphanumeric = 157, // 0x0000009D
/// The OEM ATTN key.
OemAttn = 157, // 0x0000009D
/// The DBE_KATAKANA key.
DbeKatakana = 158, // 0x0000009E
/// The OEM FINISH key.
OemFinish = 158, // 0x0000009E
/// The DBE_HIRAGANA key.
DbeHiragana = 159, // 0x0000009F
/// The OEM COPY key.
OemCopy = 159, // 0x0000009F
/// The DBE_SBCSCHAR key.
DbeSbcsChar = 160, // 0x000000A0
/// The OEM AUTO key.
OemAuto = 160, // 0x000000A0
/// The DBE_DBCSCHAR key.
DbeDbcsChar = 161, // 0x000000A1
/// The OEM ENLW key.
OemEnlw = 161, // 0x000000A1
/// The DBE_ROMAN key.
DbeRoman = 162, // 0x000000A2
/// The OEM BACKTAB key.
OemBackTab = 162, // 0x000000A2
/// The ATTN key.
Attn = 163, // 0x000000A3
/// The DBE_NOROMAN key.
DbeNoRoman = 163, // 0x000000A3
/// The CRSEL key.
CrSel = 164, // 0x000000A4
/// The DBE_ENTERWORDREGISTERMODE key.
DbeEnterWordRegisterMode = 164, // 0x000000A4
/// The DBE_ENTERIMECONFIGMODE key.
DbeEnterImeConfigureMode = 165, // 0x000000A5
/// The EXSEL key.
ExSel = 165, // 0x000000A5
/// The DBE_FLUSHSTRING key.
DbeFlushString = 166, // 0x000000A6
/// The ERASE EOF key.
EraseEof = 166, // 0x000000A6
/// The DBE_CODEINPUT key.
DbeCodeInput = 167, // 0x000000A7
/// The PLAY key.
Play = 167, // 0x000000A7
/// The DBE_NOCODEINPUT key.
DbeNoCodeInput = 168, // 0x000000A8
/// The ZOOM key.
Zoom = 168, // 0x000000A8
/// The DBE_DETERMINESTRING key.
DbeDetermineString = 169, // 0x000000A9
/// A constant reserved for future use.
NoName = 169, // 0x000000A9
/// The DBE_ENTERDLGCONVERSIONMODE key.
DbeEnterDialogConversionMode = 170, // 0x000000AA
/// The PA1 key.
Pa1 = 170, // 0x000000AA
/// The OEM Clear key.
OemClear = 171, // 0x000000AB
/// The key is used with another key to create a single combined character.
DeadCharProcessed = 172 // 0x000000AC
}
public enum Keys
{
None = 0x00000000,
LButton = 0x00000001,
RButton = 0x00000002,
Cancel = 0x00000003,
MButton = 0x00000004,
XButton1 = 0x00000005,
XButton2 = 0x00000006,
Back = 0x00000008,
Tab = 0x00000009,
LineFeed = 0x0000000A,
Clear = 0x0000000C,
Return = 0x0000000D,
Enter = 0x0000000D,
ShiftKey = 0x00000010,
ControlKey = 0x00000011,
Menu = 0x00000012,
Pause = 0x00000013,
CapsLock = 0x00000014,
Capital = 0x00000014,
KanaMode = 0x00000015,
HanguelMode = 0x00000015,
HangulMode = 0x00000015,
JunjaMode = 0x00000017,
FinalMode = 0x00000018,
KanjiMode = 0x00000019,
HanjaMode = 0x00000019,
Escape = 0x0000001B,
IMEConvert = 0x0000001C,
IMENonconvert = 0x0000001D,
IMEAceept = 0x0000001E,
IMEModeChange = 0x0000001F,
Space = 0x00000020,
PageUp = 0x00000021,
Prior = 0x00000021,
PageDown = 0x00000022,
Next = 0x00000022,
End = 0x00000023,
Home = 0x00000024,
Left = 0x00000025,
Up = 0x00000026,
Right = 0x00000027,
Down = 0x00000028,
Select = 0x00000029,
Print = 0x0000002A,
Execute = 0x0000002B,
PrintScreen = 0x0000002C,
Snapshot = 0x0000002C,
Insert = 0x0000002D,
Delete = 0x0000002E,
Help = 0x0000002F,
D0 = 0x00000030,
D1 = 0x00000031,
D2 = 0x00000032,
D3 = 0x00000033,
D4 = 0x00000034,
D5 = 0x00000035,
D6 = 0x00000036,
D7 = 0x00000037,
D8 = 0x00000038,
D9 = 0x00000039,
A = 0x00000041,
B = 0x00000042,
C = 0x00000043,
D = 0x00000044,
E = 0x00000045,
F = 0x00000046,
G = 0x00000047,
H = 0x00000048,
I = 0x00000049,
J = 0x0000004A,
K = 0x0000004B,
L = 0x0000004C,
M = 0x0000004D,
N = 0x0000004E,
O = 0x0000004F,
P = 0x00000050,
Q = 0x00000051,
R = 0x00000052,
S = 0x00000053,
T = 0x00000054,
U = 0x00000055,
V = 0x00000056,
W = 0x00000057,
X = 0x00000058,
Y = 0x00000059,
Z = 0x0000005A,
LWin = 0x0000005B,
RWin = 0x0000005C,
Apps = 0x0000005D,
NumPad0 = 0x00000060,
NumPad1 = 0x00000061,
NumPad2 = 0x00000062,
NumPad3 = 0x00000063,
NumPad4 = 0x00000064,
NumPad5 = 0x00000065,
NumPad6 = 0x00000066,
NumPad7 = 0x00000067,
NumPad8 = 0x00000068,
NumPad9 = 0x00000069,
Multiply = 0x0000006A,
Add = 0x0000006B,
Separator = 0x0000006C,
Subtract = 0x0000006D,
Decimal = 0x0000006E,
Divide = 0x0000006F,
F1 = 0x00000070,
F2 = 0x00000071,
F3 = 0x00000072,
F4 = 0x00000073,
F5 = 0x00000074,
F6 = 0x00000075,
F7 = 0x00000076,
F8 = 0x00000077,
F9 = 0x00000078,
F10 = 0x00000079,
F11 = 0x0000007A,
F12 = 0x0000007B,
F13 = 0x0000007C,
F14 = 0x0000007D,
F15 = 0x0000007E,
F16 = 0x0000007F,
F17 = 0x00000080,
F18 = 0x00000081,
F19 = 0x00000082,
F20 = 0x00000083,
F21 = 0x00000084,
F22 = 0x00000085,
F23 = 0x00000086,
F24 = 0x00000087,
NumLock = 0x00000090,
Scroll = 0x00000091,
LShiftKey = 0x000000A0,
RShiftKey = 0x000000A1,
LControlKey = 0x000000A2,
RControlKey = 0x000000A3,
LMenu = 0x000000A4,
RMenu = 0x000000A5,
BrowserBack = 0x000000A6,
BrowserForward = 0x000000A7,
BrowserRefresh = 0x000000A8,
BrowserStop = 0x000000A9,
BrowserSearch = 0x000000AA,
BrowserFavorites = 0x000000AB,
BrowserHome = 0x000000AC,
VolumeMute = 0x000000AD,
VolumeDown = 0x000000AE,
VolumeUp = 0x000000AF,
MediaNextTrack = 0x000000B0,
MediaPreviousTrack = 0x000000B1,
MediaStop = 0x000000B2,
MediaPlayPause = 0x000000B3,
LaunchMail = 0x000000B4,
SelectMedia = 0x000000B5,
LaunchApplication1 = 0x000000B6,
LaunchApplication2 = 0x000000B7,
OemSemicolon = 0x000000BA,
Oemplus = 0x000000BB,
Oemcomma = 0x000000BC,
OemMinus = 0x000000BD,
OemPeriod = 0x000000BE,
OemQuestion = 0x000000BF,
Oemtilde = 0x000000C0,
OemOpenBrackets = 0x000000DB,
OemPipe = 0x000000DC,
OemCloseBrackets = 0x000000DD,
OemQuotes = 0x000000DE,
Oem8 = 0x000000DF,
OemBackslash = 0x000000E2,
ProcessKey = 0x000000E5,
Attn = 0x000000F6,
Crsel = 0x000000F7,
Exsel = 0x000000F8,
EraseEof = 0x000000F9,
Play = 0x000000FA,
Zoom = 0x000000FB,
NoName = 0x000000FC,
Pa1 = 0x000000FD,
OemClear = 0x000000FE,
KeyCode = 0x0000FFFF,
Shift = 0x00010000,
Control = 0x00020000,
Alt = 0x00040000,
Modifiers = unchecked( (int) 0xFFFF0000 ),
IMEAccept = 0x0000001E,
Oem1 = 0x000000BA,
Oem102 = 0x000000E2,
Oem2 = 0x000000BF,
Oem3 = 0x000000C0,
Oem4 = 0x000000DB,
Oem5 = 0x000000DC,
Oem6 = 0x000000DD,
Oem7 = 0x000000DE,
Packet = 0x000000E7,
Sleep = 0x0000005F
}
}