@Override
    public void updateControllerStates() {
        if (environment != null){
            for(int i=0;i<controllerCount;i++) {
                int index = controllerIndex[i];
                ((OpenVR)environment.getVRHardware()).getVRSystem().GetControllerState.apply(index, cStates[index], 64);
                cStates[index].readField("ulButtonPressed");
                cStates[index].readField("rAxis");
                needsNewVelocity[index] = true;
                needsNewAngVelocity[index] = true;
            }
        } 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/openvr/OpenVRInput.java