@Override
    public AnalogActionState getAnalogActionState(String actionName, String restrictToInput ){
        assert inputMode == InputMode.ACTION_BASED : "registerActionManifest must be called before attempting to fetch action states";

        LWJGLOpenVRAnalogActionData actionDataObjects = analogActions.get(actionName);
        if (actionDataObjects == null){
            //this is the first time the action has been used. We must obtain a handle to it to efficiently fetch it in future
            long handle = fetchActionHandle(actionName);
            actionDataObjects = new LWJGLOpenVRAnalogActionData(actionName, handle, InputAnalogActionData.create());
            analogActions.put(actionName, actionDataObjects);
        }
        int errorCode = VRInput.VRInput_GetAnalogActionData(actionDataObjects.actionHandle, actionDataObjects.actionData, getOrFetchInputHandle(restrictToInput));

        if (errorCode == VR.EVRInputError_VRInputError_WrongType){
            throw new RuntimeException("Attempted to fetch a non-analog state as if it is analog");
        }else if (errorCode!=0){
            logger.warning( "An error code of " + errorCode + " was reported while fetching an action state for " + actionName );
        }

        return new AnalogActionState(actionDataObjects.actionData.x(), actionDataObjects.actionData.y(), actionDataObjects.actionData.z(), actionDataObjects.actionData.deltaX(), actionDataObjects.actionData.deltaY(), actionDataObjects.actionData.deltaZ());
    }
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