如何解决要在自定义openvr驱动程序中获取当前控制器?
我的最终目标是制造一个可以操纵控制器输入的驱动程序。
示例情况:按住菜单按钮时,通过发送按下按钮事件或压住按下并触发正常按下来将其视为按下按钮。
我在这里研究了InputEmulator:https://github.com/matzman666/OpenVR-InputEmulator 但这已经过时了,不再适用于最新版本的OpenVR
在此fork上找到一个“修复”:https://github.com/sharkyh20/OpenVR-InputEmulator 但是他们要求使用过时的OpenVR。
我还尝试了以下示例项目来构建驱动程序:https://www.codeproject.com/Articles/5254056/Custom-VR-Device-Driver-with-OpenVR 但是我不太了解,结果是创建了2个不代表我的Vive控制器的控制器(SteamVR显示它们是2个完全不同的控制器),在vr中移动控制器不会移动vive控制器的渲染并且输入事件不会触发。
那么,为了使2个控制器代表我的vive控制器而不是创建新的控制器,我需要在此示例项目中进行哪些更改?
我认为问题在于,它会像这样为控制器分配序列号:
VRProperties()->SetStringProperty(m_ulPropertyContainer,Prop_SerialNumber_String,"CTRL1Serial");
我假设CTRL1Serial
是每个控制器的序列号,但是我不确定如何检索该序列号?
缺少有关此材料的文档,我不确定在哪里可以找到有关openvr驱动程序的更多信息,因此希望这里的人有相关经验。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。