Orxonox  0.0.5 Codename: Arcturus
Classes | Typedefs | Enumerations
OIS Namespace Reference

Classes

class  Axis
 Axis component. More...
 
struct  AxisInfo
 
class  Button
 Button can be a keyboard key, mouse button, etc. More...
 
class  Component
 Base of all device components (button, axis, etc) More...
 
class  ConditionalEffect
 Use this class when dealing with Force type of Condional. More...
 
class  ConstantEffect
 Use this class when dealing with Force type of Constant. More...
 
struct  cookie_struct
 
class  Effect
 Force Feedback is a relatively complex set of properties to upload to a device. More...
 
class  Envelope
 An optional envelope to be applied to the start/end of an effect. More...
 
class  EventArg
 Base class of all events. More...
 
class  EventUtils
 
class  Exception
 
class  FactoryCreator
 Interface for creating devices - all devices ultimately get enumerated/created via a factory. More...
 
class  ForceEffect
 Base class of all effect property classes. More...
 
class  ForceFeedback
 Interface class for dealing with Force Feedback devices. More...
 
class  HidInfo
 
class  InputManager
 Base Manager class. More...
 
class  Interface
 An Object's interface is a way to gain write access to devices which support it. More...
 
class  JoyStick
 Joystick base class. More...
 
class  JoyStickEvent
 Specialised for joystick events. More...
 
class  JoyStickInfo
 
class  JoyStickListener
 To recieve buffered joystick input, derive a class from this, and implement the methods here. More...
 
class  JoyStickState
 Represents the state of the joystick All members are valid for both buffered and non buffered mode Sticks with zero values are not present on the device. More...
 
class  Keyboard
 Keyboard base class. More...
 
class  KeyEvent
 Specialised for key events. More...
 
class  KeyListener
 To recieve buffered keyboard input, derive a class from this, and implement the methods here. More...
 
class  LinuxForceFeedback
 
class  LinuxInputManager
 Linux X11 InputManager specialization - Using lowlevel joys. More...
 
class  LinuxJoyStick
 Linux specialization of JoyStick class. More...
 
class  LinuxKeyboard
 Linux implementation of Keyboard object - uses x11. More...
 
class  LinuxMouse
 
class  Mac_KeyStackEvent
 
class  Mac_MouseStackEvent
 
class  MacHIDManager
 
class  MacInputManager
 
class  MacJoyStick
 
class  MacKeyboard
 
class  MacMouse
 
class  Mouse
 Mouse base class. More...
 
class  MouseEvent
 Specialised for mouse events. More...
 
class  MouseListener
 To recieve buffered mouse input, derive a class from this, and implement the methods here. More...
 
class  MouseState
 Represents the state of the mouse All members are valid for both buffered and non buffered mode. More...
 
class  MultiTouch
 MultiTouch base class. More...
 
class  MultiTouchEvent
 Specialised for multi-touch events. More...
 
class  MultiTouchListener
 To receive buffered touch input, derive a class from this, and implement the methods here. More...
 
class  MultiTouchState
 
class  Object
 The base class of all input types. More...
 
class  OIS_CFString
 Simple wrapper class for CFString which will create a valid CFString and retain ownership until class instance is outof scope To Access the CFStringRef instance, simply cast to void*, pass into a function expecting a void* CFStringRef object, or access via cf_str() method. More...
 
class  PeriodicEffect
 Use this class when dealing with Force type of Periodic. More...
 
class  Pov
 POV / HAT Joystick component. More...
 
class  RampEffect
 Use this class when dealing with Force type of Ramp. More...
 
class  Range
 
class  Slider
 A sliding axis - only used in Win32 Right Now. More...
 
class  Vector3
 A 3D Vector component (perhaps an orientation, as in the WiiMote) More...
 
class  Win32ForceFeedback
 
class  Win32InputManager
 Win32InputManager specialization - Using DirectInput8. More...
 
class  Win32JoyStick
 
class  Win32Keyboard
 
class  Win32Mouse
 

Typedefs

typedef struct OIS::cookie_struct cookie_struct_t
 
typedef std::multimap< Type, std::string > DeviceList
 Map of device objects connected and their respective vendors. More...
 
typedef std::map< Object *, FactoryCreator * > FactoryCreatedObject
 Map of FactoryCreator created Objects. More...
 
