Skip to content

Tracked device class of a tracker is switching between TrackedDeviceClass_GenericTracker and TrackedDeviceClass_Controller #902

@tomassykora

Description

@tomassykora

Lately I noticed a strange behaviour in openVR (it wasn't happening before). I'm accessing the tracker's data using this code:

for (int i = 0; i < vr::k_unMaxTrackedDeviceCount; ++i) {
       vr::ETrackedDeviceClass trackedDeviceClass = vrPointer_->GetTrackedDeviceClass(i);
       if (trackedDeviceClass == vr::ETrackedDeviceClass::TrackedDeviceClass_GenericTracker) {
              // do something
        }
}

This worked fine for me until now. I have a setup with two base stations and a HTC Vive tracker. When I start the application, the returned class is TrackedDeviceClass_GenericTracker. But when I start moving with the tracker, the class of the device is TrackedDeviceClass_Controller and the returned rotation is rotated by 90 degrees. When I stop the movement of the tracker, the class is switched back to TrackedDeviceClass_GenericTracker after some time and the returned orientation is rotated back by 90 degrees.

This definitelly wasn't happening a month ago, so I'm wondering if it is a bug after an update of SteamVR or something like that. Have you encountered similar behaviour? Any idea how to fix that?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions