2 #include "PSMoveClient_CAPI.h" 3 #include <openvr_driver.h> 5 #include "trackable_device.h" 8 #include "settings_util.h" 14 #define getcwd _getcwd // suppress "deprecation" warning 33 if (m_instance ==
nullptr)
40 virtual vr::EVRInitError Init(vr::IVRDriverContext *pDriverContext)
override;
41 virtual void Cleanup()
override;
42 virtual const char *
const *GetInterfaceVersions()
override;
43 virtual void RunFrame()
override;
44 virtual bool ShouldBlockStandbyMode()
override;
45 virtual void EnterStandby()
override;
46 virtual void LeaveStandby()
override;
48 void LaunchPSMoveService();
51 bool IsHMDTrackingSpaceCalibrated()
const {
return m_config.has_calibrated_world_from_driver_pose; }
52 void SetHMDTrackingSpace(
const PSMPosef &origin_pose);
53 inline PSMPosef GetWorldFromDriverPose()
const {
return m_config.world_from_driver_pose; }
56 vr::ITrackedDeviceServerDriver * FindTrackedDeviceDriver(
const char * pchId);
57 vr::ETrackedControllerRole AllocateControllerRole(PSMControllerHand psmControllerHand);
58 void AllocateUniquePSMoveController(PSMControllerID ControllerID, PSMControllerHand psmControllerHand,
const std::string &ControllerSerial);
59 void AllocateUniqueVirtualController(PSMControllerID psmControllerID, PSMControllerHand psmControllerHand,
const std::string &psmControllerSerial);
60 void AllocateUniquePSNaviController(PSMControllerID psmControllerID, PSMControllerHand psmControllerHand,
const std::string &psmControllerSerial,
const std::string &psmParentControllerSerial);
61 void AllocateUniqueDualShock4Controller(PSMControllerID ControllerID, PSMControllerHand psmControllerHand,
const std::string &ControllerSerial);
62 void AllocateUniquePSMoveTracker(
const PSMClientTrackerInfo *trackerInfo);
63 bool ReconnectToPSMoveService();
66 void HandleClientPSMoveEvent(
const PSMMessage *event);
67 void HandleConnectedToPSMoveService();
68 void HandleFailedToConnectToPSMoveService();
69 void HandleDisconnectedFromPSMoveService();
70 static void HandleServiceVersionResponse(
const PSMResponseMessage *response,
void *userdata);
71 void HandleControllerListChanged();
72 void HandleTrackerListChanged();
75 void HandleClientPSMoveResponse(
const PSMMessage *message);
76 void HandleControllerListReponse(
const PSMControllerList *controller_list,
const PSMResponseHandle response_handle);
77 void HandleTrackerListReponse(
const PSMTrackerList *tracker_list);
81 bool m_bLaunchedPSMoveMonitor;
82 bool m_bLaunchedPSMoveService;
85 std::vector< TrackableDevice * > m_vecTrackedDevices;
Provides printf-style line logging via the vr::IVRDriverLog interface provided by SteamVR during init...
Definition: config.cpp:18
Definition: settings_util.h:8
void LaunchPSMoveMonitor()
Launch monitor_psmove if needed (requested by devices as they activate)
Definition: server_driver.cpp:650
Definition: server_driver.h:25