Difference between revisions of "GetKeyState"
From SCAR Divi Manual
Line 53: | Line 53: | ||
if (Num >= 0) and (Num =< 9) then | if (Num >= 0) and (Num =< 9) then | ||
Result := GetKeyState(VK_NUMPAD0 + Num); | Result := GetKeyState(VK_NUMPAD0 + Num); | ||
+ | end; | ||
+ | </source> | ||
+ | |||
+ | ===IsFunctionKeyDown=== | ||
+ | <source lang="scar"> | ||
+ | function IsFunctionKeyDown(const Key: Byte): Boolean; | ||
+ | begin | ||
+ | Result := False; | ||
+ | case Key of | ||
+ | 0: Result := GetKeyState(VK_SHIFT); | ||
+ | 1: Result := GetKeyState(VK_CONTROL); | ||
+ | 2: Result := GetKeyState(VK_MENU); | ||
+ | 3: Result := GetKeyState(VK_LSHIFT); | ||
+ | 4: Result := GetKeyState(VK_LCONTROL); | ||
+ | 5: Result := GetKeyState(VK_LMENU); | ||
+ | 6: Result := GetKeyState(VK_RSHIFT); | ||
+ | 7: Result := GetKeyState(VK_RCONTROL); | ||
+ | 8: Result := GetKeyState(VK_RMENU); | ||
+ | end; | ||
end; | end; | ||
</source> | </source> |
Latest revision as of 15:31, 10 November 2012
Contents
Definition
function GetKeyState(const VKey: Byte): Boolean;
Availability
SCAR Divi 3.35 > Current
Description
Gets the state of a key asynchronously from the active client. This means that it will return true if the key was pressed since the last time you called the function.
Example
begin repeat Wait(500) until GetKeyState(VK_DOWN); WriteLn('Pressed down'); end.
Implementations
IsArrowDown
function IsArrowDown(const Num: Byte): Boolean; begin Result := False; case Num of 0: Result := GetKeyState(VK_UP); 1: Result := GetKeyState(VK_RIGHT); 2: Result := GetKeyState(VK_DOWN); 3: Result := GetKeyState(VK_LEFT); end; end;
IsFKeyDown
function IsFKeyDown(const Num: Byte): Boolean; begin Result := False; if (Num > 0) and (Num < 25) then Result := GetKeyState(VK_F1 + Num - 1); end;
IsNumpadKeyDown
function IsNumpadKeyDown(const Num: Byte): Boolean; begin Result := False; if (Num >= 0) and (Num =< 9) then Result := GetKeyState(VK_NUMPAD0 + Num); end;
IsFunctionKeyDown
function IsFunctionKeyDown(const Key: Byte): Boolean; begin Result := False; case Key of 0: Result := GetKeyState(VK_SHIFT); 1: Result := GetKeyState(VK_CONTROL); 2: Result := GetKeyState(VK_MENU); 3: Result := GetKeyState(VK_LSHIFT); 4: Result := GetKeyState(VK_LCONTROL); 5: Result := GetKeyState(VK_LMENU); 6: Result := GetKeyState(VK_RSHIFT); 7: Result := GetKeyState(VK_RCONTROL); 8: Result := GetKeyState(VK_RMENU); end; end;