184 lines
7.2 KiB
C
184 lines
7.2 KiB
C
#pragma once
|
|
|
|
#include <Core/Common/CoreTypes.h>
|
|
|
|
typedef uint32 KeyCode;
|
|
enum
|
|
{
|
|
KeyCode_Unknown = 0x0u,
|
|
KeyCode_Unsupported = 0x0u,
|
|
KeyCode_Return = 0x0Du,
|
|
KeyCode_Escape = 0x1Bu,
|
|
KeyCode_Backspace = 0x08u,
|
|
KeyCode_Tab = 0x09u,
|
|
KeyCode_Space = 0x20u,
|
|
KeyCode_ExclamationPoint = 0x21u,
|
|
KeyCode_DoubleApostrophe = 0x22u,
|
|
KeyCode_Hash = 0x23u,
|
|
KeyCode_Dollar = 0x24u,
|
|
KeyCode_Percent = 0x25u,
|
|
KeyCode_Ampersand = 0x26u,
|
|
KeyCode_Apostrophe = 0x27u,
|
|
KeyCode_LeftParenthesis = 0x28u,
|
|
KeyCode_RightParenthesis = 0x29u,
|
|
KeyCode_Asterisk = 0x2Au,
|
|
KeyCode_Plus = 0x2Bu,
|
|
KeyCode_Comma = 0x2Cu,
|
|
KeyCode_Minus = 0x2Du,
|
|
KeyCode_Period = 0x2Eu,
|
|
KeyCode_Slash = 0x2Fu,
|
|
KeyCode_Num0 = 0x30u,
|
|
KeyCode_Num1 = 0x31u,
|
|
KeyCode_Num2 = 0x32u,
|
|
KeyCode_Num3 = 0x33u,
|
|
KeyCode_Num4 = 0x34u,
|
|
KeyCode_Num5 = 0x35u,
|
|
KeyCode_Num6 = 0x36u,
|
|
KeyCode_Num7 = 0x37u,
|
|
KeyCode_Num8 = 0x38u,
|
|
KeyCode_Num9 = 0x39u,
|
|
KeyCode_Colon = 0x3Au,
|
|
KeyCode_Semicolon = 0x3Bu,
|
|
KeyCode_LessThan = 0x3Cu,
|
|
KeyCode_Equals = 0x3Du,
|
|
KeyCode_GreaterThan = 0x3Eu,
|
|
KeyCode_QuestionMark = 0x3Fu,
|
|
KeyCode_CommercialAt = 0x40u,
|
|
KeyCode_LeftBracket = 0x5Bu,
|
|
KeyCode_Backslash = 0x5Cu,
|
|
KeyCode_RightBracket = 0x5Du,
|
|
KeyCode_Caret = 0x5Eu,
|
|
KeyCode_Underscore = 0x5Fu,
|
|
KeyCode_GraveAccent = 0x60u,
|
|
KeyCode_A = 0x61u,
|
|
KeyCode_B = 0x62u,
|
|
KeyCode_C = 0x63u,
|
|
KeyCode_D = 0x64u,
|
|
KeyCode_E = 0x65u,
|
|
KeyCode_F = 0x66u,
|
|
KeyCode_G = 0x67u,
|
|
KeyCode_H = 0x68u,
|
|
KeyCode_I = 0x69u,
|
|
KeyCode_J = 0x6Au,
|
|
KeyCode_K = 0x6Bu,
|
|
KeyCode_L = 0x6Cu,
|
|
KeyCode_M = 0x6Du,
|
|
KeyCode_N = 0x6Eu,
|
|
KeyCode_O = 0x6Fu,
|
|
KeyCode_P = 0x70u,
|
|
KeyCode_Q = 0x71u,
|
|
KeyCode_R = 0x72u,
|
|
KeyCode_S = 0x73u,
|
|
KeyCode_T = 0x74u,
|
|
KeyCode_U = 0x75u,
|
|
KeyCode_V = 0x76u,
|
|
KeyCode_W = 0x77u,
|
|
KeyCode_X = 0x78u,
|
|
KeyCode_Y = 0x79u,
|
|
KeyCode_Z = 0x7Au,
|
|
KeyCode_LeftBrace = 0x7Bu,
|
|
KeyCode_Pipe = 0x7Cu,
|
|
KeyCode_RightBrace = 0x7Du,
|
|
KeyCode_Tilde = 0x7Eu,
|
|
KeyCode_Delete = 0x7Fu,
|
|
KeyCode_PlusMinus = 0xb1u,
|
|
|
|
KeyCode_CapsLock = 0x40000039u,
|
|
KeyCode_F1 = 0x4000003Au,
|
|
KeyCode_F2 = 0x4000003Bu,
|
|
KeyCode_F3 = 0x4000003Cu,
|
|
KeyCode_F4 = 0x4000003Du,
|
|
KeyCode_F5 = 0x4000003Eu,
|
|
KeyCode_F6 = 0x4000003Fu,
|
|
KeyCode_F7 = 0x40000040u,
|
|
KeyCode_F8 = 0x40000041u,
|
|
KeyCode_F9 = 0x40000042u,
|
|
KeyCode_F10 = 0x40000043u,
|
|
KeyCode_F11 = 0x40000044u,
|
|
KeyCode_F12 = 0x40000045u,
|
|
KeyCode_PrintScreen = 0x40000046u,
|
|
KeyCode_ScrollLock = 0x40000047u,
|
|
KeyCode_Pause = 0x40000048u,
|
|
KeyCode_Insert = 0x40000049u,
|
|
KeyCode_Home = 0x4000004Au,
|
|
KeyCode_PageUp = 0x4000004Bu,
|
|
KeyCode_End = 0x4000004Du,
|
|
KeyCode_PageDown = 0x4000004Eu,
|
|
KeyCode_RightArrow = 0x4000004Fu,
|
|
KeyCode_LeftArrow = 0x40000050u,
|
|
KeyCode_DownArrow = 0x40000051u,
|
|
KeyCode_UpArrow = 0x40000052u,
|
|
KeyCode_NumlockClear = 0x40000053u,
|
|
KeyCode_KeyPad_Divide = 0x40000054u,
|
|
KeyCode_KeyPad_Multiply = 0x40000055u,
|
|
KeyCode_KeyPad_Minus = 0x40000056u,
|
|
KeyCode_KeyPad_Plus = 0x40000057u,
|
|
KeyCode_KeyPad_Enter = 0x40000058u,
|
|
KeyCode_KeyPad_Num1 = 0x40000059u,
|
|
KeyCode_KeyPad_Num2 = 0x4000005Au,
|
|
KeyCode_KeyPad_Num3 = 0x4000005Bu,
|
|
KeyCode_KeyPad_Num4 = 0x4000005Cu,
|
|
KeyCode_KeyPad_Num5 = 0x4000005Du,
|
|
KeyCode_KeyPad_Num6 = 0x4000005Eu,
|
|
KeyCode_KeyPad_Num7 = 0x4000005Fu,
|
|
KeyCode_KeyPad_Num8 = 0x40000060u,
|
|
KeyCode_KeyPad_Num9 = 0x40000061u,
|
|
KeyCode_KeyPad_Num0 = 0x40000062u,
|
|
KeyCode_KeyPad_Period = 0x40000063u,
|
|
KeyCode_Power = 0x40000066u,
|
|
KeyCode_KeyPad_Equals = 0x40000067u,
|
|
KeyCode_F13 = 0x40000068u,
|
|
KeyCode_F14 = 0x40000069u,
|
|
KeyCode_F15 = 0x4000006Au,
|
|
KeyCode_F16 = 0x4000006Bu,
|
|
KeyCode_F17 = 0x4000006Cu,
|
|
KeyCode_F18 = 0x4000006Du,
|
|
KeyCode_F19 = 0x4000006Eu,
|
|
KeyCode_F20 = 0x4000006Fu,
|
|
KeyCode_F21 = 0x40000070u,
|
|
KeyCode_F22 = 0x40000071u,
|
|
KeyCode_F23 = 0x40000072u,
|
|
KeyCode_F24 = 0x40000073u,
|
|
KeyCode_Mute = 0x4000007Fu,
|
|
KeyCode_VolumeUp = 0x40000080u,
|
|
KeyCode_VolumeDown = 0x40000081u,
|
|
KeyCode_KeyPad_Comma = 0x40000085u,
|
|
KeyCode_LeftControl = 0x400000E0u,
|
|
KeyCode_LeftShift = 0x400000E1u,
|
|
KeyCode_LeftAlt = 0x400000E2u,
|
|
KeyCode_LeftOSCommand = 0x400000E3u,
|
|
KeyCode_RightControl = 0x400000E4u,
|
|
KeyCode_RightShift = 0x400000E5u,
|
|
KeyCode_RightAlt = 0x400000E6u,
|
|
KeyCode_RightOSCommand = 0x400000E7u,
|
|
KeyCode_Sleep = 0x40000102u,
|
|
KeyCode_WakeUp = 0x40000103u,
|
|
KeyCode_Media_NextTrack = 0x4000010Bu,
|
|
KeyCode_Media_PreviousTrack = 0x4000010Cu,
|
|
KeyCode_Media_Stop = 0x4000010Du,
|
|
KeyCode_Media_Eject = 0x4000010Eu,
|
|
KeyCode_Media_PlayPause = 0x4000010Fu,
|
|
KeyCode_Media_Select = 0x40000110u,
|
|
};
|
|
|
|
typedef uint16 KeyMod;
|
|
enum
|
|
{
|
|
KeyMod_None = 0x0000u,
|
|
KeyMod_LeftShift = 0x0001u,
|
|
KeyMod_RightShift = 0x0002u,
|
|
KeyMod_LeftControl = 0x0004u,
|
|
KeyMod_RightControl = 0x0008u,
|
|
KeyMod_LeftAlt = 0x0010u,
|
|
KeyMod_RightAlt = 0x0020u,
|
|
KeyMod_LeftOSCommand = 0x0040u,
|
|
KeyMod_RightOSCommand = 0x0080u,
|
|
KeyMod_NumLock = 0x0100u,
|
|
KeyMod_CapsLock = 0x0200u,
|
|
KeyMod_ScrollLock = 0x0400u,
|
|
KeyMod_Control = KeyMod_LeftControl | KeyMod_RightControl,
|
|
KeyMod_Shift = KeyMod_LeftShift | KeyMod_RightShift,
|
|
KeyMod_Alt = KeyMod_LeftAlt | KeyMod_RightAlt,
|
|
KeyMod_OSCommand = KeyMod_LeftOSCommand | KeyMod_RightOSCommand,
|
|
};
|