openvr icon indicating copy to clipboard operation
openvr copied to clipboard

IVRSystem::GetControllerState is no longer auto-switching vive tracker from GenericTracker to Controller.

Open linjie0928 opened this issue 2 years ago • 0 comments

We only uses two Vive Trackers as hardware. Previously, calling IVRSystem::GetControllerState would cause the system to automatically switch TrackedDeviceClass from GenericTracker to Controller and read the input state. Since the we does not have a headset, we cannot access the "manage Vive Tracker" settings to manually set up the tracker role.

OS: Windows 11

STEPS: 1.Initialize VR system using OpenVR. 2.Get k_unMaxTrackedDeviceCount. 3.Loop through devices. 4.Use IVRSystem::GetControllerState to read out Vive Tracker input state. --4.1. On the first call, the system identifies the device as a GenericTracker and reads out nothing. --4.2. On the second call, the DeviceType automatically switch to Controller and read out the input state successfully.

RESULTS: The Vive Tracker remains stuck at the GenericTracker TrackedDeviceClass, using a different rotation, and cannot read out input state.

EXPECTED: To simply use OpenVR to read out the Vive Tracker input state without having an HMD or complicated SteamVR settings.

linjie0928 avatar Mar 18 '23 07:03 linjie0928