# Ogre::GLXInput Class Reference

`#include <OgreGLXInput.h>`

Inheritance diagram for Ogre::GLXInput:

List of all members.

## Public Member Functions

| GLXInput ()
virtual | ~GLXInput ()
void | initialise (RenderWindow *pWindow, bool useKeyboard=true, bool useMouse=true, bool useGameController=false)
| Initialise the input system.
void | capture ()
| Captures the state of all the input devices.
virtual long | getMouseRelX () const
| Retrieves the relative (compared to the last input poll) mouse movement on the X (horizontal) axis.
virtual long | getMouseRelY () const
| Retrieves the relative (compared to the last input poll) mouse movement on the Y (vertical) axis.
virtual long | getMouseRelZ () const
| Retrieves the relative (compared to the last input poll) mouse movement on the Z (mouse wheel) axis.
virtual long | getMouseAbsX () const
| Retrieves the absolute mouse position on the X (horizontal) axis.
virtual long | getMouseAbsY () const
| Retrieves the absolute mouse position on the Y (vertical) axis.
virtual long | getMouseAbsZ () const
| Retrieves the absolute mouse position on the Z (mouse wheel) axis.
virtual void | getMouseState (MouseState &state) const
| Retrieves the current state of the mouse.
virtual bool | getMouseButton (uchar button) const
| Retrieves the state of a mouse button.
void | useBufferedInput (EventQueue *pEventQueue, bool keys=true, bool mouse=true)
| Tells the reader to use buffered input and update the passed in queue.
virtual void | setBufferedInput (bool keys, bool mouse)
virtual bool | isKeyDown (KeyCode kc) const
| Determines if the specified key is currently depressed.
virtual long | getMouseRelativeX () const
| Retrieves the relative position of the mouse when capture was called relative to the last time.
virtual long | getMouseRelativeY () const
| Retrieves the relative position of the mouse when capture was called relative to the last time.
virtual long | getMouseRelativeZ () const
| Retrieves the relative position of the mouse when capture was called relative to the last time.
void | addCursorMoveListener (MouseMotionListener *c)
| Adds a mouse motion listener to the cursor object.
void | removeCursorMoveListener (MouseMotionListener *c)
| Remove a mouse motion listener to the cursor object.

## Static Public Member Functions

char | getKeyChar (int keyCode, long modifiers=0)

## Protected Types

typedef std::set< KeyCode > | BufferedKeysDownSet
| Set of all the keys currently depressed based on buffered input events.

## Protected Member Functions

void | mouseMoved ()
| Creates mouse moved or dragged events depending if any button is pressed.
void | createMouseEvent (int id, int button)
| Creates a MouseEvent that first gets processed by the cursor, then gets pushed on the queue.
void | triggerMouseButton (int nMouseCode, bool mousePressed)
| Creates mouse pressed, released, and clicked events.
void | createKeyEvent (int id, int key)
void | keyChanged (int key, bool down)

## Protected Attributes

