-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathRemoteController.patch
26 lines (24 loc) · 1.54 KB
/
RemoteController.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
*** RemoteController.h.orig Sat Sep 29 03:21:20 2018
--- RemoteController.h Fri Apr 3 17:28:55 2020
***************
*** 193,198 ****
--- 193,213 ----
m_pose.vecPosition[1] = controllerPosition.y;
m_pose.vecPosition[2] = controllerPosition.z;
+ // Since controller_LinearVelocity is always [0, 0, 0], fake it
+ // from controller_LinearAcceleration (and hope for the best!) :)
+ m_pose.vecVelocity[0] = info.controller_LinearAcceleration.x / 10.0; //info.controller_LinearVelocity.x;
+ m_pose.vecVelocity[1] = info.controller_LinearAcceleration.y / 10.0; //info.controller_LinearVelocity.y;
+ m_pose.vecVelocity[2] = info.controller_LinearAcceleration.z / 10.0; //info.controller_LinearVelocity.z;
+ m_pose.vecAcceleration[0] = info.controller_LinearAcceleration.x;
+ m_pose.vecAcceleration[1] = info.controller_LinearAcceleration.y;
+ m_pose.vecAcceleration[2] = info.controller_LinearAcceleration.z;
+ m_pose.vecAngularVelocity[0] = info.controller_AngularVelocity.x;
+ m_pose.vecAngularVelocity[1] = info.controller_AngularVelocity.y;
+ m_pose.vecAngularVelocity[2] = info.controller_AngularVelocity.z;
+ m_pose.vecAngularAcceleration[0] = info.controller_AngularAcceleration.x;
+ m_pose.vecAngularAcceleration[1] = info.controller_AngularAcceleration.y;
+ m_pose.vecAngularAcceleration[2] = info.controller_AngularAcceleration.z;
+
m_pose.poseTimeOffset = 0;
vr::VRServerDriverHost()->TrackedDevicePoseUpdated(m_unObjectId, m_pose, sizeof(vr::DriverPose_t));