Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVRInput_007.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 007.
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
20
21namespace xrt::state_trackers::openvr {
22
23using namespace vr;
24
25class XRTVRInput_007 : public XRTVRInput_011, public vr::IVRInput_007
26{
27public:
28 // @todo Remove when clang-format is updated in CI
29 // clang-format off
31 // clang-format on
32
33 FnTable_IVRInput_007();
34
35 ForwardDeclareBase_IVRInput(XRTVRInput_011);
36
37 Forward_IVRInput_SetActionManifestPath();
38 Forward_IVRInput_GetActionSetHandle();
39 Forward_IVRInput_GetActionHandle();
40 Forward_IVRInput_GetInputSourceHandle();
41 Forward_IVRInput_UpdateActionState();
42 Forward_IVRInput_GetDigitalActionData_011();
43 Forward_IVRInput_GetAnalogActionData_011();
44 Forward_IVRInput_GetPoseActionDataRelativeToNow();
45 Forward_IVRInput_GetPoseActionDataForNextFrame();
46 Forward_IVRInput_GetSkeletalActionData_011();
47 Forward_IVRInput_GetBoneCount();
48 Forward_IVRInput_GetBoneHierarchy();
49 Forward_IVRInput_GetBoneName();
50 Forward_IVRInput_GetSkeletalReferenceTransforms();
51 Forward_IVRInput_GetSkeletalTrackingLevel();
52 Forward_IVRInput_GetSkeletalBoneData_011();
53 Forward_IVRInput_GetSkeletalSummaryData_011();
54 Forward_IVRInput_GetSkeletalBoneDataCompressed_011();
55 Forward_IVRInput_DecompressSkeletalBoneData_011();
56 Forward_IVRInput_TriggerHapticVibrationAction_011();
57 Forward_IVRInput_GetActionOrigins();
58 Forward_IVRInput_GetOriginLocalizedName_011();
59 Forward_IVRInput_GetOriginTrackedDeviceInfo();
60
61 EVRInputError
62 GetActionBindingInfo(VRActionHandle_t action,
63 InputBindingInfo_t *pOriginInfo,
64 uint32_t unBindingInfoSize,
65 uint32_t unBindingInfoCount,
66 uint32_t *punReturnedBindingInfoCount) override
67 {
68 openvr_logger logger;
69 OPENVR_LOGGER_INIT(logger);
70
71 if (punReturnedBindingInfoCount != nullptr) {
72 (*punReturnedBindingInfoCount) = 0;
73 }
74
76 logger,
77 "GetActionBindingInfo(action=%llu, pOriginInfo=%p, unBindingInfoSize=%llu, "
78 "unBindingInfoCount=%llu, punReturnedBindingInfoCount=%p) -> VRInputError_None",
79 EVRInputError::VRInputError_None, static_cast<unsigned long long>(action),
80 static_cast<const void *>(pOriginInfo), static_cast<unsigned long long>(unBindingInfoSize),
81 static_cast<unsigned long long>(unBindingInfoCount),
82 static_cast<const void *>(punReturnedBindingInfoCount));
83 }
84
85 Forward_IVRInput_ShowActionOrigins();
86 Forward_IVRInput_ShowBindingsForActionSet();
87 Forward_IVRInput_IsUsingLegacyInput();
88 Forward_IVRInput_OpenBindingUI();
89};
90
91}; // namespace xrt::state_trackers::openvr
Implementation of the latest IVRInput_011 interface version.
Definition XRTVRClientCore.hpp:152
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