MCPcopy Create free account
hub / github.com/LibreVR/Revive / InputDevice

Class InputDevice

ReviveXR/InputManager.h:15–44  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13{
14public:
15 class InputDevice
16 {
17 public:
18 InputDevice(XrInstance instance, const char* actionSetName, const char* localizedName);
19 virtual ~InputDevice();
20
21 // Input
22 virtual ovrControllerType GetType() const = 0;
23 virtual bool IsConnected() const = 0;
24 virtual void GetInputState(XrSession session, ovrControllerType controllerType, ovrInputState* inputState) = 0;
25
26 // Bindings
27 virtual XrPath GetSuggestedBindings(std::vector<XrActionSuggestedBinding>& outBindings) const { return XR_NULL_PATH; }
28 virtual void GetActionSpaces(XrSession session, std::vector<XrSpace>& outSpaces) const { }
29 virtual void GetActiveSets(std::vector<XrActiveActionSet>& outSets) const { }
30
31 // Haptics
32 virtual ovrResult SetVibration(XrSession session, ovrControllerType controllerType, float frequency, float amplitude) { return ovrSuccess; }
33 virtual void SubmitVibration(ovrControllerType controllerType, const ovrHapticsBuffer* buffer) { }
34 virtual void GetVibrationState(ovrHandType hand, ovrHapticsPlaybackState* outState) { }
35 virtual void UpdateHaptics(XrSession session, XrDuration displayPeriod) { }
36
37 XrActionSet ActionSet() const { return m_ActionSet; }
38
39 protected:
40 static ovrVector2f ApplyDeadzone(ovrVector2f axis, float deadZone);
41 static ovrButton TrackpadToDPad(ovrVector2f trackpad);
42
43 XrActionSet m_ActionSet;
44 };
45
46 class Action
47 {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected