C# Class Axiom.Input.InputReader

Abstract class which allows input to be read from various controllers.
Temporary implementation only. This class is likely to be refactored into a better design when I get time to look at it properly. For now it's a quick-and-dirty way to get what I need.
Inheritance: IDisposable
Show file Open project: WolfgangSt/axiom Class Usage Examples

Protected Properties

Property Type Description
modifiers ModifierKeys
useKeyboardEvents bool
useMouseEvents bool

Public Methods

Method Description
Capture ( ) : void

Captures the state of all the input devices.

This method captures the state of all input devices and stores it internally for use when the enquiry methods are next called. This is done to ensure that all input is captured at once and therefore combinations of input are not subject to time differences when methods are called.

Dispose ( ) : void

Called to destroy this input reader.

GetKeyChar ( KeyCodes keyCode, ModifierKeys modifiers ) : char

Given a key code enum value, the corresponding character is returned.

Initialize ( Axiom.Graphics.RenderWindow parent, bool useKeyboard, bool useMouse, bool useGamepad, bool ownMouse ) : void

Subclasses should initialize the underlying input subsystem using this method.

IsKeyPressed ( Axiom key ) : bool

Used to check if a particular key was pressed during the last call to Capture.

IsMousePressed ( Axiom button ) : bool

Returns true if the specified mouse button is currently down.

Protected Methods

Method Description
KeyChanged ( KeyCodes key, bool down ) : void

Helper method for running logic on a key change.

OnKeyDown ( KeyEventArgs e ) : void

Triggers the KeyDown event.

OnKeyUp ( KeyEventArgs e ) : void

Triggers the KeyUp event.

Method Details

Capture() public abstract method

Captures the state of all the input devices.
This method captures the state of all input devices and stores it internally for use when the enquiry methods are next called. This is done to ensure that all input is captured at once and therefore combinations of input are not subject to time differences when methods are called.
public abstract Capture ( ) : void
return void

Dispose() public abstract method

Called to destroy this input reader.
public abstract Dispose ( ) : void
return void

GetKeyChar() public static method

Given a key code enum value, the corresponding character is returned.
public static GetKeyChar ( KeyCodes keyCode, ModifierKeys modifiers ) : char
keyCode KeyCodes
modifiers ModifierKeys
return char

Initialize() public abstract method

Subclasses should initialize the underlying input subsystem using this method.
public abstract Initialize ( Axiom.Graphics.RenderWindow parent, bool useKeyboard, bool useMouse, bool useGamepad, bool ownMouse ) : void
parent Axiom.Graphics.RenderWindow Parent window that the input belongs to.
useKeyboard bool
useMouse bool
useGamepad bool
ownMouse bool /// If true, input will be taken over from the OS and exclusive to the window. /// If false, input will still be shared with other apps. ///
return void

IsKeyPressed() public abstract method

Used to check if a particular key was pressed during the last call to Capture.
public abstract IsKeyPressed ( Axiom key ) : bool
key Axiom
return bool

IsMousePressed() public abstract method

Returns true if the specified mouse button is currently down.
public abstract IsMousePressed ( Axiom button ) : bool
button Axiom Mouse button to query.
return bool

KeyChanged() protected method

Helper method for running logic on a key change.
protected KeyChanged ( KeyCodes key, bool down ) : void
key KeyCodes Code of the key being changed
down bool True if the key is being pressed down, false if being released.
return void

OnKeyDown() protected method

Triggers the KeyDown event.
protected OnKeyDown ( KeyEventArgs e ) : void
e KeyEventArgs Event arguments.
return void

OnKeyUp() protected method

Triggers the KeyUp event.
protected OnKeyUp ( KeyEventArgs e ) : void
e KeyEventArgs Event arguments.
return void

Property Details

modifiers protected property

Active modifier keys.
protected ModifierKeys modifiers
return ModifierKeys

useKeyboardEvents protected property

Flag for whether or not to fire keyboard events.
protected bool useKeyboardEvents
return bool

useMouseEvents protected property

Flag for whether or not to fire mouse events.
protected bool useMouseEvents
return bool