ezEngine  Release 25.03
ezXRInputDevice Class Referenceabstract
Inheritance diagram for ezXRInputDevice:

Public Member Functions

Devices
virtual void GetDeviceList (ezHybridArray< ezXRDeviceID, 64 > &out_devices) const =0
 Fills out a list of valid (connected) device IDs.
 
virtual ezXRDeviceID GetDeviceIDByType (ezXRDeviceType::Enum type) const =0
 Returns the deviceID for a specific type of device. If the device is not connected, -1 is returned instead.
 
virtual const ezXRDeviceStateGetDeviceState (ezXRDeviceID deviceID) const =0
 Returns the current device state for a valid device ID.
 
virtual ezString GetDeviceName (ezXRDeviceID deviceID) const =0
 Returns the device name for a valid device ID. More...
 
virtual ezBitflags< ezXRDeviceFeaturesGetDeviceFeatures (ezXRDeviceID deviceID) const =0
 Returns the device features for a valid device ID.
 
const ezXRDeviceEventGetInputEvent ()
 Returns the input event. Allows tracking device addition and removal.
 
- Public Member Functions inherited from ezInputDevice
 ezInputDevice ()
 Default Constructor.
 
float GetInputSlotState (ezStringView sSlot) const
 Allows to query current input values for the given slot.
 
bool HasDeviceBeenUsedLastFrame () const
 Returns true, if the device was 'used' during the last frame, ie. when it generated input due to some user interaction. More...
 
- Public Member Functions inherited from ezReflectedClass
virtual const ezRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const ezRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
EZ_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Protected Attributes

ezXRDeviceEvent m_InputEvents
 
- Protected Attributes inherited from ezInputDevice
ezMap< ezString, float > m_InputSlotValues
 Stores all the values for all input slots that this device handles. More...
 
ezUInt32 m_uiLastCharacter
 If this input device type handles character input, it should write the last typed character into this variable. The ezInputManager calls RetrieveLastCharacter() to query what the user typed last.
 
- Protected Attributes inherited from ezEnumerable< ezInputDevice, ezReflectedClass >
ezEnumerablem_pNextInstance
 

Additional Inherited Members

- Static Public Member Functions inherited from ezNoBase
static const ezRTTIGetStaticRTTI ()
 
- Protected Member Functions inherited from ezInputDevice
virtual void InitializeDevice ()=0
 Override this if you need to do device specific initialization before the first use.
 
virtual void UpdateInputSlotValues ()=0
 Override this, if you need to query the state of the hardware to update the input slots. More...
 
virtual void ResetInputSlotValues ()
 Override this, if you need to reset certain input slot values to zero, after the ezInputManager is finished with the current frame update.
 
virtual void RegisterInputSlots ()=0
 Override this to register all the input slots that this device exposes. More...
 
virtual void UpdateHardwareState (ezTime tTimeDifference)
 This function is called once after ezInputManager::Update with the same time delta value. It allows to update hardware state, such as the vibration of gamepad motors.
 
- Static Protected Member Functions inherited from ezInputDevice
static void RegisterInputSlot (ezStringView sName, ezStringView sDefaultDisplayName, ezBitflags< ezInputSlotFlags > SlotFlags)
 Calls RegisterInputSlot() on the ezInputManager and passes the parameters through.
 

Member Function Documentation

◆ GetDeviceName()

virtual ezString ezXRInputDevice::GetDeviceName ( ezXRDeviceID  deviceID) const
pure virtual

Returns the device name for a valid device ID.

This returns a human readable name to identify the device. For ezXRDeviceType::HMD the name is always 'HMD'. This can be used for e.g. controllers to create custom game input logic or mappings if a certain type of controller is used. Values could be for example: 'Simple Controller', 'Mixed Reality Motion Controller', 'Hand Interaction' etc.

Implemented in ezDummyXRInput, and ezOpenXRInputDevice.


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