Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVRInput_005.hpp
Go to the documentation of this file.
1// Copyright 2026, Beyley Cardellio
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief Implementation of the IVRInput interface version 005.
6 *
7 * @author Beyley Cardellio <ep1cm1n10n123@gmail.com>
8 * @ingroup openvr_interfaces
9 */
10
11#pragma once
12
14
15#include "openvr_interfaces_unified.h"
16#include "openvr_forward_macros.h"
17
19#include "XRTVRInput_007.hpp"
20
21
22namespace xrt::state_trackers::openvr {
23
24using namespace vr;
25
26class XRTVRInput_005 : public XRTVRInput_007, public vr::IVRInput_005
27{
28public:
29 // @todo Remove when clang-format is updated in CI
30 // clang-format off
32 // clang-format on
33
34 FnTable_IVRInput_005();
35
36 ForwardDeclareBase_IVRInput(XRTVRInput_007);
37
38 Forward_IVRInput_SetActionManifestPath();
39 Forward_IVRInput_GetActionSetHandle();
40 Forward_IVRInput_GetActionHandle();
41 Forward_IVRInput_GetInputSourceHandle();
42 Forward_IVRInput_UpdateActionState();
43 Forward_IVRInput_GetDigitalActionData_011();
44 Forward_IVRInput_GetAnalogActionData_011();
45
46 EVRInputError
47 GetPoseActionData(VRActionHandle_t action,
48 ETrackingUniverseOrigin eOrigin,
49 float fPredictedSecondsFromNow,
50 InputPoseActionData_t *pActionData,
51 uint32_t unActionDataSize,
52 VRInputValueHandle_t ulRestrictToDevice) override
53 {
54 openvr_logger logger;
55 OPENVR_LOGGER_INIT(logger);
56
58 logger,
59 "GetPoseActionData(action=%llu, eOrigin=%d, fPredictedSecondsFromNow=%f, "
60 "pActionData=%p, unActionDataSize=%llu, ulRestrictToDevice=%llu) -> VRInputError_None",
61 EVRInputError::VRInputError_None, static_cast<unsigned long long>(action),
62 static_cast<int>(eOrigin), fPredictedSecondsFromNow, static_cast<const void *>(pActionData),
63 static_cast<unsigned long long>(unActionDataSize),
64 static_cast<unsigned long long>(ulRestrictToDevice));
65 }
66
67 Forward_IVRInput_GetSkeletalActionData_011();
68 Forward_IVRInput_GetBoneCount();
69 Forward_IVRInput_GetBoneHierarchy();
70 Forward_IVRInput_GetBoneName();
71 Forward_IVRInput_GetSkeletalReferenceTransforms();
72 Forward_IVRInput_GetSkeletalTrackingLevel();
73 Forward_IVRInput_GetSkeletalBoneData_011();
74
75 EVRInputError
76 GetSkeletalSummaryData(VRActionHandle_t action, VRSkeletalSummaryData_t *pSkeletalSummaryData) override
77 {
78 openvr_logger logger;
79 OPENVR_LOGGER_INIT(logger);
80
82 logger, "GetSkeletalSummaryData(action=%llu, pSkeletalSummaryData=%p) -> VRInputError_None",
83 EVRInputError::VRInputError_None, static_cast<unsigned long long>(action),
84 static_cast<const void *>(pSkeletalSummaryData));
85 }
86
87 Forward_IVRInput_GetSkeletalBoneDataCompressed_011();
88 Forward_IVRInput_DecompressSkeletalBoneData_011();
89 Forward_IVRInput_TriggerHapticVibrationAction_011();
90 Forward_IVRInput_GetActionOrigins();
91 Forward_IVRInput_GetOriginLocalizedName_011();
92 Forward_IVRInput_GetOriginTrackedDeviceInfo();
93 Forward_IVRInput_ShowActionOrigins();
94 Forward_IVRInput_ShowBindingsForActionSet();
95 Forward_IVRInput_IsUsingLegacyInput();
96};
97
98}; // namespace xrt::state_trackers::openvr
Implementation of the latest IVRInput_011 interface version.
Implementation of the IVRInput interface version 007.
Definition XRTVRClientCore.hpp:152
Definition XRTVRInput_005.hpp:27
Definition XRTVRInput_007.hpp:26
Definitions missing from C++ header, present in C.
Definition blockqueue.hpp:15
Logging functions.
#define OPENVR_LOG_UNIMPLEMENTED_RET(logger, fmt, ret,...)
Specialized macro for logging an unimplemented function and returning a value.
Definition openvr_logger.hpp:57
Definition openvr_logger.hpp:30