orx  1.14
Portable Game Engine
OrxInput

Data Structures

struct  orxINPUT_EVENT_PAYLOAD
 

Macros

#define orxINPUT_GET_FLAG(TYPE)    ((orxU32)(1U << (orxU32)(TYPE)))
 
#define orxINPUT_KC_MODE_PREFIX_NEGATIVE   '-'
 
#define orxINPUT_KC_MODE_PREFIX_POSITIVE   '+'
 
#define orxINPUT_KU32_BINDING_NUMBER   16
 
#define orxINPUT_KU32_FLAG_TYPE_NONE   0x00000000
 
#define orxINPUT_KU32_MASK_TYPE_ALL   0x0000FFFF
 
#define orxINPUT_KZ_CONFIG_COMBINE_LIST   "CombineList"
 
#define orxINPUT_KZ_CONFIG_DEFAULT_MULTIPLIER   "DefaultMultiplier"
 
#define orxINPUT_KZ_CONFIG_DEFAULT_THRESHOLD   "DefaultThreshold"
 
#define orxINPUT_KZ_CONFIG_JOYSTICK_ID_LIST   "JoyIDList"
 
#define orxINPUT_KZ_CONFIG_SECTION   "Input"
 
#define orxINPUT_KZ_INTERNAL_SET_PREFIX   "-="
 

Enumerations

enum  orxINPUT_EVENT {
  orxINPUT_EVENT_ON = 0, orxINPUT_EVENT_OFF, orxINPUT_EVENT_SELECT_SET, orxINPUT_EVENT_REMOVE_SET,
  orxINPUT_EVENT_NUMBER, orxINPUT_EVENT_NONE = orxENUM_NONE
}
 
enum  orxINPUT_MODE {
  orxINPUT_MODE_FULL = 0, orxINPUT_MODE_POSITIVE, orxINPUT_MODE_NEGATIVE, orxINPUT_MODE_NUMBER,
  orxINPUT_MODE_NONE = orxENUM_NONE
}
 
enum  orxINPUT_TYPE {
  orxINPUT_TYPE_KEYBOARD_KEY = 0, orxINPUT_TYPE_MOUSE_BUTTON, orxINPUT_TYPE_MOUSE_AXIS, orxINPUT_TYPE_JOYSTICK_BUTTON,
  orxINPUT_TYPE_JOYSTICK_AXIS, orxINPUT_TYPE_EXTERNAL, orxINPUT_TYPE_NUMBER, orxINPUT_TYPE_NONE = orxENUM_NONE
}
 

Functions

orxDLLAPI orxSTATUS orxFASTCALL orxInput_Bind (const orxSTRING _zName, orxINPUT_TYPE _eType, orxENUM _eID, orxINPUT_MODE _eMode, orxS32 _s32BindingIndex)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_EnableSet (const orxSTRING _zSetName, orxBOOL _bEnable)
 
orxDLLAPI void orxFASTCALL orxInput_Exit ()
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_GetActiveBinding (orxINPUT_TYPE *_peType, orxENUM *_peID, orxFLOAT *_pfValue)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_GetBinding (const orxSTRING _zName, orxU32 _u32BindingIndex, orxINPUT_TYPE *_peType, orxENUM *_peID, orxINPUT_MODE *_peMode)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_GetBindingList (const orxSTRING _zName, orxINPUT_TYPE _aeTypeList[orxINPUT_KU32_BINDING_NUMBER], orxENUM _aeIDList[orxINPUT_KU32_BINDING_NUMBER], orxINPUT_MODE _aeModeList[orxINPUT_KU32_BINDING_NUMBER])
 
orxDLLAPI const orxSTRING orxFASTCALL orxInput_GetBindingName (orxINPUT_TYPE _eType, orxENUM _eID, orxINPUT_MODE _eMode)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_GetBindingType (const orxSTRING _zName, orxINPUT_TYPE *_peType, orxENUM *_peID, orxINPUT_MODE *_peMode)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_GetBoundInput (orxINPUT_TYPE _eType, orxENUM _eID, orxINPUT_MODE _eMode, orxU32 _u32InputIndex, const orxSTRING *_pzName, orxU32 *_pu32BindingIndex)
 
orxDLLAPI orxU32 orxFASTCALL orxInput_GetBoundInputCount (orxINPUT_TYPE _eType, orxENUM _eID, orxINPUT_MODE _eMode)
 
