
#file-cache C:\Documents and Settings\Rich\Desktop\Flash\KeyPoll\keypoll_test.as
package{import bigroom.input.KeyPoll;import flash.display.Sprite;import flash.events.Event;import flash.text.TextField;import flash.text.TextFieldAutoSize;import flash.text.TextFormat;public class jetjumper extends Sprite{private var status : TextField;private var debug : TextField;private var keyboard : KeyPoll;public function jetjumper ();public function statusOn (event:Event) : void;public function statusOff (event:Event) : void;public function keyCheck (event:Event) : void;}}
#file-cache C:\Documents and Settings\Rich\Desktop\Flash\KeyPoll\bigroom\input\KeyPoll.as
package bigroom.input{import flash.events.KeyboardEvent;import flash.events.Event;import flash.display.DisplayObject;import flash.utils.ByteArray;/**
* <p>Games often need to get the current state of various keys in order to respond to user input. 
	 * This is not the same as responding to key down and key up events, but is rather a case of discovering 
	 * if a particular key is currently pressed.</p>
	 * 
	 * <p>In Actionscript 2 this was a simple matter of calling Key.isDown() with the appropriate key code. 
	 * But in Actionscript 3 Key.isDown no longer exists and the only intrinsic way to react to the keyboard 
	 * is via the keyUp and keyDown events.</p>
	 * 
	 * <p>The KeyPoll class rectifies this. It has isDown and isUp methods, each taking a key code as a 
	 * parameter and returning a Boolean.</p>
*/
public class KeyPoll{private var states : ByteArray;private var dispObj : DisplayObject;private var lastKeyCode : uint;public static const A : uint;public static const ALTERNATE : uint;public static const B : uint;public static const BACKQUOTE : uint;public static const BACKSLASH : uint;public static const BACKSPACE : uint;public static const C : uint;public static const CAPS_LOCK : uint;public static const COMMA : uint;public static const COMMAND : uint;public static const CONTROL : uint;public static const D : uint;public static const DELETE : uint;public static const DOWN : uint;public static const E : uint;public static const END : uint;public static const ENTER : uint;public static const EQUAL : uint;public static const ESCAPE : uint;public static const F : uint;public static const F1 : uint;public static const F10 : uint;public static const F11 : uint;public static const F12 : uint;public static const F13 : uint;public static const F14 : uint;public static const F15 : uint;public static const F2 : uint;public static const F3 : uint;public static const F4 : uint;public static const F5 : uint;public static const F6 : uint;public static const F7 : uint;public static const F8 : uint;public static const F9 : uint;public static const G : uint;public static const H : uint;public static const HOME : uint;public static const I : uint;public static const INSERT : uint;public static const J : uint;public static const K : uint;public static const L : uint;public static const LEFT : uint;public static const LEFTBRACKET : uint;public static const M : uint;public static const MINUS : uint;public static const N : uint;public static const NUMBER_0 : uint;public static const NUMBER_1 : uint;public static const NUMBER_2 : uint;public static const NUMBER_3 : uint;public static const NUMBER_4 : uint;public static const NUMBER_5 : uint;public static const NUMBER_6 : uint;public static const NUMBER_7 : uint;public static const NUMBER_8 : uint;public static const NUMBER_9 : uint;public static const NUMPAD : uint;public static const NUMPAD_0 : uint;public static const NUMPAD_1 : uint;public static const NUMPAD_2 : uint;public static const NUMPAD_3 : uint;public static const NUMPAD_4 : uint;public static const NUMPAD_5 : uint;public static const NUMPAD_6 : uint;public static const NUMPAD_7 : uint;public static const NUMPAD_8 : uint;public static const NUMPAD_9 : uint;public static const NUMPAD_ADD : uint;public static const NUMPAD_DECIMAL : uint;public static const NUMPAD_DIVIDE : uint;public static const NUMPAD_ENTER : uint;public static const NUMPAD_MULTIPLY : uint;public static const NUMPAD_SUBTRACT : uint;public static const O : uint;public static const P : uint;public static const PAGE_DOWN : uint;public static const PAGE_UP : uint;public static const PERIOD : uint;public static const Q : uint;public static const QUOTE : uint;public static const R : uint;public static const RIGHT : uint;public static const RIGHTBRACKET : uint;public static const S : uint;public static const SEMICOLON : uint;public static const SHIFT : uint;public static const SLASH : uint;public static const SPACE : uint;public static const T : uint;public static const TAB : uint;public static const U : uint;public static const UP : uint;public static const V : uint;public static const W : uint;public static const X : uint;public static const Y : uint;public static const Z : uint;/**
* Returns the keyCode of the most recent key held down
		 *
		 * @return uint of the keyCode, or 0 if none
*/
public function get keyCode () : uint;/**
* Constructor
		 * 
		 * @param displayObj a display object on which to test listen for keyboard events. To catch all key events use the stage.
*/
public function keyPoll (displayObj:DisplayObject);private function keyDownListener (ev:KeyboardEvent) : void;private function keyUpListener (ev:KeyboardEvent) : void;private function resetKeyStates (ev:Event) : void;/**
* Test if the given keys are currently held down or not.
		 * Only one scancode is required.
		 *
		 * @param keyCode1 The scancode for the first key to test.
		 * @param keyCode2 The scancode for the second key to test.
		 * @param keyCode3 The scancode for the third key to test.
		 *
		 * @return true if the key/s are held down, otherwise false
		 *
		 * @see isUp
*/
public function isDown (keyCode1:uint, keyCode2:uint = 0, keyCode3:uint = 0) : Boolean;/**
* Test if the given key (or set of keys) are currently up
		 *
		 * @param keyCode1 The scancode for the first key to test.
		 * @param keyCode2 The scancode for the second key to test.
		 * @param keyCode3 The scancode for the third key to test.
		 *
		 * @return true if the key/s are not currently held down, otherwise false
		 *
		 * @see isDown
*/
public function isUp (keyCode1:uint, keyCode2:uint = 0, keyCode3:uint = 0) : Boolean;}}