2 #include "PSMoveClient_CAPI.h" 5 #include "trackable_device.h" 17 static const int CONFIG_VERSION;
21 virtual configuru::Config WriteToJSON();
22 virtual bool ReadFromJSON(
const configuru::Config &pt);
24 void ReadEmulatedTouchpadAction(
const configuru::Config &pt,
const ePSMButtonID psButtonID);
25 void WriteEmulatedTouchpadAction(configuru::Config &pt,
const ePSMButtonID psButtonID);
30 std::string override_model;
33 eEmulatedTrackpadAction ps_button_id_to_emulated_touchpad_action[k_PSMButtonID_Count];
53 vr::VRInputComponentHandle_t hapticComponentHandle;
54 float pendingHapticDurationSecs;
55 float pendingHapticAmplitude;
56 float pendingHapticFrequency;
57 std::chrono::time_point<std::chrono::high_resolution_clock> lastTimeRumbleSent;
58 bool lastTimeRumbleSentValid;
67 bool CreateButtonComponent(ePSMButtonID button_id);
68 bool CreateAxisComponent(ePSMAxisID axis_id);
69 bool CreateHapticComponent(ePSMHapicID haptic_id);
71 void UpdateButton(ePSMButtonID button_id, PSMButtonState button_state,
double time_offset=0.0);
72 void UpdateAxis(ePSMAxisID axis_id,
float axis_value,
double time_offset=0.0);
73 void UpdateHaptics(
const vr::VREvent_HapticVibration_t &hapticData);
75 bool HasButton(ePSMButtonID button_id)
const;
76 bool HasAxis(ePSMAxisID axis_id)
const;
77 bool HasHapticState(ePSMHapicID haptic_id)
const;
79 bool GetButtonState(ePSMButtonID button_id, PSMButtonState &out_button_state)
const;
80 bool GetAxisState(ePSMAxisID axis_id,
float &out_axis_value)
const;
81 HapticState * GetHapticState(ePSMHapicID haptic_id);
84 virtual const char *GetControllerSettingsPrefix()
const = 0;
87 virtual bool HasPSMControllerId(
int ControllerID)
const = 0;
90 virtual const PSMController * GetPSMControllerView()
const = 0;
93 virtual std::string GetPSMControllerSerialNo()
const = 0;
96 virtual PSMControllerType GetPSMControllerType()
const = 0;
99 vr::EVRInitError Activate(vr::TrackedDeviceIndex_t unObjectId)
override;
100 void Deactivate()
override;
108 vr::VRInputComponentHandle_t buttonComponentHandle;
109 PSMButtonState lastButtonState;
114 vr::VRInputComponentHandle_t axisComponentHandle;
119 std::map<ePSMButtonID, ButtonState> m_buttonStates;
120 std::map<ePSMAxisID, AxisState> m_axisStates;
121 std::map<ePSMHapicID, HapticState> m_hapticStates;
Definition: controller.h:39
Provides printf-style line logging via the vr::IVRDriverLog interface provided by SteamVR during init...
Definition: config.cpp:18
Definition: controller.h:51
Definition: trackable_device.h:11
Definition: controller.h:14