long | mModifiers
| The modifiers are a binary flags that represent what buttons are pressed, and what key modifiers are down (e.g.
Cursor * | mCursor
| Internal Cursor object.
EventQueue * | mEventQueue
| EventQueue is used for buffered input support.
bool | mUseBufferedKeys
| Wether to use buffering input support - buffering support relies on using an EventQueue.
bool | mUseBufferedMouse
| Wether to use buffering input support - buffering support relies on using an EventQueue.
MouseState | mMouseState
| The mouse state in immediate mode.
BufferedKeysDownSet | mBufferedKeysDown

## Private Types

typedef std::map< KeySym, KeyCode > | InputKeyMap
typedef std::set< KeyCode > | KeyPressedSet

## Private Member Functions

void | GrabCursor (bool grab)
bool | isKeyDownImmediate (KeyCode kc) const
| Return whether a key is down in immediate mode.

## Private Attributes

float | mMouseSpeed
CARD32 | mHiddenCursor
InputKeyMap | _key_map
KeyPressedSet | _key_pressed_set
bool | captureMouse
bool | warpMouse
int | mouseLastX
int | mouseLastY
Display * | mDisplay
Window | mWindow
RenderWindow * | mRenderWindow

## Static Private Attributes

const unsigned int | mWheelStep = 100

## Member Typedef Documentation

typedef std::set<KeyCode> Ogre::InputReader::BufferedKeysDownSet `[protected, inherited]`

| Set of all the keys currently depressed based on buffered input events. Definition at line 337 of file OgreInput.h.

typedef std::map<KeySym, KeyCode> Ogre::GLXInput::InputKeyMap `[private]`

| Definition at line 70 of file OgreGLXInput.h.

typedef std::set<KeyCode> Ogre::GLXInput::KeyPressedSet `[private]`

| Definition at line 74 of file OgreGLXInput.h.

## Constructor & Destructor Documentation

Ogre::GLXInput::GLXInput | ( |  | ) |

virtual Ogre::GLXInput::~GLXInput | ( |  | ) | `[virtual]`

## Member Function Documentation

void Ogre::InputReader::addCursorMoveListener | ( | MouseMotionListener * | c | ) | `[inherited]`

| Adds a mouse motion listener to the cursor object. This keeps the Cursor object hidden.

void Ogre::GLXInput::capture | ( |  | ) | `[virtual]`

Captures the state of all the input devices.

Remarks:
  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.

Implements Ogre::InputReader.

void Ogre::InputReader::createKeyEvent | ( | int | id,
|  | int | key
| ) | `[protected, inherited]`

void Ogre::InputReader::createMouseEvent | ( | int | id,
|  | int | button
| ) | `[protected, inherited]`

| Creates a MouseEvent that first gets processed by the cursor, then gets pushed on the queue.

char Ogre::InputReader::getKeyChar | ( | int | keyCode,
|  | long | modifiers = 0
| ) | `[static, inherited]`

virtual long Ogre::GLXInput::getMouseAbsX | ( |  | ) | const`[virtual]`

| Retrieves the absolute mouse position on the X (horizontal) axis. Implements Ogre::InputReader.

virtual long Ogre::GLXInput::getMouseAbsY | ( |  | ) | const`[virtual]`

| Retrieves the absolute mouse position on the Y (vertical) axis. Implements Ogre::InputReader.

virtual long Ogre::GLXInput::getMouseAbsZ | ( |  | ) | const`[virtual]`

| Retrieves the absolute mouse position on the Z (mouse wheel) axis. Implements Ogre::InputReader.

virtual bool Ogre::GLXInput::getMouseButton | ( | uchar | button | ) | const`[virtual]`

| Retrieves the state of a mouse button. Implements Ogre::InputReader.

virtual long Ogre::InputReader::getMouseRelativeX | ( |  | ) | const`[virtual, inherited]`

| Retrieves the relative position of the mouse when capture was called relative to the last time. Definition at line 266 of file OgreInput.h.

virtual long Ogre::InputReader::getMouseRelativeY | ( |  | ) | const`[virtual, inherited]`

| Retrieves the relative position of the mouse when capture was called relative to the last time. Definition at line 270 of file OgreInput.h.

virtual long Ogre::InputReader::getMouseRelativeZ | ( |  | ) | const`[virtual, inherited]`

| Retrieves the relative position of the mouse when capture was called relative to the last time. Definition at line 274 of file OgreInput.h.

virtual long Ogre::GLXInput::getMouseRelX | ( |  | ) | const`[virtual]`

| Retrieves the relative (compared to the last input poll) mouse movement on the X (horizontal) axis. Implements Ogre::InputReader.

virtual long Ogre::GLXInput::getMouseRelY | ( |  | ) | const`[virtual]`

| Retrieves the relative (compared to the last input poll) mouse movement on the Y (vertical) axis. Implements Ogre::InputReader.

virtual long Ogre::GLXInput::getMouseRelZ | ( |  | ) | const`[virtual]`

| Retrieves the relative (compared to the last input poll) mouse movement on the Z (mouse wheel) axis. Implements Ogre::InputReader.

virtual void Ogre::GLXInput::getMouseState | ( | MouseState & | state | ) | const`[virtual]`

| Retrieves the current state of the mouse. Implements Ogre::InputReader.

void Ogre::GLXInput::GrabCursor | ( | bool | grab | ) | `[private]`

void Ogre::GLXInput::initialise | ( | RenderWindow * | pWindow,
|  | bool | useKeyboard = true,
|  | bool | useMouse = true,
|  | bool | useGameController = false
| ) | `[virtual]`

Initialise the input system.

Note:
  Only keyboard and mouse currently implemented.

Parameters:

  pWindow | The window to capture input for
  useKeyboard | If true, keyboard input will be supported.
  useMouse | If true, mouse input will be supported.
  useGameController | If true, joysticks/gamepads will be supported.

Implements Ogre::InputReader.

virtual bool Ogre::InputReader::isKeyDown | ( | KeyCode | kc | ) | const`[virtual, inherited]`

Determines if the specified key is currently depressed.

Note:
  In immediate mode, this enquiry method uses the state of the keyboard at the last 'capture' call.

bool Ogre::GLXInput::isKeyDownImmediate | ( | KeyCode | kc | ) | const`[private, virtual]`

| Return whether a key is down in immediate mode. Implements Ogre::InputReader.

void Ogre::InputReader::keyChanged | ( | int | key,
|  | bool | down
| ) | `[protected, inherited]`

void Ogre::InputReader::mouseMoved | ( |  | ) | `[protected, inherited]`

| Creates mouse moved or dragged events depending if any button is pressed.

void Ogre::InputReader::removeCursorMoveListener | ( | MouseMotionListener * | c | ) | `[inherited]`

| Remove a mouse motion listener to the cursor object. This keeps the Cursor object hidden.

virtual void Ogre::InputReader::setBufferedInput | ( | bool | keys,
|  | bool | mouse
| ) | `[virtual, inherited]`

| Reimplemented in Ogre::Win32Input8.

void Ogre::InputReader::triggerMouseButton | ( | int | nMouseCode,
|  | bool | mousePressed
| ) | `[protected, inherited]`

| Creates mouse pressed, released, and clicked events.

void Ogre::InputReader::useBufferedInput | ( | EventQueue * | pEventQueue,
|  | bool | keys = true,
|  | bool | mouse = true
| ) | `[inherited]`

Tells the reader to use buffered input and update the passed in queue.

Remarks:
  The default behaviour of the input reader is simply to capture the current state of the mouse / keyboard on demand. An alternative is to use buffered input where all events are registered on a queue.

## Member Data Documentation

InputKeyMap Ogre::GLXInput::_key_map `[private]`

| Definition at line 71 of file OgreGLXInput.h.

KeyPressedSet Ogre::GLXInput::_key_pressed_set `[private]`

| Definition at line 75 of file OgreGLXInput.h.

bool Ogre::GLXInput::captureMouse `[private]`

| Definition at line 79 of file OgreGLXInput.h.

BufferedKeysDownSet Ogre::InputReader::mBufferedKeysDown `[protected, inherited]`

| Definition at line 338 of file OgreInput.h.

Cursor* Ogre::InputReader::mCursor `[protected, inherited]`

Internal Cursor object.

Remarks:
  This is a mathematical representation of where the cursor is, it does not draw a cursor.

See also:
  CursorGuiElement.

Definition at line 323 of file OgreInput.h.

Display* Ogre::GLXInput::mDisplay `[private]`

| Definition at line 85 of file OgreGLXInput.h.

EventQueue* Ogre::InputReader::mEventQueue `[protected, inherited]`

| EventQueue is used for buffered input support. Definition at line 326 of file OgreInput.h.

CARD32 Ogre::GLXInput::mHiddenCursor `[private]`

| Definition at line 67 of file OgreGLXInput.h.

long Ogre::InputReader::mModifiers `[protected, inherited]`

| The modifiers are a binary flags that represent what buttons are pressed, and what key modifiers are down (e.g. shift/alt). Definition at line 315 of file OgreInput.h.

float Ogre::GLXInput::mMouseSpeed `[private]`

| Definition at line 66 of file OgreGLXInput.h.

MouseState Ogre::InputReader::mMouseState `[protected, inherited]`

| The mouse state in immediate mode. Definition at line 334 of file OgreInput.h.

int Ogre::GLXInput::mouseLastX `[private]`

| Definition at line 82 of file OgreGLXInput.h.

int Ogre::GLXInput::mouseLastY `[private]`

| Definition at line 82 of file OgreGLXInput.h.

RenderWindow* Ogre::GLXInput::mRenderWindow `[private]`

| Definition at line 87 of file OgreGLXInput.h.

bool Ogre::InputReader::mUseBufferedKeys `[protected, inherited]`

Wether to use buffering input support - buffering support relies on using an EventQueue.

See also:
  class EventQueue

Definition at line 331 of file OgreInput.h.

bool Ogre::InputReader::mUseBufferedMouse `[protected, inherited]`

Wether to use buffering input support - buffering support relies on using an EventQueue.

See also:
  class EventQueue

Definition at line 331 of file OgreInput.h.

const unsigned int Ogre::GLXInput::mWheelStep = 100`[static, private]`

| Definition at line 89 of file OgreGLXInput.h.

Window Ogre::GLXInput::mWindow `[private]`

| Definition at line 86 of file OgreGLXInput.h.

bool Ogre::GLXInput::warpMouse `[private]`

| Definition at line 81 of file OgreGLXInput.h.

The documentation for this class was generated from the following file:

- OgreGLXInput.h

Copyright © 2000-2005 by The OGRE Team
Last modified Sun Nov 20 12:41:32 2005