typedef std::vector< FactoryCreator * > FactoryList
 List of FactoryCreator's. More...
 
typedef std::vector< HidInfo * > HidInfoList
 
typedef std::vector< JoyStickInfoJoyStickInfoList
 
typedef enum Mac_EventType MacEventType
 
typedef class OIS::Mac_KeyStackEvent MacKeyStackEvent
 
typedef class OIS::Mac_MouseStackEvent MacMouseStackEvent
 
typedef std::multimap< std::string, std::string > ParamList
 Way to send OS nuetral parameters.. ie OS Window handles, modes, flags. More...
 

Enumerations

enum  ComponentType {
  OIS_Unknown = 0, OIS_Button = 1, OIS_Axis = 2, OIS_Slider = 3,
  OIS_POV = 4, OIS_Vector3 = 5
}
 Base type for all device components (button, axis, etc) More...
 
enum  KeyCode {
  KC_UNASSIGNED = 0x00, KC_ESCAPE = 0x01, KC_1 = 0x02, KC_2 = 0x03,
  KC_3 = 0x04, KC_4 = 0x05, KC_5 = 0x06, KC_6 = 0x07,
  KC_7 = 0x08, KC_8 = 0x09, KC_9 = 0x0A, KC_0 = 0x0B,
  KC_MINUS = 0x0C, KC_EQUALS = 0x0D, KC_BACK = 0x0E, KC_TAB = 0x0F,
  KC_Q = 0x10, KC_W = 0x11, KC_E = 0x12, KC_R = 0x13,
  KC_T = 0x14, KC_Y = 0x15, KC_U = 0x16, KC_I = 0x17,
  KC_O = 0x18, KC_P = 0x19, KC_LBRACKET = 0x1A, KC_RBRACKET = 0x1B,
  KC_RETURN = 0x1C, KC_LCONTROL = 0x1D, KC_A = 0x1E, KC_S = 0x1F,
  KC_D = 0x20, KC_F = 0x21, KC_G = 0x22, KC_H = 0x23,
  KC_J = 0x24, KC_K = 0x25, KC_L = 0x26, KC_SEMICOLON = 0x27,
  KC_APOSTROPHE = 0x28, KC_GRAVE = 0x29, KC_LSHIFT = 0x2A, KC_BACKSLASH = 0x2B,
  KC_Z = 0x2C, KC_X = 0x2D, KC_C = 0x2E, KC_V = 0x2F,
  KC_B = 0x30, KC_N = 0x31, KC_M = 0x32, KC_COMMA = 0x33,
  KC_PERIOD = 0x34, KC_SLASH = 0x35, KC_RSHIFT = 0x36, KC_MULTIPLY = 0x37,
  KC_LMENU = 0x38, KC_SPACE = 0x39, KC_CAPITAL = 0x3A, KC_F1 = 0x3B,
  KC_F2 = 0x3C, KC_F3 = 0x3D, KC_F4 = 0x3E, KC_F5 = 0x3F,
  KC_F6 = 0x40, KC_F7 = 0x41, KC_F8 = 0x42, KC_F9 = 0x43,
  KC_F10 = 0x44, KC_NUMLOCK = 0x45, KC_SCROLL = 0x46, KC_NUMPAD7 = 0x47,
  KC_NUMPAD8 = 0x48, KC_NUMPAD9 = 0x49, KC_SUBTRACT = 0x4A, KC_NUMPAD4 = 0x4B,
  KC_NUMPAD5 = 0x4C, KC_NUMPAD6 = 0x4D, KC_ADD = 0x4E, KC_NUMPAD1 = 0x4F,
  KC_NUMPAD2 = 0x50, KC_NUMPAD3 = 0x51, KC_NUMPAD0 = 0x52, KC_DECIMAL = 0x53,
  KC_OEM_102 = 0x56, KC_F11 = 0x57, KC_F12 = 0x58, KC_F13 = 0x64,
  KC_F14 = 0x65, KC_F15 = 0x66, KC_KANA = 0x70, KC_ABNT_C1 = 0x73,
  KC_CONVERT = 0x79, KC_NOCONVERT = 0x7B, KC_YEN = 0x7D, KC_ABNT_C2 = 0x7E,
  KC_NUMPADEQUALS = 0x8D, KC_PREVTRACK = 0x90, KC_AT = 0x91, KC_COLON = 0x92,
  KC_UNDERLINE = 0x93, KC_KANJI = 0x94, KC_STOP = 0x95, KC_AX = 0x96,
  KC_UNLABELED = 0x97, KC_NEXTTRACK = 0x99, KC_NUMPADENTER = 0x9C, KC_RCONTROL = 0x9D,
  KC_MUTE = 0xA0, KC_CALCULATOR = 0xA1, KC_PLAYPAUSE = 0xA2, KC_MEDIASTOP = 0xA4,
  KC_VOLUMEDOWN = 0xAE, KC_VOLUMEUP = 0xB0, KC_WEBHOME = 0xB2, KC_NUMPADCOMMA = 0xB3,
  KC_DIVIDE = 0xB5, KC_SYSRQ = 0xB7, KC_RMENU = 0xB8, KC_PAUSE = 0xC5,
  KC_HOME = 0xC7, KC_UP = 0xC8, KC_PGUP = 0xC9, KC_LEFT = 0xCB,
  KC_RIGHT = 0xCD, KC_END = 0xCF, KC_DOWN = 0xD0, KC_PGDOWN = 0xD1,
  KC_INSERT = 0xD2, KC_DELETE = 0xD3, KC_LWIN = 0xDB, KC_RWIN = 0xDC,
  KC_APPS = 0xDD, KC_POWER = 0xDE, KC_SLEEP = 0xDF, KC_WAKE = 0xE3,
  KC_WEBSEARCH = 0xE5, KC_WEBFAVORITES = 0xE6, KC_WEBREFRESH = 0xE7, KC_WEBSTOP = 0xE8,
  KC_WEBFORWARD = 0xE9, KC_WEBBACK = 0xEA, KC_MYCOMPUTER = 0xEB, KC_MAIL = 0xEC,
  KC_MEDIASELECT = 0xED
}
 Keyboard scan codes. More...
 
