Difference between revisions of "IsKeyPressed"
Jump to navigation
Jump to search
imported>JOG (More Keys) |
imported>Scruggs |
||
Line 76: | Line 76: | ||
* This function doesn't return a value while a [[MessageBox]] is being displayed, presumably because input is switched over to the MessageBox. | * This function doesn't return a value while a [[MessageBox]] is being displayed, presumably because input is switched over to the MessageBox. | ||
* To convert DX scan codes to values usable by this function, use [[DX2VK]]. | |||
* Bear in mind that this function returns 1 for as long as the key is held down, so it's generally a good idea to trap the key and then wait until it is released, i.e.: | * Bear in mind that this function returns 1 for as long as the key is held down, so it's generally a good idea to trap the key and then wait until it is released, i.e.: | ||
<pre>if ( curKey && isKeyPressed curkey ) ; key still being held down | <pre>if ( curKey && isKeyPressed curkey ) ; key still being held down |
Revision as of 20:19, 20 February 2007
A command for Oblivion Script Extender
Syntax:
IsKeyPressed key
Returns true if key is currently pressed down. Key values are stored in Windows header files, as opposed to IsKeyPressed2's DirectX scancodes.
Sample Key IDs
1 Left Mouse Button 2 Right Mouse Button 4 Middle Mouse Button --- 13 Enter --- 20 Caps Lock --- 32 spacebar --- 33 PgUp 34 PgDn 35 End 36 Home 37 Left 38 Up 39 Right 40 Down 44 PrtScr 45 Ins 46 Del --- 48 0 49 1 50 2 ... 55 7 56 8 57 9 --- 65 A 66 B 67 C ... 88 X 89 Y 90 Z --- 96 NUM0 97 NUM1 98 NUM2 ... 103 NUM7 104 NUM8 105 NUM9 106 NUM* 107 NUM+ 109 NUM- 111 NUM/ --- 112 F1 113 F2 114 F3 ... 123 F12 ... 127 F16 --- 160 left shift 161 right shift 162 left control 163 right control
A longer list can be found here
Notes
- This function doesn't return a value while a MessageBox is being displayed, presumably because input is switched over to the MessageBox.
- To convert DX scan codes to values usable by this function, use DX2VK.
- Bear in mind that this function returns 1 for as long as the key is held down, so it's generally a good idea to trap the key and then wait until it is released, i.e.:
if ( curKey && isKeyPressed curkey ) ; key still being held down return ; wait until it's released else set curkey to 0 endif if ( isKeyPressed <keyCode> ) ; do stuff set curKey to <keyCode> endif