orxDLLAPI const orxSTRING orxFASTCALL orxInput_GetCurrentSet ()
 
orxDLLAPI orxFLOAT orxFASTCALL orxInput_GetMultiplier (const orxSTRING _zInputName)
 
orxDLLAPI const orxSTRING orxFASTCALL orxInput_GetNextSet (const orxSTRING _zSetName)
 
orxDLLAPI orxFLOAT orxFASTCALL orxInput_GetThreshold (const orxSTRING _zInputName)
 
orxDLLAPI orxFLOAT orxFASTCALL orxInput_GetValue (const orxSTRING _zInputName)
 
orxDLLAPI orxBOOL orxFASTCALL orxInput_HasBeenActivated (const orxSTRING _zInputName)
 
orxDLLAPI orxBOOL orxFASTCALL orxInput_HasBeenDeactivated (const orxSTRING _zInputName)
 
orxDLLAPI orxBOOL orxFASTCALL orxInput_HasNewStatus (const orxSTRING _zInputName)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_Init ()
 
orxDLLAPI orxBOOL orxFASTCALL orxInput_IsActive (const orxSTRING _zInputName)
 
orxDLLAPI orxBOOL orxFASTCALL orxInput_IsInCombineMode (const orxSTRING _zName)
 
orxDLLAPI orxBOOL orxFASTCALL orxInput_IsSetEnabled (const orxSTRING _zSetName)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_Load (const orxSTRING _zFileName)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_RemoveSet (const orxSTRING _zSetName)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_ResetValue (const orxSTRING _zInputName)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_Save (const orxSTRING _zFileName)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_SelectSet (const orxSTRING _zSetName)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_SetCombineMode (const orxSTRING _zName, orxBOOL _bCombine)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_SetMultiplier (const orxSTRING _zInputName, orxFLOAT _fMultiplier)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_SetPermanentValue (const orxSTRING _zInputName, orxFLOAT _fValue)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_SetThreshold (const orxSTRING _zInputName, orxFLOAT _fThreshold)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_SetTypeFlags (orxU32 _u32AddTypeFlags, orxU32 _u32RemoveTypeFlags)
 
orxDLLAPI void orxFASTCALL orxInput_Setup ()
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_SetValue (const orxSTRING _zInputName, orxFLOAT _fValue)
 
orxDLLAPI orxSTATUS orxFASTCALL orxInput_Unbind (const orxSTRING _zName, orxS32 _s32BindingIndex)
 

Detailed Description

Input module Module that handles generalized inputs (keyboard, mouse, joystick, ...)

Macro Definition Documentation

#define orxINPUT_GET_FLAG (   TYPE)    ((orxU32)(1U << (orxU32)(TYPE)))

Definition at line 69 of file orxInput.h.

#define orxINPUT_KC_MODE_PREFIX_NEGATIVE   '-'

Definition at line 67 of file orxInput.h.

#define orxINPUT_KC_MODE_PREFIX_POSITIVE   '+'

Definition at line 66 of file orxInput.h.

#define orxINPUT_KU32_BINDING_NUMBER   16

Definition at line 62 of file orxInput.h.

#define orxINPUT_KU32_FLAG_TYPE_NONE   0x00000000

Definition at line 70 of file orxInput.h.

#define orxINPUT_KU32_MASK_TYPE_ALL   0x0000FFFF

Definition at line 71 of file orxInput.h.

#define orxINPUT_KZ_CONFIG_COMBINE_LIST   "CombineList"

Combine input list

Definition at line 59 of file orxInput.h.

#define orxINPUT_KZ_CONFIG_DEFAULT_MULTIPLIER   "DefaultMultiplier"

Input default multiplier

Definition at line 58 of file orxInput.h.

#define orxINPUT_KZ_CONFIG_DEFAULT_THRESHOLD   "DefaultThreshold"

Input default threshold

Definition at line 57 of file orxInput.h.

#define orxINPUT_KZ_CONFIG_JOYSTICK_ID_LIST   "JoyIDList"

Joystick ID list

Definition at line 60 of file orxInput.h.

#define orxINPUT_KZ_CONFIG_SECTION   "Input"

Misc definesInput section name

Definition at line 56 of file orxInput.h.

#define orxINPUT_KZ_INTERNAL_SET_PREFIX   "-="

Definition at line 64 of file orxInput.h.

Enumeration Type Documentation

Event enum