enum  Mac_EventType {
  MAC_KEYUP = 0, MAC_KEYDOWN = 1, MAC_KEYREPEAT, MAC_MOUSEDOWN,
  MAC_MOUSEUP, MAC_MOUSEMOVED, MAC_MOUSESCROLL
}
 
enum  MouseButtonID {
  MB_Left = 0, MB_Right, MB_Middle, MB_Button3,
  MB_Button4, MB_Button5, MB_Button6, MB_Button7
}
 Button ID for mouse devices. More...
 
enum  MultiTypeEventTypeID {
  MT_None = 0, MT_Pressed, MT_Released, MT_Moved,
  MT_Cancelled
}
 Represents the state of the multi-touch device All members are valid for both buffered and non buffered mode. More...
 
enum  OIS_ERROR {
  E_InputDisconnected, E_InputDeviceNonExistant, E_InputDeviceNotSupported, E_DeviceFull,
  E_NotSupported, E_NotImplemented, E_Duplicate, E_InvalidParam,
  E_General
}
 Simple enum's for dealing with exceptions. More...
 
enum  Type {
  OISUnknown = 0, OISKeyboard = 1, OISMouse = 2, OISJoyStick = 3,
  OISTablet = 4, OISMultiTouch = 5
}
 Each Input class has a General Type variable, a form of RTTI. More...
 

Typedef Documentation

typedef std::multimap<Type, std::string> OIS::DeviceList

Map of device objects connected and their respective vendors.

Map of FactoryCreator created Objects.

typedef std::vector<FactoryCreator*> OIS::FactoryList

List of FactoryCreator's.

typedef std::vector<HidInfo*> OIS::HidInfoList
typedef std::vector< JoyStickInfo > OIS::JoyStickInfoList
typedef std::multimap<std::string, std::string> OIS::ParamList

Way to send OS nuetral parameters.. ie OS Window handles, modes, flags.

Enumeration Type Documentation

Base type for all device components (button, axis, etc)

Enumerator
OIS_Unknown 
OIS_Button 
OIS_Axis 
OIS_Slider 
OIS_POV 
OIS_Vector3 

Keyboard scan codes.

