Core Function RealGetKeyState
From Sputnik Wiki
(Difference between revisions)
(→Example) |
|||
| Line 1: | Line 1: | ||
<pre> | <pre> | ||
| − | RealGetKeyState( <vk_keycode> ) | + | RealGetKeyState( <vk_keycode/expression> ) |
</pre> | </pre> | ||
=== Description === | === Description === | ||
| − | Checks if a key is pressed down. | + | Checks if a key or series of keys is pressed down. |
=== Parameters === | === Parameters === | ||
| − | ==== vk_keycode ==== | + | ==== vk_keycode/expression ==== |
| − | + | If this param is numeric then a virtual key code (See [[Macros|Macros]]) is needed. | |
| + | |||
| + | If this param is a string then it will check all the chars in the string + any specials see remarks. | ||
=== Return Value === | === Return Value === | ||
| Line 19: | Line 21: | ||
=== Remarks === | === Remarks === | ||
| − | + | Special symbols to use when the param is a string | |
| + | <pre> | ||
| + | ! Alt Key | ||
| + | ^ Control Key | ||
| + | + Shift Key | ||
| + | # Windows Key | ||
| + | </pre> | ||
| + | |||
| + | Special {} to use when the param is a string | ||
| + | |||
| + | <pre> | ||
| + | {SPACE} SPACE | ||
| + | {ENTER} ENTER key on the main keyboard | ||
| + | {ALT} ALT | ||
| + | {BACKSPACE} or {BS} BACKSPACE | ||
| + | {DELETE} or {DEL} DELETE | ||
| + | {UP} Cursor up | ||
| + | {DOWN} Cursor down | ||
| + | {LEFT} Cursor left | ||
| + | {RIGHT} Cursor right | ||
| + | {HOME} HOME | ||
| + | {END} END | ||
| + | {ESCAPE} or {ESC} ESCAPE | ||
| + | {INSERT} or {INS} INS | ||
| + | {PGUP} PageUp | ||
| + | {PGDN} PageDown | ||
| + | {F1} - {F12} Function keys | ||
| + | {TAB} TAB | ||
| + | {PRINTSCREEN} Print Screen key | ||
| + | {LWIN} Left Windows key | ||
| + | {RWIN} Right Windows key | ||
| + | {NUMLOCK} NUMLOCK | ||
| + | {CAPSLOCK} CAPSLOCK | ||
| + | {SCROLLLOCK} SCROLLLOCK | ||
| + | {CTRLBREAK} Ctrl+Break | ||
| + | {PAUSE} PAUSE | ||
| + | {NUMPAD0} - {NUMPAD9} Numpad digits | ||
| + | {NUMPADMULT} Numpad Multiply | ||
| + | {NUMPADADD} Numpad Add | ||
| + | {NUMPADSUB} Numpad Subtract | ||
| + | {NUMPADDIV} Numpad Divide | ||
| + | {NUMPADDOT} Numpad period | ||
| + | {NUMPADENTER} Enter key on the numpad | ||
| + | {APPSKEY} Windows App key | ||
| + | {LALT} Left ALT key | ||
| + | {RALT} Right ALT key | ||
| + | {LCTRL} Left CTRL key | ||
| + | {RCTRL} Right CTRL key | ||
| + | {LSHIFT} Left Shift key | ||
| + | {RSHIFT} Right Shift key | ||
| + | {SLEEP} Computer SLEEP key | ||
| + | </pre> | ||
=== Example === | === Example === | ||
| + | |||
| + | Example of using the first param as numeric to scan for a single VK key | ||
<syntaxhighlight lang="sputnik"> | <syntaxhighlight lang="sputnik"> | ||
| Line 66: | Line 121: | ||
| + | sleep(100); | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | Example of using the first param as a string to scan for sequence of keys | ||
| + | |||
| + | <syntaxhighlight lang="sputnik"> | ||
| + | while(true) | ||
| + | { | ||
| + | // Only triggers when SHIFT + NUMLOCK + A is pressed | ||
| + | if( RealGetKeyState( "+{NUMLOCK}a" ) ) | ||
| + | { | ||
| + | println("Key sequence was pressed"); | ||
| + | } | ||
sleep(100); | sleep(100); | ||
} | } | ||
Revision as of 06:20, 30 April 2012
RealGetKeyState( <vk_keycode/expression> )
Contents |
Description
Checks if a key or series of keys is pressed down.
Parameters
vk_keycode/expression
If this param is numeric then a virtual key code (See Macros) is needed.
If this param is a string then it will check all the chars in the string + any specials see remarks.
Return Value
None
Remarks
Special symbols to use when the param is a string
! Alt Key ^ Control Key + Shift Key # Windows Key
Special {} to use when the param is a string
{SPACE} SPACE
{ENTER} ENTER key on the main keyboard
{ALT} ALT
{BACKSPACE} or {BS} BACKSPACE
{DELETE} or {DEL} DELETE
{UP} Cursor up
{DOWN} Cursor down
{LEFT} Cursor left
{RIGHT} Cursor right
{HOME} HOME
{END} END
{ESCAPE} or {ESC} ESCAPE
{INSERT} or {INS} INS
{PGUP} PageUp
{PGDN} PageDown
{F1} - {F12} Function keys
{TAB} TAB
{PRINTSCREEN} Print Screen key
{LWIN} Left Windows key
{RWIN} Right Windows key
{NUMLOCK} NUMLOCK
{CAPSLOCK} CAPSLOCK
{SCROLLLOCK} SCROLLLOCK
{CTRLBREAK} Ctrl+Break
{PAUSE} PAUSE
{NUMPAD0} - {NUMPAD9} Numpad digits
{NUMPADMULT} Numpad Multiply
{NUMPADADD} Numpad Add
{NUMPADSUB} Numpad Subtract
{NUMPADDIV} Numpad Divide
{NUMPADDOT} Numpad period
{NUMPADENTER} Enter key on the numpad
{APPSKEY} Windows App key
{LALT} Left ALT key
{RALT} Right ALT key
{LCTRL} Left CTRL key
{RCTRL} Right CTRL key
{LSHIFT} Left Shift key
{RSHIFT} Right Shift key
{SLEEP} Computer SLEEP key
Example
Example of using the first param as numeric to scan for a single VK key
println("Try pressing B or C or Shift+A or Shift+Control+D or Shift+Control+Alt+E"); while(true) { if( RealGetKeyState(@KeyB) ) { println("B is pressed"); } if( RealGetKeyState(@KeyC) ) { println("C is pressed"); } if( RealGetKeyState(@KeyShiftKey) && RealGetKeyState(@KeyA) ) { println("Shift+A is pressed"); } if( RealGetKeyState(@KeyShiftKey) && RealGetKeyState(@KeyControlKey) && RealGetKeyState(@KeyD) ) { println("Shift+Control+D is pressed"); } if( RealGetKeyState(@KeyShiftKey) && RealGetKeyState(@KeyControlKey) && RealGetKeyState(@KeyMenu) && RealGetKeyState(@KeyE) ) { println("Shift+Control+Alt+E is pressed"); } sleep(100); }
Example of using the first param as a string to scan for sequence of keys
while(true) { // Only triggers when SHIFT + NUMLOCK + A is pressed if( RealGetKeyState( "+{NUMLOCK}a" ) ) { println("Key sequence was pressed"); } sleep(100); }