Enumerator
orxINPUT_EVENT_ON 
orxINPUT_EVENT_OFF 
orxINPUT_EVENT_SELECT_SET 
orxINPUT_EVENT_REMOVE_SET 
orxINPUT_EVENT_NUMBER 
orxINPUT_EVENT_NONE 

Definition at line 107 of file orxInput.h.

Input mode enum

Enumerator
orxINPUT_MODE_FULL 
orxINPUT_MODE_POSITIVE 
orxINPUT_MODE_NEGATIVE 
orxINPUT_MODE_NUMBER 
orxINPUT_MODE_NONE 

Definition at line 93 of file orxInput.h.

Input type enum

Enumerator
orxINPUT_TYPE_KEYBOARD_KEY 
orxINPUT_TYPE_MOUSE_BUTTON 
orxINPUT_TYPE_MOUSE_AXIS 
orxINPUT_TYPE_JOYSTICK_BUTTON 
orxINPUT_TYPE_JOYSTICK_AXIS 
orxINPUT_TYPE_EXTERNAL 
orxINPUT_TYPE_NUMBER 
orxINPUT_TYPE_NONE 

Definition at line 76 of file orxInput.h.

Function Documentation

orxDLLAPI orxSTATUS orxFASTCALL orxInput_Bind ( const orxSTRING  _zName,
orxINPUT_TYPE  _eType,
orxENUM  _eID,
orxINPUT_MODE  _eMode,
orxS32  _s32BindingIndex 
)

Binds an input to a mouse/joystick button, keyboard key or joystick axis

Parameters
[in]_zNameConcerned input name
[in]_eTypeType of peripheral to bind
[in]_eIDID of button/key/axis to bind
[in]_eModeMode (only used for axis input)
[in]_s32BindingIndexIndex of the desired binding, if < 0 the oldest binding will be replaced
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxInput_EnableSet ( const orxSTRING  _zSetName,
orxBOOL  _bEnable 
)

Enables/disables working set (without selecting it)

Parameters
[in]_zSetNameSet name to enable/disable
[in]_bEnableEnable / Disable
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI void orxFASTCALL orxInput_Exit ( )

Exits from Input module

orxDLLAPI orxSTATUS orxFASTCALL orxInput_GetActiveBinding ( orxINPUT_TYPE _peType,
orxENUM *  _peID,
orxFLOAT *  _pfValue 
)

Gets active binding (current pressed key/button/...) so as to allow on-the-fly user rebinding

Parameters
[out]_peTypeActive binding's type (mouse/joystick button, keyboard key or joystick axis)
[out]_peIDActive binding's ID (ID of button/key/axis to bind)
[out]_pfValueActive binding's value (optional)
Returns
orxSTATUS_SUCCESS if one active binding is found, orxSTATUS_FAILURE otherwise
orxDLLAPI orxSTATUS orxFASTCALL orxInput_GetBinding ( const orxSTRING  _zName,
orxU32  _u32BindingIndex,
orxINPUT_TYPE _peType,
orxENUM *  _peID,
orxINPUT_MODE _peMode 
)

Gets an input binding (mouse/joystick button, keyboard key or joystick axis) at a given index

Parameters
[in]_zNameConcerned input name
[in]_u32BindingIndexIndex of the desired binding, should be less than orxINPUT_KU32_BINDING_NUMBER
[out]_peTypeBinding type (if a slot is not bound, its value is orxINPUT_TYPE_NONE)
[out]_peIDBinding ID (button/key/axis)
[out]_peModeMode (only used for axis inputs)
Returns
orxSTATUS_SUCCESS if input exists, orxSTATUS_FAILURE otherwise
orxDLLAPI orxSTATUS orxFASTCALL orxInput_GetBindingList ( const orxSTRING  _zName,
orxINPUT_TYPE  _aeTypeList[orxINPUT_KU32_BINDING_NUMBER],
orxENUM  _aeIDList[orxINPUT_KU32_BINDING_NUMBER],
orxINPUT_MODE  _aeModeList[orxINPUT_KU32_BINDING_NUMBER] 
)

Gets an input binding (mouse/joystick button, keyboard key or joystick axis) list

