mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2026-03-13 09:24:25 +08:00
242 lines
11 KiB
ObjectPascal
242 lines
11 KiB
ObjectPascal
unit vktable;
|
|
|
|
{$mode ObjFPC}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, LCLType;
|
|
|
|
type
|
|
TVirtualKeyInfo = record
|
|
Code: Word;
|
|
Name: string;
|
|
end;
|
|
function GetVKIndexByCode(Code: Word): Integer;
|
|
procedure GetVKNames(Items: TStrings);
|
|
|
|
const
|
|
VKcodes: array[0..192] of TVirtualKeyInfo = (
|
|
(Code: VK_UNKNOWN; Name: 'UNKNOWN'),
|
|
(Code: VK_LBUTTON; Name: 'LBUTTON'),
|
|
(Code: VK_RBUTTON; Name: 'RBUTTON'),
|
|
(Code: VK_CANCEL; Name: 'CANCEL'),
|
|
(Code: VK_MBUTTON; Name: 'MBUTTON'),
|
|
(Code: VK_XBUTTON1; Name: 'XBUTTON1'),
|
|
(Code: VK_XBUTTON2; Name: 'XBUTTON2'),
|
|
(Code: VK_BACK; Name: 'BACK'),
|
|
(Code: VK_TAB; Name: 'TAB'),
|
|
(Code: VK_CLEAR; Name: 'CLEAR'),
|
|
(Code: VK_RETURN; Name: 'RETURN'),
|
|
(Code: VK_SHIFT; Name: 'SHIFT'),
|
|
(Code: VK_CONTROL; Name: 'CONTROL'),
|
|
(Code: VK_MENU; Name: 'MENU'),
|
|
(Code: VK_PAUSE; Name: 'PAUSE'),
|
|
(Code: VK_CAPITAL; Name: 'CAPITAL'),
|
|
(Code: VK_KANA; Name: 'KANA'),
|
|
(Code: VK_HANGUL; Name: 'HANGUL'),
|
|
(Code: VK_JUNJA; Name: 'JUNJA'),
|
|
(Code: VK_FINAL; Name: 'FINAL'),
|
|
(Code: VK_HANJA; Name: 'HANJA'),
|
|
(Code: VK_KANJI; Name: 'KANJI'),
|
|
(Code: VK_ESCAPE; Name: 'ESCAPE'),
|
|
(Code: VK_CONVERT; Name: 'CONVERT'),
|
|
(Code: VK_NONCONVERT; Name: 'NONCONVERT'),
|
|
(Code: VK_ACCEPT; Name: 'ACCEPT'),
|
|
(Code: VK_MODECHANGE; Name: 'MODECHANGE'),
|
|
(Code: VK_SPACE; Name: 'SPACE'),
|
|
(Code: VK_PRIOR; Name: 'PRIOR'),
|
|
(Code: VK_NEXT; Name: 'NEXT'),
|
|
(Code: VK_END; Name: 'END'),
|
|
(Code: VK_HOME; Name: 'HOME'),
|
|
(Code: VK_LEFT; Name: 'LEFT'),
|
|
(Code: VK_UP; Name: 'UP'),
|
|
(Code: VK_RIGHT; Name: 'RIGHT'),
|
|
(Code: VK_DOWN; Name: 'DOWN'),
|
|
(Code: VK_SELECT; Name: 'SELECT'),
|
|
(Code: VK_PRINT; Name: 'PRINT'),
|
|
(Code: VK_EXECUTE; Name: 'EXECUTE'),
|
|
(Code: VK_SNAPSHOT; Name: 'SNAPSHOT'),
|
|
(Code: VK_INSERT; Name: 'INSERT'),
|
|
(Code: VK_DELETE; Name: 'DELETE'),
|
|
(Code: VK_HELP; Name: 'HELP'),
|
|
(Code: VK_0; Name: '0'),
|
|
(Code: VK_1; Name: '1'),
|
|
(Code: VK_2; Name: '2'),
|
|
(Code: VK_3; Name: '3'),
|
|
(Code: VK_4; Name: '4'),
|
|
(Code: VK_5; Name: '5'),
|
|
(Code: VK_6; Name: '6'),
|
|
(Code: VK_7; Name: '7'),
|
|
(Code: VK_8; Name: '8'),
|
|
(Code: VK_9; Name: '9'),
|
|
(Code: VK_A; Name: 'A'),
|
|
(Code: VK_B; Name: 'B'),
|
|
(Code: VK_C; Name: 'C'),
|
|
(Code: VK_D; Name: 'D'),
|
|
(Code: VK_E; Name: 'E'),
|
|
(Code: VK_F; Name: 'F'),
|
|
(Code: VK_G; Name: 'G'),
|
|
(Code: VK_H; Name: 'H'),
|
|
(Code: VK_I; Name: 'I'),
|
|
(Code: VK_J; Name: 'J'),
|
|
(Code: VK_K; Name: 'K'),
|
|
(Code: VK_L; Name: 'L'),
|
|
(Code: VK_M; Name: 'M'),
|
|
(Code: VK_N; Name: 'N'),
|
|
(Code: VK_O; Name: 'O'),
|
|
(Code: VK_P; Name: 'P'),
|
|
(Code: VK_Q; Name: 'Q'),
|
|
(Code: VK_R; Name: 'R'),
|
|
(Code: VK_S; Name: 'S'),
|
|
(Code: VK_T; Name: 'T'),
|
|
(Code: VK_U; Name: 'U'),
|
|
(Code: VK_V; Name: 'V'),
|
|
(Code: VK_W; Name: 'W'),
|
|
(Code: VK_X; Name: 'X'),
|
|
(Code: VK_Y; Name: 'Y'),
|
|
(Code: VK_Z; Name: 'Z'),
|
|
(Code: VK_LWIN; Name: 'LWIN'),
|
|
(Code: VK_RWIN; Name: 'RWIN'),
|
|
(Code: VK_APPS; Name: 'APPS'),
|
|
(Code: VK_SLEEP; Name: 'SLEEP'),
|
|
(Code: VK_NUMPAD0; Name: 'NUMPAD0'),
|
|
(Code: VK_NUMPAD1; Name: 'NUMPAD1'),
|
|
(Code: VK_NUMPAD2; Name: 'NUMPAD2'),
|
|
(Code: VK_NUMPAD3; Name: 'NUMPAD3'),
|
|
(Code: VK_NUMPAD4; Name: 'NUMPAD4'),
|
|
(Code: VK_NUMPAD5; Name: 'NUMPAD5'),
|
|
(Code: VK_NUMPAD6; Name: 'NUMPAD6'),
|
|
(Code: VK_NUMPAD7; Name: 'NUMPAD7'),
|
|
(Code: VK_NUMPAD8; Name: 'NUMPAD8'),
|
|
(Code: VK_NUMPAD9; Name: 'NUMPAD9'),
|
|
(Code: VK_MULTIPLY; Name: 'MULTIPLY'),
|
|
(Code: VK_ADD; Name: 'ADD'),
|
|
(Code: VK_SEPARATOR; Name: 'SEPARATOR'),
|
|
(Code: VK_SUBTRACT; Name: 'SUBTRACT'),
|
|
(Code: VK_DECIMAL; Name: 'DECIMAL'),
|
|
(Code: VK_DIVIDE; Name: 'DIVIDE'),
|
|
(Code: VK_F1; Name: 'F1'),
|
|
(Code: VK_F2; Name: 'F2'),
|
|
(Code: VK_F3; Name: 'F3'),
|
|
(Code: VK_F4; Name: 'F4'),
|
|
(Code: VK_F5; Name: 'F5'),
|
|
(Code: VK_F6; Name: 'F6'),
|
|
(Code: VK_F7; Name: 'F7'),
|
|
(Code: VK_F8; Name: 'F8'),
|
|
(Code: VK_F9; Name: 'F9'),
|
|
(Code: VK_F10; Name: 'F10'),
|
|
(Code: VK_F11; Name: 'F11'),
|
|
(Code: VK_F12; Name: 'F12'),
|
|
(Code: VK_F13; Name: 'F13'),
|
|
(Code: VK_F14; Name: 'F14'),
|
|
(Code: VK_F15; Name: 'F15'),
|
|
(Code: VK_F16; Name: 'F16'),
|
|
(Code: VK_F17; Name: 'F17'),
|
|
(Code: VK_F18; Name: 'F18'),
|
|
(Code: VK_F19; Name: 'F19'),
|
|
(Code: VK_F20; Name: 'F20'),
|
|
(Code: VK_F21; Name: 'F21'),
|
|
(Code: VK_F22; Name: 'F22'),
|
|
(Code: VK_F23; Name: 'F23'),
|
|
(Code: VK_F24; Name: 'F24'),
|
|
(Code: VK_NUMLOCK; Name: 'NUMLOCK'),
|
|
(Code: VK_SCROLL; Name: 'SCROLL'),
|
|
(Code: VK_LSHIFT; Name: 'LSHIFT'),
|
|
(Code: VK_RSHIFT; Name: 'RSHIFT'),
|
|
(Code: VK_LCONTROL; Name: 'LCONTROL'),
|
|
(Code: VK_RCONTROL; Name: 'RCONTROL'),
|
|
(Code: VK_LMENU; Name: 'LMENU'),
|
|
(Code: VK_RMENU; Name: 'RMENU'),
|
|
(Code: VK_BROWSER_BACK; Name: 'BROWSER_BACK'),
|
|
(Code: VK_BROWSER_FORWARD; Name: 'BROWSER_FORWARD'),
|
|
(Code: VK_BROWSER_REFRESH; Name: 'BROWSER_REFRESH'),
|
|
(Code: VK_BROWSER_STOP; Name: 'BROWSER_STOP'),
|
|
(Code: VK_BROWSER_SEARCH; Name: 'BROWSER_SEARCH'),
|
|
(Code: VK_BROWSER_FAVORITES; Name: 'BROWSER_FAVORITES'),
|
|
(Code: VK_BROWSER_HOME; Name: 'BROWSER_HOME'),
|
|
(Code: VK_VOLUME_MUTE; Name: 'VOLUME_MUTE'),
|
|
(Code: VK_VOLUME_DOWN; Name: 'VOLUME_DOWN'),
|
|
(Code: VK_VOLUME_UP; Name: 'VOLUME_UP'),
|
|
(Code: VK_MEDIA_NEXT_TRACK; Name: 'MEDIA_NEXT_TRACK'),
|
|
(Code: VK_MEDIA_PREV_TRACK; Name: 'MEDIA_PREV_TRACK'),
|
|
(Code: VK_MEDIA_STOP; Name: 'MEDIA_STOP'),
|
|
(Code: VK_MEDIA_PLAY_PAUSE; Name: 'MEDIA_PLAY_PAUSE'),
|
|
(Code: VK_LAUNCH_MAIL; Name: 'LAUNCH_MAIL'),
|
|
(Code: VK_LAUNCH_MEDIA_SELECT; Name: 'LAUNCH_MEDIA_SELECT'),
|
|
(Code: VK_LAUNCH_APP1; Name: 'LAUNCH_APP1'),
|
|
(Code: VK_LAUNCH_APP2; Name: 'LAUNCH_APP2'),
|
|
(Code: VK_OEM_1; Name: 'OEM_1'),
|
|
(Code: VK_OEM_PLUS; Name: 'OEM_PLUS'),
|
|
(Code: VK_OEM_COMMA; Name: 'OEM_COMMA'),
|
|
(Code: VK_OEM_MINUS; Name: 'OEM_MINUS'),
|
|
(Code: VK_OEM_PERIOD; Name: 'OEM_PERIOD'),
|
|
(Code: VK_OEM_2; Name: 'OEM_2'),
|
|
(Code: VK_OEM_3; Name: 'OEM_3'),
|
|
(Code: VK_OEM_4; Name: 'OEM_4'),
|
|
(Code: VK_OEM_5; Name: 'OEM_5'),
|
|
(Code: VK_OEM_6; Name: 'OEM_6'),
|
|
(Code: VK_OEM_7; Name: 'OEM_7'),
|
|
(Code: VK_OEM_8; Name: 'OEM_8'),
|
|
(Code: VK_OEM_102; Name: 'OEM_102'),
|
|
(Code: VK_PROCESSKEY; Name: 'PROCESSKEY'),
|
|
(Code: VK_ATTN; Name: 'ATTN'),
|
|
(Code: VK_CRSEL; Name: 'CRSEL'),
|
|
(Code: VK_EXSEL; Name: 'EXSEL'),
|
|
(Code: VK_EREOF; Name: 'EREOF'),
|
|
(Code: VK_PLAY; Name: 'PLAY'),
|
|
(Code: VK_ZOOM; Name: 'ZOOM'),
|
|
(Code: VK_NONAME; Name: 'NONAME'),
|
|
(Code: VK_PA1; Name: 'PA1'),
|
|
(Code: VK_OEM_CLEAR; Name: 'OEM_CLEAR'),
|
|
(Code: VK_HIGHESTVALUE; Name: 'HIGHESTVALUE'),
|
|
(Code: VK_UNDEFINED; Name: 'UNDEFINED'),
|
|
(Code: VK_LCL_EQUAL; Name: 'LCL_EQUAL'),
|
|
(Code: VK_LCL_COMMA; Name: 'LCL_COMMA'),
|
|
(Code: VK_LCL_POINT; Name: 'LCL_POINT'),
|
|
(Code: VK_LCL_SLASH; Name: 'LCL_SLASH'),
|
|
(Code: VK_LCL_SEMI_COMMA; Name: 'LCL_SEMI_COMMA'),
|
|
(Code: VK_LCL_MINUS; Name: 'LCL_MINUS'),
|
|
(Code: VK_LCL_OPEN_BRACKET; Name: 'LCL_OPEN_BRACKET'),
|
|
(Code: VK_LCL_CLOSE_BRACKET; Name: 'LCL_CLOSE_BRACKET'),
|
|
(Code: VK_LCL_BACKSLASH; Name: 'LCL_BACKSLASH'),
|
|
(Code: VK_LCL_TILDE; Name: 'LCL_TILDE'),
|
|
(Code: VK_LCL_QUOTE; Name: 'LCL_QUOTE'),
|
|
(Code: VK_LCL_ALT; Name: 'LCL_ALT'),
|
|
(Code: VK_LCL_LALT; Name: 'LCL_LALT'),
|
|
(Code: VK_LCL_RALT; Name: 'LCL_RALT'),
|
|
(Code: VK_LCL_CAPSLOCK; Name: 'LCL_CAPSLOCK'),
|
|
(Code: VK_LCL_POWER; Name: 'LCL_POWER'),
|
|
(Code: VK_LCL_CALL; Name: 'LCL_CALL'),
|
|
(Code: VK_LCL_ENDCALL; Name: 'LCL_ENDCALL'),
|
|
(Code: VK_LCL_AT; Name: 'LCL_AT')
|
|
);
|
|
|
|
implementation
|
|
|
|
function GetVKIndexByCode(Code: Word): Integer;
|
|
var
|
|
i: Integer;
|
|
begin
|
|
Result := 0;
|
|
for i:=Low(VKcodes) to High(VKCodes) do begin
|
|
if VKcodes[i].Code = Code then begin
|
|
Result := i;
|
|
Break;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure GetVKNames(Items: TStrings);
|
|
var
|
|
i: Integer;
|
|
begin
|
|
Items.Clear;
|
|
for i:=Low(VKcodes) to High(VKcodes) do begin
|
|
Items.Add(VKcodes[i].Name);
|
|
end;
|
|
end;
|
|
|
|
end.
|
|
|