Enumerator
KC_UNASSIGNED 
KC_ESCAPE 
KC_1 
KC_2 
KC_3 
KC_4 
KC_5 
KC_6 
KC_7 
KC_8 
KC_9 
KC_0 
KC_MINUS 
KC_EQUALS 
KC_BACK 
KC_TAB 
KC_Q 
KC_W 
KC_E 
KC_R 
KC_T 
KC_Y 
KC_U 
KC_I 
KC_O 
KC_P 
KC_LBRACKET 
KC_RBRACKET 
KC_RETURN 
KC_LCONTROL 
KC_A 
KC_S 
KC_D 
KC_F 
KC_G 
KC_H 
KC_J 
KC_K 
KC_L 
KC_SEMICOLON 
KC_APOSTROPHE 
KC_GRAVE 
KC_LSHIFT 
KC_BACKSLASH 
KC_Z 
KC_X 
KC_C 
KC_V 
KC_B 
KC_N 
KC_M 
KC_COMMA 
KC_PERIOD 
KC_SLASH 
KC_RSHIFT 
KC_MULTIPLY 
KC_LMENU 
KC_SPACE 
KC_CAPITAL 
KC_F1 
KC_F2 
KC_F3 
KC_F4 
KC_F5 
KC_F6 
KC_F7 
KC_F8 
KC_F9 
KC_F10 
KC_NUMLOCK 
KC_SCROLL 
KC_NUMPAD7 
KC_NUMPAD8 
KC_NUMPAD9 
KC_SUBTRACT 
KC_NUMPAD4 
KC_NUMPAD5 
KC_NUMPAD6 
KC_ADD 
KC_NUMPAD1 
KC_NUMPAD2 
KC_NUMPAD3 
KC_NUMPAD0 
KC_DECIMAL 
KC_OEM_102 
KC_F11 
KC_F12 
KC_F13 
KC_F14 
KC_F15 
KC_KANA 
KC_ABNT_C1 
KC_CONVERT 
KC_NOCONVERT 
KC_YEN 
KC_ABNT_C2 
KC_NUMPADEQUALS 
KC_PREVTRACK 
KC_AT 
KC_COLON 
KC_UNDERLINE 
KC_KANJI 
KC_STOP 
KC_AX 
KC_UNLABELED 
KC_NEXTTRACK 
KC_NUMPADENTER 
KC_RCONTROL 
KC_MUTE 
KC_CALCULATOR 
KC_PLAYPAUSE 
KC_MEDIASTOP 
KC_VOLUMEDOWN 
KC_VOLUMEUP 
KC_WEBHOME 
KC_NUMPADCOMMA 
KC_DIVIDE 
KC_SYSRQ 
KC_RMENU 
KC_PAUSE 
KC_HOME 
KC_UP 
KC_PGUP 
KC_LEFT 
KC_RIGHT 
KC_END 
KC_DOWN 
KC_PGDOWN 
KC_INSERT 
KC_DELETE 
KC_LWIN 
KC_RWIN 
KC_APPS 
KC_POWER 
KC_SLEEP 
KC_WAKE 
KC_WEBSEARCH 
KC_WEBFAVORITES 
KC_WEBREFRESH 
KC_WEBSTOP 
KC_WEBFORWARD 
KC_WEBBACK 
KC_MYCOMPUTER 
KC_MAIL 
KC_MEDIASELECT 
Enumerator
MAC_KEYUP 
MAC_KEYDOWN 
MAC_KEYREPEAT 
MAC_MOUSEDOWN 
MAC_MOUSEUP 
MAC_MOUSEMOVED 
MAC_MOUSESCROLL 

Button ID for mouse devices.

Enumerator
MB_Left 
MB_Right 
MB_Middle 
MB_Button3 
MB_Button4 
MB_Button5 
MB_Button6 
MB_Button7 

Represents the state of the multi-touch device All members are valid for both buffered and non buffered mode.

Touch Event type

Enumerator
MT_None 
MT_Pressed 
MT_Released 
MT_Moved 
MT_Cancelled 

Simple enum's for dealing with exceptions.

Enumerator
E_InputDisconnected 
E_InputDeviceNonExistant 
E_InputDeviceNotSupported 
E_DeviceFull 
E_NotSupported 
E_NotImplemented 
E_Duplicate 
E_InvalidParam 
E_General 
enum OIS::Type

Each Input class has a General Type variable, a form of RTTI.

Enumerator
OISUnknown 
OISKeyboard 
OISMouse 
OISJoyStick 
OISTablet 
OISMultiTouch