Parameters
[in]_zNameConcerned input name
[out]_aeTypeListList of binding types (if a slot is not bound, its value is orxINPUT_TYPE_NONE)
[out]_aeIDListList of binding IDs (button/key/axis)
[out]_aeModeListList of modes (only used for axis inputs)
Returns
orxSTATUS_SUCCESS if input exists, orxSTATUS_FAILURE otherwise
orxDLLAPI const orxSTRING orxFASTCALL orxInput_GetBindingName ( orxINPUT_TYPE  _eType,
orxENUM  _eID,
orxINPUT_MODE  _eMode 
)

Gets a binding name, don't keep the result as is as it'll get overridden during the next call to this function

Parameters
[in]_eTypeBinding type (mouse/joystick button, keyboard key or joystick axis)
[in]_eIDBinding ID (ID of button/key/axis to bind)
[in]_eModeMode (only used for axis input)
Returns
orxSTRING (binding's name) if success, orxSTRING_EMPTY otherwise
orxDLLAPI orxSTATUS orxFASTCALL orxInput_GetBindingType ( const orxSTRING  _zName,
orxINPUT_TYPE _peType,
orxENUM *  _peID,
orxINPUT_MODE _peMode 
)

Gets a binding type and ID from its name

Parameters
[in]_zNameConcerned input name
[out]_peTypeBinding type (mouse/joystick button, keyboard key or joystick axis)
[out]_peIDBinding ID (ID of button/key/axis to bind)
[out]_peModeBinding mode (only used for axis input)
Returns
orxSTATUS_SUCCESS if input is valid, orxSTATUS_FAILURE otherwise
orxDLLAPI orxSTATUS orxFASTCALL orxInput_GetBoundInput ( orxINPUT_TYPE  _eType,
orxENUM  _eID,
orxINPUT_MODE  _eMode,
orxU32  _u32InputIndex,
const orxSTRING *  _pzName,
orxU32 *  _pu32BindingIndex 
)

Gets the input name to which a mouse/joystick button, keyboard key or joystick axis is bound (at given index)

Parameters
[in]_eTypeType of peripheral to test
[in]_eIDID of button/key/axis to test
[in]_eModeMode (only used for axis input)
[in]_u32InputIndexIndex of the desired input
[out]_pzNameInput name, mandatory
[out]_pu32BindingIndexBinding index for this input, ignored if orxNULL
Returns
orxSTATUS_SUCCESS if binding exists / orxSTATUS_FAILURE otherwise
orxDLLAPI orxU32 orxFASTCALL orxInput_GetBoundInputCount ( orxINPUT_TYPE  _eType,
orxENUM  _eID,
orxINPUT_MODE  _eMode 
)

Gets the input count to which a mouse/joystick button, keyboard key or joystick axis is bound

Parameters
[in]_eTypeType of peripheral to test
[in]_eIDID of button/key/axis to test
[in]_eModeMode (only used for axis input)
Returns
Number of bound inputs
orxDLLAPI const orxSTRING orxFASTCALL orxInput_GetCurrentSet ( )

Gets current working set

Returns
Current selected set
orxDLLAPI orxFLOAT orxFASTCALL orxInput_GetMultiplier ( const orxSTRING  _zInputName)

Gets input multiplier

Parameters
[in]_zInputNameConcerned input name
Returns
Input multiplier if found, -1.0f otherwise
orxDLLAPI const orxSTRING orxFASTCALL orxInput_GetNextSet ( const orxSTRING  _zSetName)

Gets next set

Parameters
[in]_zSetNameConcerned set, orxNULL to get the first one
Returns
Set name / orxNULL
orxDLLAPI orxFLOAT orxFASTCALL orxInput_GetThreshold ( const orxSTRING  _zInputName)

Gets input threshold

Parameters
[in]_zInputNameConcerned input name
Returns
Input threshold
orxDLLAPI orxFLOAT orxFASTCALL orxInput_GetValue ( const orxSTRING  _zInputName)

Gets input value

Parameters
[in]_zInputNameConcerned input name
Returns
orxFLOAT
orxDLLAPI orxBOOL orxFASTCALL orxInput_HasBeenActivated ( const orxSTRING  _zInputName)

Has input been activated (this frame)?

Parameters
[in]_zInputNameConcerned input name
Returns
orxTRUE if newly activated since last frame, orxFALSE otherwise
orxDLLAPI orxBOOL orxFASTCALL orxInput_HasBeenDeactivated ( const orxSTRING  _zInputName)

Has input been deactivated (this frame)?

Parameters
[in]_zInputNameConcerned input name
Returns
orxTRUE if newly deactivated since last frame, orxFALSE otherwise
orxDLLAPI orxBOOL orxFASTCALL orxInput_HasNewStatus ( const orxSTRING  _zInputName)

Has a new active status since this frame?

Parameters
[in]_zInputNameConcerned input name
Returns
orxTRUE if active status is new, orxFALSE otherwise
orxDLLAPI orxSTATUS orxFASTCALL orxInput_Init ( )

Initializes Input module

Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxBOOL orxFASTCALL orxInput_IsActive ( const orxSTRING  _zInputName)

Is input active?

Parameters
[in]_zInputNameConcerned input name
Returns
orxTRUE if active, orxFALSE otherwise
orxDLLAPI orxBOOL orxFASTCALL orxInput_IsInCombineMode ( const orxSTRING  _zName)

Is an input in combine mode?

Parameters
[in]_zNameConcerned input name
Returns
orxTRUE if the input is in combine mode, orxFALSE otherwise
orxDLLAPI orxBOOL orxFASTCALL orxInput_IsSetEnabled ( const orxSTRING  _zSetName)

Is working set enabled (includes current working set)?

Parameters
[in]_zSetNameSet name to check
Returns
orxTRUE / orxFALSE
orxDLLAPI orxSTATUS orxFASTCALL orxInput_Load ( const orxSTRING  _zFileName)

Loads inputs from config

Parameters
[in]_zFileNameFile name to load, will use current loaded config if orxSTRING_EMPTY/orxNULL
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxInput_RemoveSet ( const orxSTRING  _zSetName)

Removes a set

Parameters
[in]_zSetNameSet name to remove
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxInput_ResetValue ( const orxSTRING  _zInputName)

Resets input value (peripheral inputs will then be used instead of code ones)

Parameters
[in]_zInputNameConcerned input name
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxInput_Save ( const orxSTRING  _zFileName)

Saves inputs to config

Parameters
[in]_zFileNameFile name
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxInput_SelectSet ( const orxSTRING  _zSetName)

Selects (and enables) current working set

Parameters
[in]_zSetNameSet name to select
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxInput_SetCombineMode ( const orxSTRING  _zName,
orxBOOL  _bCombine 
)

Sets an input combine mode

Parameters
[in]_zNameConcerned input name
[in]_bCombineIf orxTRUE, all assigned bindings need to be active in order to activate input, otherwise input will be considered active if any of its binding is
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxInput_SetMultiplier ( const orxSTRING  _zInputName,
orxFLOAT  _fMultiplier 
)

Sets input multiplier, if not set the default global multiplier will be used

Parameters
[in]_zInputNameConcerned input name
[in]_fMultiplierMultiplier value, can be negative
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxInput_SetPermanentValue ( const orxSTRING  _zInputName,
orxFLOAT  _fValue 
)

Sets permanent input value (will prevail on peripheral inputs till reset)

Parameters
[in]_zInputNameConcerned input name
[in]_fValueValue to set, orxFLOAT_0 to deactivate
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxInput_SetThreshold ( const orxSTRING  _zInputName,
orxFLOAT  _fThreshold 
)

Sets input threshold, if not set the default global threshold will be used

Parameters
[in]_zInputNameConcerned input name
[in]_fThresholdThreshold value (between 0.0f and 1.0f)
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxInput_SetTypeFlags ( orxU32  _u32AddTypeFlags,
orxU32  _u32RemoveTypeFlags 
)

Sets current set's type flags, only set types will be polled when updating the set (use orxINPUT_GET_FLAG(TYPE) in order to get the flag that matches a type)

Parameters
[in]_u32AddTypeFlagsType flags to add
[in]_u32RemoveTypeFlagsType flags to remove
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI void orxFASTCALL orxInput_Setup ( )

Input module setup

orxDLLAPI orxSTATUS orxFASTCALL orxInput_SetValue ( const orxSTRING  _zInputName,
orxFLOAT  _fValue 
)

Sets input value (will prevail on peripheral inputs only once)

Parameters
[in]_zInputNameConcerned input name
[in]_fValueValue to set, orxFLOAT_0 to deactivate
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxInput_Unbind ( const orxSTRING  _zName,
orxS32  _s32BindingIndex 
)

Unbinds an input

Parameters
[in]_zNameConcerned input name
[in]_s32BindingIndexIndex of the desired binding, if < 0 all the bindings will be removed
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

Generated for orx by doxygen 1.8.11