Monado OpenXR Runtime
CDeviceDriver_Monado_Controller Class Reference
Inheritance diagram for CDeviceDriver_Monado_Controller:
Collaboration diagram for CDeviceDriver_Monado_Controller:

Public Member Functions

 CDeviceDriver_Monado_Controller (struct xrt_instance *xinst, struct xrt_device *xdev, enum xrt_hand hand)
 
void AddControl (const char *steamvr_control_path, enum xrt_input_name monado_input_name, struct MonadoInputComponent *component)
 
void AddOutputControl (enum xrt_output_name monado_output_name, const char *steamvr_control_path)
 
void AddSkeletonControl (const char *steamvr_skeleton_name, const char *steamvr_control_path, enum xrt_input_name monado_input_name)
 
void AddEmulatedIndexControls ()
 
void AddMonadoInput (struct binding_template *b)
 
void AddMonadoControls ()
 
void PoseUpdateThreadFunction ()
 
vr::EVRInitError Activate (vr::TrackedDeviceIndex_t unObjectId)
 
void Deactivate ()
 
void EnterStandby ()
 
void * GetComponent (const char *pchComponentNameAndVersion)
 
void DebugRequest (const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize)
 debug request from a client More...
 
vr::DriverPose_t GetPose ()
 
void RunFrame ()
 
vr::VRControllerState_t GetControllerState ()
 
bool TriggerHapticPulse (uint32_t unAxisId, uint16_t usPulseDurationMicroseconds)
 
std::string GetSerialNumber () const
 

Static Public Member Functions

static struct profile_template * get_profile_template (enum xrt_device_name device_name)
 

Data Fields

struct xrt_devicem_xdev
 
vr::DriverPose_t m_pose
 
vr::TrackedDeviceIndex_t m_unObjectId
 
vr::PropertyContainerHandle_t m_ulPropertyContainer
 
bool m_emulate_index_controller = false
 
std::vector< struct SteamVRDriverControlInputm_input_controls
 
struct SteamVRDriverControlInput m_skeletal_input_control
 
std::vector< struct SteamVRDriverControlOutputm_output_controls
 

Member Function Documentation

◆ Activate()

vr::EVRInitError CDeviceDriver_Monado_Controller::Activate ( vr::TrackedDeviceIndex_t  unObjectId)
inline
Todo:
handle trackers etc

◆ AddMonadoInput()

◆ AddOutputControl()

void CDeviceDriver_Monado_Controller::AddOutputControl ( enum xrt_output_name  monado_output_name,
const char *  steamvr_control_path 
)
inline
Todo:
when there are multiple output types: XRT_GET_OUTPUT_TYPE(monado_output_name);

◆ DebugRequest()

void CDeviceDriver_Monado_Controller::DebugRequest ( const char *  pchRequest,
char *  pchResponseBuffer,
uint32_t  unResponseBufferSize 
)
inline

debug request from a client

◆ GetPose()

vr::DriverPose_t CDeviceDriver_Monado_Controller::GetPose ( )
inline
Todo:
better method to find grip name

References xrt_device::name.

◆ PoseUpdateThreadFunction()

void CDeviceDriver_Monado_Controller::PoseUpdateThreadFunction ( )
inline
Todo:
figure out the best pose update rate

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