Currently I am using a system that needs to use the change in position from the hmd to move the camera in the world. My problem is that if I say turn myself to face down the positive x-axis and walk forward the position will only change on x-axis. This causes an issue as it is impossible to walk forward if you're not facing the positive z-axis. What I need it to do is if I walk forward it always returns a change in the z-axis.
I'm getting my hmd info from VRPose.
I realized that the axis convention I had setup was different from the one that the HMD was supplying. Once I aligned my convention with that of the HMD I was able to get a solution from earlier to work. Essentially I took the difference between the current position and the previously recorded position then applied the inverse of the current quaternion.