@Override
    public Vector3f getAngularVelocity(int controllerIndex) {

        if (environment != null) {

            if (environment.getVRHardware() instanceof LWJGLOpenVR) {

                int index = LWJGLOpenVRInput.controllerIndex[controllerIndex];
                HmdVector3 tempVec = ((LWJGLOpenVR) environment.getVRHardware()).hmdTrackedDevicePoses[index].vAngularVelocity();
//                    needsNewVelocity[index] = false;
//                }
                tempVel.x = tempVec.v(0);
                tempVel.y = tempVec.v(1);
                tempVel.z = tempVec.v(2);
                return tempVel;
            } else {
                throw new IllegalStateException("VR hardware " + environment.getVRHardware().getClass().getSimpleName() + " is not a subclass of " + LWJGLOpenVR.class.getSimpleName());
            }
        } else {
            throw new IllegalStateException("VR input is not attached to a VR environment.");
        }

    }
Create a new
<a href="https://github.com/ValveSoftware/openvr/wiki/API-Documentation">OpenVR</a>
input attached to the given VR environment.

@param environment the VR environment to which the input is attached.
jme3-vr/src/main/java/com/jme3/input/vr/lwjgl_openvr/LWJGLOpenVRInput.java