3074/Utils/VirtualKey.cs

226 lines
10 KiB
C#

namespace tsf_3074
{
public static class VirtualKey
{
public const uint ModNone = 0x0000;
public const uint ModAlt = 0x0001;
public const uint ModCtrl = 0x0002;
public const uint ModShift = 0x0004;
public const uint ModWin = 0x0008;
public static string GetModifierName(uint mod)
{
switch (mod)
{
case ModNone: return "None";
case ModAlt: return "Alt";
case ModCtrl: return "Ctrl";
case ModShift: return "Shift";
case ModCtrl | ModAlt: return "Ctrl + Alt";
case ModCtrl | ModShift: return "Ctrl + Shift";
case ModAlt | ModShift: return "Alt + Shift";
case ModCtrl | ModAlt | ModShift: return "Ctrl + Shift + Alt";
default: return "Unknown";
}
}
// https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
public const uint VkLButton = 0x01; // Left mouse button
public const uint VkRButton = 0x02; // Right mouse button
public const uint VkCancel = 0x03; // Control-break processing
public const uint VkMButton = 0x04; // Middle mouse button
public const uint VkXButton1 = 0x05; // X1 mouse button
public const uint VkXButton2 = 0x06; // X2 mouse button
public const uint VkBack = 0x08; // BACKSPACE key
public const uint VkTab = 0x09; // TAB key
public const uint VkClear = 0x0C; // CLEAR key
public const uint VkReturn = 0x0D; // ENTER key
public const uint VkShift = 0x10; // SHIFT key
public const uint VkControl = 0x11; // CTRL key
public const uint VkMenu = 0x12; // ALT key
public const uint VkPause = 0x13; // PAUSE key
public const uint VkCapital = 0x14; // CAPS LOCK key
public const uint VkKana = 0x15; // IME Kana mode
public const uint VkHangul = 0x15; // IME Hangul mode
public const uint VkImeOn = 0x16; // IME On
public const uint VkJunja = 0x17; // IME Junja mode
public const uint VkFinal = 0x18; // IME final mode
public const uint VkHanja = 0x19; // IME Hanja mode
public const uint VkKanji = 0x19; // IME Kanji mode
public const uint VkImeOff = 0x1A; // IME Off
public const uint VkEscape = 0x1B; // ESC key
public const uint VkConvert = 0x1C; // IME convert
public const uint VkNonConvert = 0x1D; // IME nonconvert
public const uint VkAccept = 0x1E; // IME accept
public const uint VkModeChange = 0x1F; // IME mode change request
public const uint VkSpace = 0x20; // SPACEBAR
public const uint VkPrior = 0x21; // PAGE UP key
public const uint VkNext = 0x22; // PAGE DOWN key
public const uint VkEnd = 0x23; // END key
public const uint VkHome = 0x24; // HOME key
public const uint VkLeft = 0x25; // LEFT ARROW key
public const uint VkUp = 0x26; // UP ARROW key
public const uint VkRight = 0x27; // RIGHT ARROW key
public const uint VkDown = 0x28; // DOWN ARROW key
public const uint VkSelect = 0x29; // SELECT key
public const uint VkPrint = 0x2A; // PRINT key
public const uint VkExecute = 0x2B; // EXECUTE key
public const uint VkSnapshot = 0x2C; // PRINT SCREEN key
public const uint VkInsert = 0x2D; // INS key
public const uint VkDelete = 0x2E; // DEL key
public const uint VkHelp = 0x2F; // HELP key
public const uint Vk0 = 0x30;
public const uint Vk1 = 0x31;
public const uint Vk2 = 0x32;
public const uint Vk3 = 0x33;
public const uint Vk4 = 0x34;
public const uint Vk5 = 0x35;
public const uint Vk6 = 0x36;
public const uint Vk7 = 0x37;
public const uint Vk8 = 0x38;
public const uint Vk9 = 0x39;
public const uint VkA = 0x41;
public const uint VkB = 0x42;
public const uint VkC = 0x43;
public const uint VkD = 0x44;
public const uint VkE = 0x45;
public const uint VkF = 0x46;
public const uint VkG = 0x47;
public const uint VkH = 0x48;
public const uint VkI = 0x49;
public const uint VkJ = 0x4A;
public const uint VkK = 0x4B;
public const uint VkL = 0x4C;
public const uint VkM = 0x4D;
public const uint VkN = 0x4E;
public const uint VkO = 0x4F;
public const uint VkP = 0x50;
public const uint VkQ = 0x51;
public const uint VkR = 0x52;
public const uint VkS = 0x53;
public const uint VkT = 0x54;
public const uint VkU = 0x55;
public const uint VkV = 0x56;
public const uint VkW = 0x57;
public const uint VkX = 0x58;
public const uint VkY = 0x59;
public const uint VkZ = 0x5A;
public const uint VkLWin = 0x5B; // Left Windows key
public const uint VkRWin = 0x5C; // Right Windows key
public const uint VkApps = 0x5D; // Applications key
public const uint VkSleep = 0x5F; // Computer Sleep key
public const uint VkNumpad0 = 0x60; // Numeric keypad 0 key
public const uint VkNumpad1 = 0x61; // Numeric keypad 1 key
public const uint VkNumpad2 = 0x62; // Numeric keypad 2 key
public const uint VkNumpad3 = 0x63; // Numeric keypad 3 key
public const uint VkNumpad4 = 0x64; // Numeric keypad 4 key
public const uint VkNumpad5 = 0x65; // Numeric keypad 5 key
public const uint VkNumpad6 = 0x66; // Numeric keypad 6 key
public const uint VkNumpad7 = 0x67; // Numeric keypad 7 key
public const uint VkNumpad8 = 0x68; // Numeric keypad 8 key
public const uint VkNumpad9 = 0x69; // Numeric keypad 9 key
public const uint VkMultiply = 0x6A; // Multiply key
public const uint VkAdd = 0x6B; // Add key
public const uint VkSeparator = 0x6C; // Separator key
public const uint VkSubtract = 0x6D; // Subtract key
public const uint VkDecimal = 0x6E; // Decimal key
public const uint VkDivide = 0x6F; // Divide key
public const uint VkF1 = 0x70; // F1 key
public const uint VkF2 = 0x71; // F2 key
public const uint VkF3 = 0x72; // F3 key
public const uint VkF4 = 0x73; // F4 key
public const uint VkF5 = 0x74; // F5 key
public const uint VkF6 = 0x75; // F6 key
public const uint VkF7 = 0x76; // F7 key
public const uint VkF8 = 0x77; // F8 key
public const uint VkF9 = 0x78; // F9 key
public const uint VkF10 = 0x79; // F10 key
public const uint VkF11 = 0x7A; // F11 key
public const uint VkF12 = 0x7B; // F12 key
public const uint VkF13 = 0x7C; // F13 key
public const uint VkF14 = 0x7D; // F14 key
public const uint VkF15 = 0x7E; // F15 key
public const uint VkF16 = 0x7F; // F16 key
public const uint VkF17 = 0x80; // F17 key
public const uint VkF18 = 0x81; // F18 key
public const uint VkF19 = 0x82; // F19 key
public const uint VkF20 = 0x83; // F20 key
public const uint VkF21 = 0x84; // F21 key
public const uint VkF22 = 0x85; // F22 key
public const uint VkF23 = 0x86; // F23 key
public const uint VkF24 = 0x87; // F24 key
public const uint VkNumlock = 0x90; // NUM LOCK key
public const uint VkScroll = 0x91; // SCROLL LOCK key
public const uint VkLShift = 0xA0; // Left SHIFT key
public const uint VkRShift = 0xA1; // Right SHIFT key
public const uint VkLControl = 0xA2; // Left CONTROL key
public const uint VkRControl = 0xA3; // Right CONTROL key
public const uint VkLMenu = 0xA4; // Left ALT key
public const uint VkRMenu = 0xA5; // Right ALT key
public const uint VkBrowserBack = 0xA6; // Browser Back key
public const uint VkBrowserForward = 0xA7; // Browser Forward key
public const uint VkBrowserRefresh = 0xA8; // Browser Refresh key
public const uint VkBrowserStop = 0xA9; // Browser Stop key
public const uint VkBrowserSearch = 0xAA; // Browser Search key
public const uint VkBrowserFavorites = 0xAB; // Browser Favorites key
public const uint VkBrowserHome = 0xAC; // Browser Start and Home key
public const uint VkVolumeMute = 0xAD; // Volume Mute key
public const uint VkVolumeDown = 0xAE; // Volume Down key
public const uint VkVolumeUp = 0xAF; // Volume Up key
public const uint VkMediaNextTrack = 0xB0; // Next Track key
public const uint VkMediaPrevTrack = 0xB1; // Previous Track key
public const uint VkMediaStop = 0xB2; // Stop Media key
public const uint VkMediaPlayPause = 0xB3; // Play/Pause Media key
public const uint VkLaunchMail = 0xB4; // Start Mail key
public const uint VkLaunchMediaSelect = 0xB5; // Select Media key
public const uint VkLaunchApp1 = 0xB6; // Start Application 1 key
public const uint VkLaunchApp2 = 0xB7; // Start Application 2 key
public const uint
VkOem1 = 0xBA; // Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ;: key
public const uint VkOemPlus = 0xBB; // For any country/region, the + key
public const uint VkOemComma = 0xBC; // For any country/region, the , key
public const uint VkOemMinus = 0xBD; // For any country/region, the - key
public const uint VkOemPeriod = 0xBE; // For any country/region, the . key
public const uint
VkOem2 = 0xBF; // Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the /? key
public const uint
VkOem3 = 0xC0; // Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the `~ key
public const uint
VkOem4 = 0xDB; // Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the [{ key
public const uint
VkOem5 = 0xDC; // Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the \\| key
public const uint
VkOem6 = 0xDD; // Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ]} key
public const uint
VkOem7 = 0xDE; // Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '" key
public const uint VkOem8 = 0xDF; // Used for miscellaneous characters; it can vary by keyboard.
public const uint
VkOem102 = 0xE2; // The <> keys on the US standard keyboard, or the \\| key on the non-US 102-key keyboard
public const uint VkProcessKey = 0xE5; // IME PROCESS key
public const uint
VkPacket = 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
public const uint VkAttn = 0xF6; // Attn key
public const uint VkCrSel = 0xF7; // CrSel key
public const uint VkExSel = 0xF8; // ExSel key
public const uint VkErEof = 0xF9; // Erase EOF key
public const uint VkPlay = 0xFA; // Play key
public const uint VkZoom = 0xFB; // Zoom key
public const uint VkNoname = 0xFC; // Reserved
public const uint VkPa1 = 0xFD; // PA1 key
public const uint VkOemClear = 0xFE; // Clear key
}
}