|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
namespace POSV.Utils
|
|
|
|
|
{
|
|
|
|
|
public enum VirtualKeyCode //: UInt16
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Left mouse button
|
|
|
|
|
/// </summary>
|
|
|
|
|
LBUTTON = 0x01,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Right mouse button
|
|
|
|
|
/// </summary>
|
|
|
|
|
RBUTTON = 0x02,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Control-break processing
|
|
|
|
|
/// </summary>
|
|
|
|
|
CANCEL = 0x03,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Middle mouse button (three-button mouse) - NOT contiguous with LBUTTON and RBUTTON
|
|
|
|
|
/// </summary>
|
|
|
|
|
MBUTTON = 0x04,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: X1 mouse button - NOT contiguous with LBUTTON and RBUTTON
|
|
|
|
|
/// </summary>
|
|
|
|
|
XBUTTON1 = 0x05,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: X2 mouse button - NOT contiguous with LBUTTON and RBUTTON
|
|
|
|
|
/// </summary>
|
|
|
|
|
XBUTTON2 = 0x06,
|
|
|
|
|
|
|
|
|
|
// 0x07 : Undefined
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// BACKSPACE key
|
|
|
|
|
/// </summary>
|
|
|
|
|
BACK = 0x08,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// TAB key
|
|
|
|
|
/// </summary>
|
|
|
|
|
TAB = 0x09,
|
|
|
|
|
|
|
|
|
|
// 0x0A - 0x0B : Reserved
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// CLEAR key
|
|
|
|
|
/// </summary>
|
|
|
|
|
CLEAR = 0x0C,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// ENTER key
|
|
|
|
|
/// </summary>
|
|
|
|
|
RETURN = 0x0D,
|
|
|
|
|
|
|
|
|
|
// 0x0E - 0x0F : Undefined
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// SHIFT key
|
|
|
|
|
/// </summary>
|
|
|
|
|
SHIFT = 0x10,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// CTRL key
|
|
|
|
|
/// </summary>
|
|
|
|
|
CONTROL = 0x11,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// ALT key
|
|
|
|
|
/// </summary>
|
|
|
|
|
MENU = 0x12,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// PAUSE key
|
|
|
|
|
/// </summary>
|
|
|
|
|
PAUSE = 0x13,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// CAPS LOCK key
|
|
|
|
|
/// </summary>
|
|
|
|
|
CAPITAL = 0x14,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Input Method Editor (IME) Kana mode
|
|
|
|
|
/// </summary>
|
|
|
|
|
KANA = 0x15,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// IME Hanguel mode (maintained for compatibility; use HANGUL)
|
|
|
|
|
/// </summary>
|
|
|
|
|
HANGEUL = 0x15,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// IME Hangul mode
|
|
|
|
|
/// </summary>
|
|
|
|
|
HANGUL = 0x15,
|
|
|
|
|
|
|
|
|
|
// 0x16 : Undefined
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// IME Junja mode
|
|
|
|
|
/// </summary>
|
|
|
|
|
JUNJA = 0x17,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// IME final mode
|
|
|
|
|
/// </summary>
|
|
|
|
|
FINAL = 0x18,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// IME Hanja mode
|
|
|
|
|
/// </summary>
|
|
|
|
|
HANJA = 0x19,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// IME Kanji mode
|
|
|
|
|
/// </summary>
|
|
|
|
|
KANJI = 0x19,
|
|
|
|
|
|
|
|
|
|
// 0x1A : Undefined
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// ESC key
|
|
|
|
|
/// </summary>
|
|
|
|
|
ESCAPE = 0x1B,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// IME convert
|
|
|
|
|
/// </summary>
|
|
|
|
|
CONVERT = 0x1C,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// IME nonconvert
|
|
|
|
|
/// </summary>
|
|
|
|
|
NONCONVERT = 0x1D,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// IME accept
|
|
|
|
|
/// </summary>
|
|
|
|
|
ACCEPT = 0x1E,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// IME mode change request
|
|
|
|
|
/// </summary>
|
|
|
|
|
MODECHANGE = 0x1F,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// SPACEBAR
|
|
|
|
|
/// </summary>
|
|
|
|
|
SPACE = 0x20,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// PAGE UP key
|
|
|
|
|
/// </summary>
|
|
|
|
|
PRIOR = 0x21,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// PAGE DOWN key
|
|
|
|
|
/// </summary>
|
|
|
|
|
NEXT = 0x22,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// END key
|
|
|
|
|
/// </summary>
|
|
|
|
|
END = 0x23,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// HOME key
|
|
|
|
|
/// </summary>
|
|
|
|
|
HOME = 0x24,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// LEFT ARROW key
|
|
|
|
|
/// </summary>
|
|
|
|
|
LEFT = 0x25,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// UP ARROW key
|
|
|
|
|
/// </summary>
|
|
|
|
|
UP = 0x26,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// RIGHT ARROW key
|
|
|
|
|
/// </summary>
|
|
|
|
|
RIGHT = 0x27,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// DOWN ARROW key
|
|
|
|
|
/// </summary>
|
|
|
|
|
DOWN = 0x28,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// SELECT key
|
|
|
|
|
/// </summary>
|
|
|
|
|
SELECT = 0x29,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// PRINT key
|
|
|
|
|
/// </summary>
|
|
|
|
|
PRINT = 0x2A,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// EXECUTE key
|
|
|
|
|
/// </summary>
|
|
|
|
|
EXECUTE = 0x2B,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// PRINT SCREEN key
|
|
|
|
|
/// </summary>
|
|
|
|
|
SNAPSHOT = 0x2C,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// INS key
|
|
|
|
|
/// </summary>
|
|
|
|
|
INSERT = 0x2D,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// DEL key
|
|
|
|
|
/// </summary>
|
|
|
|
|
DELETE = 0x2E,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// HELP key
|
|
|
|
|
/// </summary>
|
|
|
|
|
HELP = 0x2F,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 0 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_0 = 0x30,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 1 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_1 = 0x31,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 2 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_2 = 0x32,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 3 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_3 = 0x33,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 4 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_4 = 0x34,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 5 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_5 = 0x35,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 6 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_6 = 0x36,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 7 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_7 = 0x37,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 8 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_8 = 0x38,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 9 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_9 = 0x39,
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// 0x3A - 0x40 : Udefined
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// A key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_A = 0x41,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// B key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_B = 0x42,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// C key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_C = 0x43,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// D key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_D = 0x44,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// E key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_E = 0x45,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_F = 0x46,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// G key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_G = 0x47,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// H key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_H = 0x48,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// I key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_I = 0x49,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// J key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_J = 0x4A,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// K key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_K = 0x4B,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// L key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_L = 0x4C,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// M key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_M = 0x4D,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// N key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_N = 0x4E,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// O key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_O = 0x4F,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// P key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_P = 0x50,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Q key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_Q = 0x51,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// R key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_R = 0x52,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// S key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_S = 0x53,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// T key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_T = 0x54,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// U key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_U = 0x55,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// V key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_V = 0x56,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// W key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_W = 0x57,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// X key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_X = 0x58,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Y key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_Y = 0x59,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Z key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VK_Z = 0x5A,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Left Windows key (Microsoft Natural keyboard)
|
|
|
|
|
/// </summary>
|
|
|
|
|
LWIN = 0x5B,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Right Windows key (Natural keyboard)
|
|
|
|
|
/// </summary>
|
|
|
|
|
RWIN = 0x5C,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Applications key (Natural keyboard)
|
|
|
|
|
/// </summary>
|
|
|
|
|
APPS = 0x5D,
|
|
|
|
|
|
|
|
|
|
// 0x5E : reserved
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Computer Sleep key
|
|
|
|
|
/// </summary>
|
|
|
|
|
SLEEP = 0x5F,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Numeric keypad 0 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
NUMPAD0 = 0x60,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Numeric keypad 1 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
NUMPAD1 = 0x61,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Numeric keypad 2 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
NUMPAD2 = 0x62,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Numeric keypad 3 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
NUMPAD3 = 0x63,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Numeric keypad 4 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
NUMPAD4 = 0x64,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Numeric keypad 5 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
NUMPAD5 = 0x65,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Numeric keypad 6 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
NUMPAD6 = 0x66,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Numeric keypad 7 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
NUMPAD7 = 0x67,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Numeric keypad 8 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
NUMPAD8 = 0x68,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Numeric keypad 9 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
NUMPAD9 = 0x69,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Multiply key
|
|
|
|
|
/// </summary>
|
|
|
|
|
MULTIPLY = 0x6A,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Add key
|
|
|
|
|
/// </summary>
|
|
|
|
|
ADD = 0x6B,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Separator key
|
|
|
|
|
/// </summary>
|
|
|
|
|
SEPARATOR = 0x6C,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Subtract key
|
|
|
|
|
/// </summary>
|
|
|
|
|
SUBTRACT = 0x6D,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Decimal key
|
|
|
|
|
/// </summary>
|
|
|
|
|
DECIMAL = 0x6E,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Divide key
|
|
|
|
|
/// </summary>
|
|
|
|
|
DIVIDE = 0x6F,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F1 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F1 = 0x70,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F2 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F2 = 0x71,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F3 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F3 = 0x72,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F4 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F4 = 0x73,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F5 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F5 = 0x74,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F6 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F6 = 0x75,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F7 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F7 = 0x76,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F8 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F8 = 0x77,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F9 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F9 = 0x78,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F10 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F10 = 0x79,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F11 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F11 = 0x7A,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F12 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F12 = 0x7B,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F13 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F13 = 0x7C,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F14 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F14 = 0x7D,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F15 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F15 = 0x7E,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F16 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F16 = 0x7F,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F17 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F17 = 0x80,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F18 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F18 = 0x81,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F19 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F19 = 0x82,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F20 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F20 = 0x83,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F21 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F21 = 0x84,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F22 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F22 = 0x85,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F23 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F23 = 0x86,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// F24 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
F24 = 0x87,
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// 0x88 - 0x8F : Unassigned
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// NUM LOCK key
|
|
|
|
|
/// </summary>
|
|
|
|
|
NUMLOCK = 0x90,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// SCROLL LOCK key
|
|
|
|
|
/// </summary>
|
|
|
|
|
SCROLL = 0x91,
|
|
|
|
|
|
|
|
|
|
// 0x92 - 0x96 : OEM Specific
|
|
|
|
|
|
|
|
|
|
// 0x97 - 0x9F : Unassigned
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// L* & R* - left and right Alt, Ctrl and Shift virtual keys.
|
|
|
|
|
// Used only as parameters to GetAsyncKeyState() and GetKeyState().
|
|
|
|
|
// No other API or message will distinguish left and right keys in this way.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Left SHIFT key - Used only as parameters to GetAsyncKeyState() and GetKeyState()
|
|
|
|
|
/// </summary>
|
|
|
|
|
LSHIFT = 0xA0,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Right SHIFT key - Used only as parameters to GetAsyncKeyState() and GetKeyState()
|
|
|
|
|
/// </summary>
|
|
|
|
|
RSHIFT = 0xA1,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Left CONTROL key - Used only as parameters to GetAsyncKeyState() and GetKeyState()
|
|
|
|
|
/// </summary>
|
|
|
|
|
LCONTROL = 0xA2,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Right CONTROL key - Used only as parameters to GetAsyncKeyState() and GetKeyState()
|
|
|
|
|
/// </summary>
|
|
|
|
|
RCONTROL = 0xA3,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Left MENU key - Used only as parameters to GetAsyncKeyState() and GetKeyState()
|
|
|
|
|
/// </summary>
|
|
|
|
|
LMENU = 0xA4,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Right MENU key - Used only as parameters to GetAsyncKeyState() and GetKeyState()
|
|
|
|
|
/// </summary>
|
|
|
|
|
RMENU = 0xA5,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Browser Back key
|
|
|
|
|
/// </summary>
|
|
|
|
|
BROWSER_BACK = 0xA6,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Browser Forward key
|
|
|
|
|
/// </summary>
|
|
|
|
|
BROWSER_FORWARD = 0xA7,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Browser Refresh key
|
|
|
|
|
/// </summary>
|
|
|
|
|
BROWSER_REFRESH = 0xA8,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Browser Stop key
|
|
|
|
|
/// </summary>
|
|
|
|
|
BROWSER_STOP = 0xA9,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Browser Search key
|
|
|
|
|
/// </summary>
|
|
|
|
|
BROWSER_SEARCH = 0xAA,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Browser Favorites key
|
|
|
|
|
/// </summary>
|
|
|
|
|
BROWSER_FAVORITES = 0xAB,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Browser Start and Home key
|
|
|
|
|
/// </summary>
|
|
|
|
|
BROWSER_HOME = 0xAC,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Volume Mute key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VOLUME_MUTE = 0xAD,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Volume Down key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VOLUME_DOWN = 0xAE,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Volume Up key
|
|
|
|
|
/// </summary>
|
|
|
|
|
VOLUME_UP = 0xAF,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Next Track key
|
|
|
|
|
/// </summary>
|
|
|
|
|
MEDIA_NEXT_TRACK = 0xB0,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Previous Track key
|
|
|
|
|
/// </summary>
|
|
|
|
|
MEDIA_PREV_TRACK = 0xB1,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Stop Media key
|
|
|
|
|
/// </summary>
|
|
|
|
|
MEDIA_STOP = 0xB2,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Play/Pause Media key
|
|
|
|
|
/// </summary>
|
|
|
|
|
MEDIA_PLAY_PAUSE = 0xB3,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Start Mail key
|
|
|
|
|
/// </summary>
|
|
|
|
|
LAUNCH_MAIL = 0xB4,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Select Media key
|
|
|
|
|
/// </summary>
|
|
|
|
|
LAUNCH_MEDIA_SELECT = 0xB5,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Start Application 1 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
LAUNCH_APP1 = 0xB6,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Start Application 2 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
LAUNCH_APP2 = 0xB7,
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// 0xB8 - 0xB9 : Reserved
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ';:' key
|
|
|
|
|
/// </summary>
|
|
|
|
|
OEM_1 = 0xBA,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: For any country/region, the '+' key
|
|
|
|
|
/// </summary>
|
|
|
|
|
OEM_PLUS = 0xBB,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: For any country/region, the ',' key
|
|
|
|
|
/// </summary>
|
|
|
|
|
OEM_COMMA = 0xBC,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: For any country/region, the '-' key
|
|
|
|
|
/// </summary>
|
|
|
|
|
OEM_MINUS = 0xBD,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: For any country/region, the '.' key
|
|
|
|
|
/// </summary>
|
|
|
|
|
OEM_PERIOD = 0xBE,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '/?' key
|
|
|
|
|
/// </summary>
|
|
|
|
|
OEM_2 = 0xBF,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '`~' key
|
|
|
|
|
/// </summary>
|
|
|
|
|
OEM_3 = 0xC0,
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// 0xC1 - 0xD7 : Reserved
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// 0xD8 - 0xDA : Unassigned
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '[{' key
|
|
|
|
|
/// </summary>
|
|
|
|
|
OEM_4 = 0xDB,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '\|' key
|
|
|
|
|
/// </summary>
|
|
|
|
|
OEM_5 = 0xDC,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ']}' key
|
|
|
|
|
/// </summary>
|
|
|
|
|
OEM_6 = 0xDD,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the 'single-quote/double-quote' key
|
|
|
|
|
/// </summary>
|
|
|
|
|
OEM_7 = 0xDE,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Used for miscellaneous characters; it can vary by keyboard.
|
|
|
|
|
/// </summary>
|
|
|
|
|
OEM_8 = 0xDF,
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// 0xE0 : Reserved
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// 0xE1 : OEM Specific
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard
|
|
|
|
|
/// </summary>
|
|
|
|
|
OEM_102 = 0xE2,
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// (0xE3-E4) : OEM specific
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key
|
|
|
|
|
/// </summary>
|
|
|
|
|
PROCESSKEY = 0xE5,
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// 0xE6 : OEM specific
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Windows 2000/XP: 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. For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP
|
|
|
|
|
/// </summary>
|
|
|
|
|
PACKET = 0xE7,
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// 0xE8 : Unassigned
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// 0xE9-F5 : OEM specific
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Attn key
|
|
|
|
|
/// </summary>
|
|
|
|
|
ATTN = 0xF6,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// CrSel key
|
|
|
|
|
/// </summary>
|
|
|
|
|
CRSEL = 0xF7,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// ExSel key
|
|
|
|
|
/// </summary>
|
|
|
|
|
EXSEL = 0xF8,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Erase EOF key
|
|
|
|
|
/// </summary>
|
|
|
|
|
EREOF = 0xF9,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Play key
|
|
|
|
|
/// </summary>
|
|
|
|
|
PLAY = 0xFA,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Zoom key
|
|
|
|
|
/// </summary>
|
|
|
|
|
ZOOM = 0xFB,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Reserved
|
|
|
|
|
/// </summary>
|
|
|
|
|
NONAME = 0xFC,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// PA1 key
|
|
|
|
|
/// </summary>
|
|
|
|
|
PA1 = 0xFD,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Clear key
|
|
|
|
|
/// </summary>
|
|
|
|
|
OEM_CLEAR = 0xFE,
|
|
|
|
|
}
|
|
|
|
|
}
|