mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-04 06:38:47 +00:00
Better using; foreign system libraries; optional semicolons
This commit is contained in:
+239
-236
@@ -1,63 +1,66 @@
|
||||
CS_VREDRAW :: 1;
|
||||
CS_HREDRAW :: 2;
|
||||
CW_USEDEFAULT :: 0x80000000;
|
||||
#foreign_system_library "user32"
|
||||
#foreign_system_library "gdi32"
|
||||
|
||||
WS_OVERLAPPED :: 0;
|
||||
WS_MAXIMIZEBOX :: 0x00010000;
|
||||
WS_MINIMIZEBOX :: 0x00020000;
|
||||
WS_THICKFRAME :: 0x00040000;
|
||||
WS_SYSMENU :: 0x00080000;
|
||||
WS_CAPTION :: 0x00C00000;
|
||||
WS_VISIBLE :: 0x10000000;
|
||||
WS_OVERLAPPEDWINDOW :: WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX;
|
||||
CS_VREDRAW :: 1
|
||||
CS_HREDRAW :: 2
|
||||
CW_USEDEFAULT :: 0x80000000
|
||||
|
||||
WM_DESTROY :: 0x02;
|
||||
WM_CLOSE :: 0x10;
|
||||
WM_QUIT :: 0x12;
|
||||
WS_OVERLAPPED :: 0
|
||||
WS_MAXIMIZEBOX :: 0x00010000
|
||||
WS_MINIMIZEBOX :: 0x00020000
|
||||
WS_THICKFRAME :: 0x00040000
|
||||
WS_SYSMENU :: 0x00080000
|
||||
WS_CAPTION :: 0x00C00000
|
||||
WS_VISIBLE :: 0x10000000
|
||||
WS_OVERLAPPEDWINDOW :: WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX
|
||||
|
||||
PM_REMOVE :: 1;
|
||||
WM_DESTROY :: 0x02
|
||||
WM_CLOSE :: 0x10
|
||||
WM_QUIT :: 0x12
|
||||
|
||||
COLOR_BACKGROUND :: 1 as HBRUSH;
|
||||
PM_REMOVE :: 1
|
||||
|
||||
COLOR_BACKGROUND :: 1 as HBRUSH
|
||||
|
||||
|
||||
HANDLE :: type rawptr;
|
||||
HWND :: type HANDLE;
|
||||
HDC :: type HANDLE;
|
||||
HINSTANCE :: type HANDLE;
|
||||
HICON :: type HANDLE;
|
||||
HCURSOR :: type HANDLE;
|
||||
HMENU :: type HANDLE;
|
||||
HBRUSH :: type HANDLE;
|
||||
WPARAM :: type uint;
|
||||
LPARAM :: type int;
|
||||
LRESULT :: type int;
|
||||
ATOM :: type i16;
|
||||
BOOL :: type i32;
|
||||
POINT :: type struct { x, y: i32; };
|
||||
HANDLE :: type rawptr
|
||||
HWND :: type HANDLE
|
||||
HDC :: type HANDLE
|
||||
HINSTANCE :: type HANDLE
|
||||
HICON :: type HANDLE
|
||||
HCURSOR :: type HANDLE
|
||||
HMENU :: type HANDLE
|
||||
HBRUSH :: type HANDLE
|
||||
WPARAM :: type uint
|
||||
LPARAM :: type int
|
||||
LRESULT :: type int
|
||||
ATOM :: type i16
|
||||
BOOL :: type i32
|
||||
POINT :: type struct { x, y: i32 }
|
||||
|
||||
INVALID_HANDLE_VALUE :: (-1 as int) as HANDLE;
|
||||
INVALID_HANDLE_VALUE :: (-1 as int) as HANDLE
|
||||
|
||||
WNDPROC :: type proc(hwnd: HWND, msg: u32, wparam: WPARAM, lparam: LPARAM) -> LRESULT
|
||||
|
||||
WNDCLASSEXA :: type struct {
|
||||
size, style: u32;
|
||||
wnd_proc: WNDPROC;
|
||||
cls_extra, wnd_extra: i32;
|
||||
instance: HINSTANCE;
|
||||
icon: HICON;
|
||||
cursor: HCURSOR;
|
||||
background: HBRUSH;
|
||||
menu_name, class_name: ^u8;
|
||||
sm: HICON;
|
||||
size, style: u32
|
||||
wnd_proc: WNDPROC
|
||||
cls_extra, wnd_extra: i32
|
||||
instance: HINSTANCE
|
||||
icon: HICON
|
||||
cursor: HCURSOR
|
||||
background: HBRUSH
|
||||
menu_name, class_name: ^u8
|
||||
sm: HICON
|
||||
}
|
||||
|
||||
MSG :: type struct {
|
||||
hwnd: HWND;
|
||||
message: u32;
|
||||
wparam: WPARAM;
|
||||
lparam: LPARAM;
|
||||
time: u32;
|
||||
pt: POINT;
|
||||
hwnd: HWND
|
||||
message: u32
|
||||
wparam: WPARAM
|
||||
lparam: LPARAM
|
||||
time: u32
|
||||
pt: POINT
|
||||
}
|
||||
|
||||
|
||||
@@ -75,7 +78,7 @@ QueryPerformanceCounter :: proc(result: ^i64) -> i32 #foreign
|
||||
|
||||
sleep_ms :: proc(ms: i32) {
|
||||
Sleep :: proc(ms: i32) -> i32 #foreign
|
||||
Sleep(ms);
|
||||
Sleep(ms)
|
||||
}
|
||||
|
||||
OutputDebugStringA :: proc(c_str: ^u8) #foreign
|
||||
@@ -102,9 +105,9 @@ DefWindowProcA :: proc(hwnd: HWND, msg: u32, wparam: WPARAM, lparam: LPARAM) -
|
||||
|
||||
|
||||
GetQueryPerformanceFrequency :: proc() -> i64 {
|
||||
r: i64;
|
||||
_ = QueryPerformanceFrequency(^r);
|
||||
return r;
|
||||
r: i64
|
||||
_ = QueryPerformanceFrequency(^r)
|
||||
return r
|
||||
}
|
||||
|
||||
|
||||
@@ -121,30 +124,30 @@ WriteFile :: proc(h: HANDLE, buf: rawptr, len: i32, written_result: ^i32, ove
|
||||
|
||||
GetFileSizeEx :: proc(file_handle: HANDLE, file_size: ^i64) -> BOOL #foreign
|
||||
|
||||
FILE_SHARE_READ :: 0x00000001;
|
||||
FILE_SHARE_WRITE :: 0x00000002;
|
||||
FILE_SHARE_DELETE :: 0x00000004;
|
||||
FILE_GENERIC_ALL :: 0x10000000;
|
||||
FILE_GENERIC_EXECUTE :: 0x20000000;
|
||||
FILE_GENERIC_WRITE :: 0x40000000;
|
||||
FILE_GENERIC_READ :: 0x80000000;
|
||||
FILE_SHARE_READ :: 0x00000001
|
||||
FILE_SHARE_WRITE :: 0x00000002
|
||||
FILE_SHARE_DELETE :: 0x00000004
|
||||
FILE_GENERIC_ALL :: 0x10000000
|
||||
FILE_GENERIC_EXECUTE :: 0x20000000
|
||||
FILE_GENERIC_WRITE :: 0x40000000
|
||||
FILE_GENERIC_READ :: 0x80000000
|
||||
|
||||
STD_INPUT_HANDLE :: -10;
|
||||
STD_OUTPUT_HANDLE :: -11;
|
||||
STD_ERROR_HANDLE :: -12;
|
||||
STD_INPUT_HANDLE :: -10
|
||||
STD_OUTPUT_HANDLE :: -11
|
||||
STD_ERROR_HANDLE :: -12
|
||||
|
||||
CREATE_NEW :: 1;
|
||||
CREATE_ALWAYS :: 2;
|
||||
OPEN_EXISTING :: 3;
|
||||
OPEN_ALWAYS :: 4;
|
||||
TRUNCATE_EXISTING :: 5;
|
||||
CREATE_NEW :: 1
|
||||
CREATE_ALWAYS :: 2
|
||||
OPEN_EXISTING :: 3
|
||||
OPEN_ALWAYS :: 4
|
||||
TRUNCATE_EXISTING :: 5
|
||||
|
||||
|
||||
HeapAlloc :: proc(h: HANDLE, flags: u32, bytes: int) -> rawptr #foreign
|
||||
HeapFree :: proc(h: HANDLE, flags: u32, memory: rawptr) -> BOOL #foreign
|
||||
GetProcessHeap :: proc() -> HANDLE #foreign
|
||||
|
||||
HEAP_ZERO_MEMORY :: 0x00000008;
|
||||
HEAP_ZERO_MEMORY :: 0x00000008
|
||||
|
||||
|
||||
|
||||
@@ -159,37 +162,37 @@ HEAP_ZERO_MEMORY :: 0x00000008;
|
||||
|
||||
// Windows OpenGL
|
||||
|
||||
PFD_TYPE_RGBA :: 0;
|
||||
PFD_TYPE_COLORINDEX :: 1;
|
||||
PFD_MAIN_PLANE :: 0;
|
||||
PFD_OVERLAY_PLANE :: 1;
|
||||
PFD_UNDERLAY_PLANE :: -1;
|
||||
PFD_DOUBLEBUFFER :: 1;
|
||||
PFD_STEREO :: 2;
|
||||
PFD_DRAW_TO_WINDOW :: 4;
|
||||
PFD_DRAW_TO_BITMAP :: 8;
|
||||
PFD_SUPPORT_GDI :: 16;
|
||||
PFD_SUPPORT_OPENGL :: 32;
|
||||
PFD_GENERIC_FORMAT :: 64;
|
||||
PFD_NEED_PALETTE :: 128;
|
||||
PFD_NEED_SYSTEM_PALETTE :: 0x00000100;
|
||||
PFD_SWAP_EXCHANGE :: 0x00000200;
|
||||
PFD_SWAP_COPY :: 0x00000400;
|
||||
PFD_SWAP_LAYER_BUFFERS :: 0x00000800;
|
||||
PFD_GENERIC_ACCELERATED :: 0x00001000;
|
||||
PFD_DEPTH_DONTCARE :: 0x20000000;
|
||||
PFD_DOUBLEBUFFER_DONTCARE :: 0x40000000;
|
||||
PFD_STEREO_DONTCARE :: 0x80000000;
|
||||
PFD_TYPE_RGBA :: 0
|
||||
PFD_TYPE_COLORINDEX :: 1
|
||||
PFD_MAIN_PLANE :: 0
|
||||
PFD_OVERLAY_PLANE :: 1
|
||||
PFD_UNDERLAY_PLANE :: -1
|
||||
PFD_DOUBLEBUFFER :: 1
|
||||
PFD_STEREO :: 2
|
||||
PFD_DRAW_TO_WINDOW :: 4
|
||||
PFD_DRAW_TO_BITMAP :: 8
|
||||
PFD_SUPPORT_GDI :: 16
|
||||
PFD_SUPPORT_OPENGL :: 32
|
||||
PFD_GENERIC_FORMAT :: 64
|
||||
PFD_NEED_PALETTE :: 128
|
||||
PFD_NEED_SYSTEM_PALETTE :: 0x00000100
|
||||
PFD_SWAP_EXCHANGE :: 0x00000200
|
||||
PFD_SWAP_COPY :: 0x00000400
|
||||
PFD_SWAP_LAYER_BUFFERS :: 0x00000800
|
||||
PFD_GENERIC_ACCELERATED :: 0x00001000
|
||||
PFD_DEPTH_DONTCARE :: 0x20000000
|
||||
PFD_DOUBLEBUFFER_DONTCARE :: 0x40000000
|
||||
PFD_STEREO_DONTCARE :: 0x80000000
|
||||
|
||||
HGLRC :: type HANDLE;
|
||||
PROC :: type proc();
|
||||
wglCreateContextAttribsARBType :: type proc(hdc: HDC, hshareContext: rawptr, attribList: ^i32) -> HGLRC;
|
||||
HGLRC :: type HANDLE
|
||||
PROC :: type proc()
|
||||
wglCreateContextAttribsARBType :: type proc(hdc: HDC, hshareContext: rawptr, attribList: ^i32) -> HGLRC
|
||||
|
||||
|
||||
PIXELFORMATDESCRIPTOR :: type struct {
|
||||
size,
|
||||
version,
|
||||
flags: u32;
|
||||
flags: u32
|
||||
|
||||
pixel_type,
|
||||
color_bits,
|
||||
@@ -210,11 +213,11 @@ PIXELFORMATDESCRIPTOR :: type struct {
|
||||
stencil_bits,
|
||||
aux_buffers,
|
||||
layer_type,
|
||||
reserved: byte;
|
||||
reserved: byte
|
||||
|
||||
layer_mask,
|
||||
visible_mask,
|
||||
damage_mask: u32;
|
||||
damage_mask: u32
|
||||
}
|
||||
|
||||
GetDC :: proc(h: HANDLE) -> HDC #foreign
|
||||
@@ -223,10 +226,10 @@ ChoosePixelFormat :: proc(hdc: HDC, pfd: ^PIXELFORMATDESCRIPTOR) -> i32 #foreign
|
||||
SwapBuffers :: proc(hdc: HDC) -> BOOL #foreign
|
||||
|
||||
|
||||
WGL_CONTEXT_MAJOR_VERSION_ARB :: 0x2091;
|
||||
WGL_CONTEXT_MINOR_VERSION_ARB :: 0x2092;
|
||||
WGL_CONTEXT_PROFILE_MASK_ARB :: 0x9126;
|
||||
WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB :: 0x0002;
|
||||
WGL_CONTEXT_MAJOR_VERSION_ARB :: 0x2091
|
||||
WGL_CONTEXT_MINOR_VERSION_ARB :: 0x2092
|
||||
WGL_CONTEXT_PROFILE_MASK_ARB :: 0x9126
|
||||
WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB :: 0x0002
|
||||
|
||||
wglCreateContext :: proc(hdc: HDC) -> HGLRC #foreign
|
||||
wglMakeCurrent :: proc(hdc: HDC, hglrc: HGLRC) -> BOOL #foreign
|
||||
@@ -238,159 +241,159 @@ wglDeleteContext :: proc(hglrc: HGLRC) -> BOOL #foreign
|
||||
GetAsyncKeyState :: proc(v_key: i32) -> i16 #foreign
|
||||
|
||||
is_key_down :: proc(key: int) -> bool {
|
||||
return GetAsyncKeyState(key as i32) < 0;
|
||||
return GetAsyncKeyState(key as i32) < 0
|
||||
}
|
||||
|
||||
|
||||
VK_LBUTTON :: 0x01;
|
||||
VK_RBUTTON :: 0x02;
|
||||
VK_CANCEL :: 0x03;
|
||||
VK_MBUTTON :: 0x04;
|
||||
VK_LBUTTON :: 0x01
|
||||
VK_RBUTTON :: 0x02
|
||||
VK_CANCEL :: 0x03
|
||||
VK_MBUTTON :: 0x04
|
||||
|
||||
VK_BACK :: 0x08;
|
||||
VK_TAB :: 0x09;
|
||||
VK_BACK :: 0x08
|
||||
VK_TAB :: 0x09
|
||||
|
||||
VK_CLEAR :: 0x0C;
|
||||
VK_RETURN :: 0x0D;
|
||||
VK_CLEAR :: 0x0C
|
||||
VK_RETURN :: 0x0D
|
||||
|
||||
VK_SHIFT :: 0x10;
|
||||
VK_CONTROL :: 0x11;
|
||||
VK_MENU :: 0x12;
|
||||
VK_PAUSE :: 0x13;
|
||||
VK_CAPITAL :: 0x14;
|
||||
VK_SHIFT :: 0x10
|
||||
VK_CONTROL :: 0x11
|
||||
VK_MENU :: 0x12
|
||||
VK_PAUSE :: 0x13
|
||||
VK_CAPITAL :: 0x14
|
||||
|
||||
VK_KANA :: 0x15;
|
||||
VK_HANGEUL :: 0x15;
|
||||
VK_HANGUL :: 0x15;
|
||||
VK_JUNJA :: 0x17;
|
||||
VK_FINAL :: 0x18;
|
||||
VK_HANJA :: 0x19;
|
||||
VK_KANJI :: 0x19;
|
||||
VK_KANA :: 0x15
|
||||
VK_HANGEUL :: 0x15
|
||||
VK_HANGUL :: 0x15
|
||||
VK_JUNJA :: 0x17
|
||||
VK_FINAL :: 0x18
|
||||
VK_HANJA :: 0x19
|
||||
VK_KANJI :: 0x19
|
||||
|
||||
VK_ESCAPE :: 0x1B;
|
||||
VK_ESCAPE :: 0x1B
|
||||
|
||||
VK_CONVERT :: 0x1C;
|
||||
VK_NONCONVERT :: 0x1D;
|
||||
VK_ACCEPT :: 0x1E;
|
||||
VK_MODECHANGE :: 0x1F;
|
||||
VK_CONVERT :: 0x1C
|
||||
VK_NONCONVERT :: 0x1D
|
||||
VK_ACCEPT :: 0x1E
|
||||
VK_MODECHANGE :: 0x1F
|
||||
|
||||
VK_SPACE :: 0x20;
|
||||
VK_PRIOR :: 0x21;
|
||||
VK_NEXT :: 0x22;
|
||||
VK_END :: 0x23;
|
||||
VK_HOME :: 0x24;
|
||||
VK_LEFT :: 0x25;
|
||||
VK_UP :: 0x26;
|
||||
VK_RIGHT :: 0x27;
|
||||
VK_DOWN :: 0x28;
|
||||
VK_SELECT :: 0x29;
|
||||
VK_PRINT :: 0x2A;
|
||||
VK_EXECUTE :: 0x2B;
|
||||
VK_SNAPSHOT :: 0x2C;
|
||||
VK_INSERT :: 0x2D;
|
||||
VK_DELETE :: 0x2E;
|
||||
VK_HELP :: 0x2F;
|
||||
VK_SPACE :: 0x20
|
||||
VK_PRIOR :: 0x21
|
||||
VK_NEXT :: 0x22
|
||||
VK_END :: 0x23
|
||||
VK_HOME :: 0x24
|
||||
VK_LEFT :: 0x25
|
||||
VK_UP :: 0x26
|
||||
VK_RIGHT :: 0x27
|
||||
VK_DOWN :: 0x28
|
||||
VK_SELECT :: 0x29
|
||||
VK_PRINT :: 0x2A
|
||||
VK_EXECUTE :: 0x2B
|
||||
VK_SNAPSHOT :: 0x2C
|
||||
VK_INSERT :: 0x2D
|
||||
VK_DELETE :: 0x2E
|
||||
VK_HELP :: 0x2F
|
||||
|
||||
VK_0 :: #rune "0";
|
||||
VK_1 :: #rune "1";
|
||||
VK_2 :: #rune "2";
|
||||
VK_3 :: #rune "3";
|
||||
VK_4 :: #rune "4";
|
||||
VK_5 :: #rune "5";
|
||||
VK_6 :: #rune "6";
|
||||
VK_7 :: #rune "7";
|
||||
VK_8 :: #rune "8";
|
||||
VK_9 :: #rune "9";
|
||||
VK_0 :: #rune "0"
|
||||
VK_1 :: #rune "1"
|
||||
VK_2 :: #rune "2"
|
||||
VK_3 :: #rune "3"
|
||||
VK_4 :: #rune "4"
|
||||
VK_5 :: #rune "5"
|
||||
VK_6 :: #rune "6"
|
||||
VK_7 :: #rune "7"
|
||||
VK_8 :: #rune "8"
|
||||
VK_9 :: #rune "9"
|
||||
|
||||
VK_A :: #rune "A";
|
||||
VK_B :: #rune "B";
|
||||
VK_C :: #rune "C";
|
||||
VK_D :: #rune "D";
|
||||
VK_E :: #rune "E";
|
||||
VK_F :: #rune "F";
|
||||
VK_G :: #rune "G";
|
||||
VK_H :: #rune "H";
|
||||
VK_I :: #rune "I";
|
||||
VK_J :: #rune "J";
|
||||
VK_K :: #rune "K";
|
||||
VK_L :: #rune "L";
|
||||
VK_M :: #rune "M";
|
||||
VK_N :: #rune "N";
|
||||
VK_O :: #rune "O";
|
||||
VK_P :: #rune "P";
|
||||
VK_Q :: #rune "Q";
|
||||
VK_R :: #rune "R";
|
||||
VK_S :: #rune "S";
|
||||
VK_T :: #rune "T";
|
||||
VK_U :: #rune "U";
|
||||
VK_V :: #rune "V";
|
||||
VK_W :: #rune "W";
|
||||
VK_X :: #rune "X";
|
||||
VK_Y :: #rune "Y";
|
||||
VK_Z :: #rune "Z";
|
||||
VK_A :: #rune "A"
|
||||
VK_B :: #rune "B"
|
||||
VK_C :: #rune "C"
|
||||
VK_D :: #rune "D"
|
||||
VK_E :: #rune "E"
|
||||
VK_F :: #rune "F"
|
||||
VK_G :: #rune "G"
|
||||
VK_H :: #rune "H"
|
||||
VK_I :: #rune "I"
|
||||
VK_J :: #rune "J"
|
||||
VK_K :: #rune "K"
|
||||
VK_L :: #rune "L"
|
||||
VK_M :: #rune "M"
|
||||
VK_N :: #rune "N"
|
||||
VK_O :: #rune "O"
|
||||
VK_P :: #rune "P"
|
||||
VK_Q :: #rune "Q"
|
||||
VK_R :: #rune "R"
|
||||
VK_S :: #rune "S"
|
||||
VK_T :: #rune "T"
|
||||
VK_U :: #rune "U"
|
||||
VK_V :: #rune "V"
|
||||
VK_W :: #rune "W"
|
||||
VK_X :: #rune "X"
|
||||
VK_Y :: #rune "Y"
|
||||
VK_Z :: #rune "Z"
|
||||
|
||||
VK_LWIN :: 0x5B;
|
||||
VK_RWIN :: 0x5C;
|
||||
VK_APPS :: 0x5D;
|
||||
VK_LWIN :: 0x5B
|
||||
VK_RWIN :: 0x5C
|
||||
VK_APPS :: 0x5D
|
||||
|
||||
VK_NUMPAD0 :: 0x60;
|
||||
VK_NUMPAD1 :: 0x61;
|
||||
VK_NUMPAD2 :: 0x62;
|
||||
VK_NUMPAD3 :: 0x63;
|
||||
VK_NUMPAD4 :: 0x64;
|
||||
VK_NUMPAD5 :: 0x65;
|
||||
VK_NUMPAD6 :: 0x66;
|
||||
VK_NUMPAD7 :: 0x67;
|
||||
VK_NUMPAD8 :: 0x68;
|
||||
VK_NUMPAD9 :: 0x69;
|
||||
VK_MULTIPLY :: 0x6A;
|
||||
VK_ADD :: 0x6B;
|
||||
VK_SEPARATOR :: 0x6C;
|
||||
VK_SUBTRACT :: 0x6D;
|
||||
VK_DECIMAL :: 0x6E;
|
||||
VK_DIVIDE :: 0x6F;
|
||||
VK_F1 :: 0x70;
|
||||
VK_F2 :: 0x71;
|
||||
VK_F3 :: 0x72;
|
||||
VK_F4 :: 0x73;
|
||||
VK_F5 :: 0x74;
|
||||
VK_F6 :: 0x75;
|
||||
VK_F7 :: 0x76;
|
||||
VK_F8 :: 0x77;
|
||||
VK_F9 :: 0x78;
|
||||
VK_F10 :: 0x79;
|
||||
VK_F11 :: 0x7A;
|
||||
VK_F12 :: 0x7B;
|
||||
VK_F13 :: 0x7C;
|
||||
VK_F14 :: 0x7D;
|
||||
VK_F15 :: 0x7E;
|
||||
VK_F16 :: 0x7F;
|
||||
VK_F17 :: 0x80;
|
||||
VK_F18 :: 0x81;
|
||||
VK_F19 :: 0x82;
|
||||
VK_F20 :: 0x83;
|
||||
VK_F21 :: 0x84;
|
||||
VK_F22 :: 0x85;
|
||||
VK_F23 :: 0x86;
|
||||
VK_F24 :: 0x87;
|
||||
VK_NUMPAD0 :: 0x60
|
||||
VK_NUMPAD1 :: 0x61
|
||||
VK_NUMPAD2 :: 0x62
|
||||
VK_NUMPAD3 :: 0x63
|
||||
VK_NUMPAD4 :: 0x64
|
||||
VK_NUMPAD5 :: 0x65
|
||||
VK_NUMPAD6 :: 0x66
|
||||
VK_NUMPAD7 :: 0x67
|
||||
VK_NUMPAD8 :: 0x68
|
||||
VK_NUMPAD9 :: 0x69
|
||||
VK_MULTIPLY :: 0x6A
|
||||
VK_ADD :: 0x6B
|
||||
VK_SEPARATOR :: 0x6C
|
||||
VK_SUBTRACT :: 0x6D
|
||||
VK_DECIMAL :: 0x6E
|
||||
VK_DIVIDE :: 0x6F
|
||||
VK_F1 :: 0x70
|
||||
VK_F2 :: 0x71
|
||||
VK_F3 :: 0x72
|
||||
VK_F4 :: 0x73
|
||||
VK_F5 :: 0x74
|
||||
VK_F6 :: 0x75
|
||||
VK_F7 :: 0x76
|
||||
VK_F8 :: 0x77
|
||||
VK_F9 :: 0x78
|
||||
VK_F10 :: 0x79
|
||||
VK_F11 :: 0x7A
|
||||
VK_F12 :: 0x7B
|
||||
VK_F13 :: 0x7C
|
||||
VK_F14 :: 0x7D
|
||||
VK_F15 :: 0x7E
|
||||
VK_F16 :: 0x7F
|
||||
VK_F17 :: 0x80
|
||||
VK_F18 :: 0x81
|
||||
VK_F19 :: 0x82
|
||||
VK_F20 :: 0x83
|
||||
VK_F21 :: 0x84
|
||||
VK_F22 :: 0x85
|
||||
VK_F23 :: 0x86
|
||||
VK_F24 :: 0x87
|
||||
|
||||
VK_NUMLOCK :: 0x90;
|
||||
VK_SCROLL :: 0x91;
|
||||
VK_NUMLOCK :: 0x90
|
||||
VK_SCROLL :: 0x91
|
||||
|
||||
VK_LSHIFT :: 0xA0;
|
||||
VK_RSHIFT :: 0xA1;
|
||||
VK_LCONTROL :: 0xA2;
|
||||
VK_RCONTROL :: 0xA3;
|
||||
VK_LMENU :: 0xA4;
|
||||
VK_RMENU :: 0xA5;
|
||||
VK_PROCESSKEY :: 0xE5;
|
||||
VK_ATTN :: 0xF6;
|
||||
VK_CRSEL :: 0xF7;
|
||||
VK_EXSEL :: 0xF8;
|
||||
VK_EREOF :: 0xF9;
|
||||
VK_PLAY :: 0xFA;
|
||||
VK_ZOOM :: 0xFB;
|
||||
VK_NONAME :: 0xFC;
|
||||
VK_PA1 :: 0xFD;
|
||||
VK_OEM_CLEAR :: 0xFE;
|
||||
VK_LSHIFT :: 0xA0
|
||||
VK_RSHIFT :: 0xA1
|
||||
VK_LCONTROL :: 0xA2
|
||||
VK_RCONTROL :: 0xA3
|
||||
VK_LMENU :: 0xA4
|
||||
VK_RMENU :: 0xA5
|
||||
VK_PROCESSKEY :: 0xE5
|
||||
VK_ATTN :: 0xF6
|
||||
VK_CRSEL :: 0xF7
|
||||
VK_EXSEL :: 0xF8
|
||||
VK_EREOF :: 0xF9
|
||||
VK_PLAY :: 0xFA
|
||||
VK_ZOOM :: 0xFB
|
||||
VK_NONAME :: 0xFC
|
||||
VK_PA1 :: 0xFD
|
||||
VK_OEM_CLEAR :: 0xFE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user