2
0
Эх сурвалжийг харах

Updating OpenVR bindings

Updated OpenVR JNA binding from 1.0.9 to 1.0.16
Added OpenVR/LWJGL binding using KWJGL 3.2.0
jseinturier 7 жил өмнө
parent
commit
9661d8c747
100 өөрчлөгдсөн 7708 нэмэгдсэн , 4655 устгасан
  1. 9 1
      jme3-vr/build.gradle
  2. 17 0
      jme3-vr/src/main/java/com/jme3/app/VREnvironment.java
  3. 459 0
      jme3-vr/src/main/java/com/jme3/input/vr/lwjgl_openvr/LWJGLOpenVR.java
  4. 53 0
      jme3-vr/src/main/java/com/jme3/input/vr/lwjgl_openvr/LWJGLOpenVRBounds.java
  5. 498 0
      jme3-vr/src/main/java/com/jme3/input/vr/lwjgl_openvr/LWJGLOpenVRInput.java
  6. 114 0
      jme3-vr/src/main/java/com/jme3/input/vr/lwjgl_openvr/LWJGLOpenVRMouseManager.java
  7. 100 0
      jme3-vr/src/main/java/com/jme3/input/vr/lwjgl_openvr/LWJGLOpenVRTrackedController.java
  8. 573 0
      jme3-vr/src/main/java/com/jme3/input/vr/lwjgl_openvr/LWJGLOpenVRViewManager.java
  9. 3 5
      jme3-vr/src/main/java/com/jme3/input/vr/oculus/OculusViewManager.java
  10. 35 6
      jme3-vr/src/main/java/com/jme3/input/vr/openvr/OpenVR.java
  11. 1 1
      jme3-vr/src/main/java/com/jme3/input/vr/openvr/OpenVRInput.java
  12. 1 1
      jme3-vr/src/main/java/com/jme3/input/vr/openvr/OpenVRTrackedController.java
  13. 0 210
      jme3-vr/src/main/java/com/jme3/post/OpenVRFilter.java
  14. 0 2
      jme3-vr/src/main/java/com/jme3/shadow/DirectionalLightShadowRendererVR.java
  15. 39 39
      jme3-vr/src/main/java/com/jme3/system/jopenvr/AppOverrideKeys_t.java
  16. 101 86
      jme3-vr/src/main/java/com/jme3/system/jopenvr/COpenVRContext.java
  17. 42 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/CVRSettingHelper.java
  18. 44 44
      jme3-vr/src/main/java/com/jme3/system/jopenvr/CameraVideoStreamFrameHeader_t.java
  19. 36 36
      jme3-vr/src/main/java/com/jme3/system/jopenvr/Compositor_CumulativeStats.java
  20. 46 46
      jme3-vr/src/main/java/com/jme3/system/jopenvr/Compositor_FrameTiming.java
  21. 36 36
      jme3-vr/src/main/java/com/jme3/system/jopenvr/Compositor_OverlaySettings.java
  22. 41 41
      jme3-vr/src/main/java/com/jme3/system/jopenvr/D3D12TextureData_t.java
  23. 52 52
      jme3-vr/src/main/java/com/jme3/system/jopenvr/DistortionCoordinates_t.java
  24. 41 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/DriverDirectMode_FrameTiming.java
  25. 34 34
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HiddenAreaMesh_t.java
  26. 32 32
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdColor_t.java
  27. 43 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdMatrix33_t.java
  28. 34 34
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdMatrix34_t.java
  29. 34 34
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdMatrix44_t.java
  30. 34 34
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdQuad_t.java
  31. 32 32
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdQuaternion_t.java
  32. 39 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdQuaternionf_t.java
  33. 33 33
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdRect2_t.java
  34. 34 34
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdVector2_t.java
  35. 34 34
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdVector3_t.java
  36. 34 34
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdVector3d_t.java
  37. 34 34
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdVector4_t.java
  38. 45 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/ImuSample_t.java
  39. 51 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/InputAnalogActionData_t.java
  40. 43 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/InputDigitalActionData_t.java
  41. 51 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/InputOriginInfo_t.java
  42. 43 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/InputPoseActionData_t.java
  43. 39 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/InputSkeletalActionData_t.java
  44. 30 30
      jme3-vr/src/main/java/com/jme3/system/jopenvr/IntersectionMaskCircle_t.java
  45. 32 32
      jme3-vr/src/main/java/com/jme3/system/jopenvr/IntersectionMaskRectangle_t.java
  46. 2264 1825
      jme3-vr/src/main/java/com/jme3/system/jopenvr/JOpenVRLibrary.java
  47. 38 38
      jme3-vr/src/main/java/com/jme3/system/jopenvr/NotificationBitmap_t.java
  48. 37 37
      jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_ComponentState_t.java
  49. 26 26
      jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_ControllerMode_State_t.java
  50. 36 36
      jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_TextureMap_t.java
  51. 42 42
      jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_Vertex_t.java
  52. 47 47
      jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_t.java
  53. 35 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/SpatialAnchorPose_t.java
  54. 46 46
      jme3-vr/src/main/java/com/jme3/system/jopenvr/Texture_t.java
  55. 48 48
      jme3-vr/src/main/java/com/jme3/system/jopenvr/TrackedDevicePose_t.java
  56. 49 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VRActiveActionSet_t.java
  57. 41 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VRBoneTransform_t.java
  58. 28 28
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VRControllerAxis_t.java
  59. 40 40
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VRControllerState_t.java
  60. 28 28
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_ApplicationLaunch_t.java
  61. 28 28
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Chaperone_t.java
  62. 26 26
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Controller_t.java
  63. 130 130
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Data_t.java
  64. 49 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_DualAnalog_t.java
  65. 28 28
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_EditingCameraSurface_t.java
  66. 41 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_HapticVibration_t.java
  67. 39 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_InputActionManifestLoad_t.java
  68. 41 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_InputBindingLoad_t.java
  69. 26 26
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Ipd_t.java
  70. 36 36
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Keyboard_t.java
  71. 26 26
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_MessageOverlay_t.java
  72. 30 30
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Mouse_t.java
  73. 28 28
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Notification_t.java
  74. 28 26
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Overlay_t.java
  75. 26 26
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_PerformanceTest_t.java
  76. 30 30
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Process_t.java
  77. 36 36
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Property_t.java
  78. 32 28
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Reserved_t.java
  79. 26 26
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_ScreenshotProgress_t.java
  80. 28 28
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Screenshot_t.java
  81. 30 30
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Scroll_t.java
  82. 26 26
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_SeatedZeroPoseReset_t.java
  83. 35 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_SpatialAnchor_t.java
  84. 26 26
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Status_t.java
  85. 36 36
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_TouchPadMove_t.java
  86. 35 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_WebConsole_t.java
  87. 40 40
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_t.java
  88. 34 34
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VROverlayIntersectionMaskPrimitive_Data_t.java
  89. 36 36
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VROverlayIntersectionMaskPrimitive_t.java
  90. 40 40
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VROverlayIntersectionParams_t.java
  91. 39 39
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VROverlayIntersectionResults_t.java
  92. 32 32
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VRTextureBounds_t.java
  93. 49 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VRTextureDepthInfo_t.java
  94. 35 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VRTextureWithDepth_t.java
  95. 35 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VRTextureWithPoseAndDepth_t.java
  96. 35 0
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VRTextureWithPose_t.java
  97. 43 43
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VRVulkanTextureData_t.java
  98. 207 207
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRApplications_FnTable.java
  99. 141 141
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRChaperoneSetup_FnTable.java
  100. 89 89
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRChaperone_FnTable.java

+ 9 - 1
jme3-vr/build.gradle

@@ -2,7 +2,7 @@ if (!hasProperty('mainClass')) {
     ext.mainClass = ''
 }
 
-def lwjglVersion = '3.1.3'
+def lwjglVersion = '3.2.0'
 
 sourceCompatibility = '1.8'
 
@@ -18,4 +18,12 @@ dependencies {
     // Native LibOVR/Oculus support
     compile "org.lwjgl:lwjgl-ovr:${lwjglVersion}"
     runtime "org.lwjgl:lwjgl-ovr:${lwjglVersion}:natives-windows"
+    
+        // Native OpenVR/LWJGL support
+    compile "org.lwjgl:lwjgl-openvr:${lwjglVersion}"
+    compile "org.lwjgl:lwjgl-openvr:${lwjglVersion}:natives-linux"
+    compile "org.lwjgl:lwjgl-openvr:${lwjglVersion}:natives-macos"
+    runtime "org.lwjgl:lwjgl-openvr:${lwjglVersion}:natives-windows"
+    runtime "org.lwjgl:lwjgl-openvr:${lwjglVersion}:natives-linux"
+    runtime "org.lwjgl:lwjgl-openvr:${lwjglVersion}:natives-macos"
 }

+ 17 - 0
jme3-vr/src/main/java/com/jme3/app/VREnvironment.java

@@ -10,6 +10,9 @@ import com.jme3.input.vr.VRBounds;
 import com.jme3.input.vr.VRInputAPI;
 import com.jme3.input.vr.VRMouseManager;
 import com.jme3.input.vr.VRViewManager;
+import com.jme3.input.vr.lwjgl_openvr.LWJGLOpenVR;
+import com.jme3.input.vr.lwjgl_openvr.LWJGLOpenVRMouseManager;
+import com.jme3.input.vr.lwjgl_openvr.LWJGLOpenVRViewManager;
 import com.jme3.input.vr.oculus.OculusMouseManager;
 import com.jme3.input.vr.oculus.OculusVR;
 import com.jme3.input.vr.oculus.OculusViewManager;
@@ -166,6 +169,10 @@ public class VREnvironment {
             } else {
                 ((OpenVR)hardware).getCompositor().SetTrackingSpace.apply(JOpenVRLibrary.ETrackingUniverseOrigin.ETrackingUniverseOrigin_TrackingUniverseStanding);                
             }        
+        } else if (hardware instanceof LWJGLOpenVR) {
+        	if( ((LWJGLOpenVR)hardware).isInitialized() ) {
+            	((LWJGLOpenVR)hardware).setTrackingSpace(seated);
+            }
         }
     }
     
@@ -406,6 +413,8 @@ public class VREnvironment {
     		viewmanager = new OSVRViewManager(this);
     	} else if (vrBinding == VRConstants.SETTING_VRAPI_OCULUSVR_VALUE) {
     		viewmanager = new OculusViewManager(this);
+    	} else if (vrBinding == VRConstants.SETTING_VRAPI_OPENVR_LWJGL_VALUE) {
+    		viewmanager = new LWJGLOpenVRViewManager(this);
     	} else {
     		logger.severe("Cannot instanciate view manager, unknown VRAPI type: "+vrBinding);
     	}
@@ -453,6 +462,14 @@ public class VREnvironment {
                 hardware = new OculusVR(this);
             	initialized = true;
             	logger.config("Creating Occulus Rift wrapper [SUCCESS]");
+            } else if (vrBinding == VRConstants.SETTING_VRAPI_OPENVR_LWJGL_VALUE) {
+            	
+            	guiManager   = new VRGuiManager(this);
+                mouseManager = new LWJGLOpenVRMouseManager(this);
+
+            	hardware = new LWJGLOpenVR(this);
+            	initialized = true;
+                logger.config("Creating OpenVR/LWJGL wrapper [SUCCESS]");
             } else {
             	logger.config("Cannot create VR binding: "+vrBinding+" [FAILED]");
             	logger.log(Level.SEVERE, "Cannot initialize VR environment [FAILED]");

+ 459 - 0
jme3-vr/src/main/java/com/jme3/input/vr/lwjgl_openvr/LWJGLOpenVR.java

@@ -0,0 +1,459 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.jme3.input.vr.lwjgl_openvr;
+
+import com.jme3.app.VREnvironment;
+import com.jme3.input.vr.HmdType;
+import com.jme3.input.vr.VRAPI;
+import com.jme3.math.Matrix4f;
+import com.jme3.math.Quaternion;
+import com.jme3.math.Vector2f;
+import com.jme3.math.Vector3f;
+import com.jme3.renderer.Camera;
+import com.jme3.util.VRUtil;
+
+import java.nio.IntBuffer;
+import java.util.Locale;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.lwjgl.BufferUtils;
+import org.lwjgl.openvr.HmdMatrix34;
+import org.lwjgl.openvr.HmdMatrix44;
+import org.lwjgl.openvr.TrackedDevicePose;
+import org.lwjgl.openvr.VR;
+import org.lwjgl.openvr.VRCompositor;
+import org.lwjgl.openvr.VRSystem;
+
+/**
+ * A class that wraps an <a href="https://github.com/ValveSoftware/openvr/wiki/API-Documentation">OpenVR</a> system. 
+ * @author reden - phr00t
+ * @author Julien Seinturier - COMEX SA - <a href="http://www.seinturier.fr">http://www.seinturier.fr</a>
+ * @author Rickard Edén
+ */
+public class LWJGLOpenVR implements VRAPI {
+    
+    private static final Logger logger = Logger.getLogger(LWJGLOpenVR.class.getName());
+	
+    private static boolean initSuccess = false;
+    private static boolean flipEyes    = false;
+    
+    private IntBuffer hmdDisplayFrequency;
+    private TrackedDevicePose.Buffer trackedDevicePose;
+    protected TrackedDevicePose[] hmdTrackedDevicePoses;
+    
+    protected IntBuffer hmdErrorStore = BufferUtils.createIntBuffer(1);
+    
+    private final Quaternion rotStore = new Quaternion();
+    private final Vector3f posStore = new Vector3f();
+    
+    // for debugging latency
+    private int frames = 0;    
+    
+    protected Matrix4f[] poseMatrices;
+
+    private final Matrix4f hmdPose = Matrix4f.IDENTITY.clone();
+    private Matrix4f hmdProjectionLeftEye;
+    private Matrix4f hmdProjectionRightEye;
+    private Matrix4f hmdPoseLeftEye;
+    private Matrix4f hmdPoseRightEye;
+    
+    private Vector3f hmdPoseLeftEyeVec, hmdPoseRightEyeVec, hmdSeatToStand;
+    
+    private float vsyncToPhotons;
+    private double timePerFrame, frameCountRun;
+    private long frameCount;
+    private LWJGLOpenVRInput VRinput;
+    
+    
+    private VREnvironment environment = null;
+    
+    
+    /**
+     * Convert specific OpenVR {@link org.lwjgl.openvr.HmdMatrix34 HmdMatrix34} into JME {@link Matrix4f Matrix4f}
+     * @param hmdMatrix the input matrix
+     * @param mat the converted matrix
+     * @return the converted matrix
+     */
+    public static Matrix4f convertSteamVRMatrix3ToMatrix4f(org.lwjgl.openvr.HmdMatrix34 hmdMatrix, Matrix4f mat){
+        mat.set(hmdMatrix.m(0), hmdMatrix.m(1), hmdMatrix.m(2), hmdMatrix.m(3), 
+                hmdMatrix.m(4), hmdMatrix.m(5), hmdMatrix.m(6), hmdMatrix.m(7), 
+                hmdMatrix.m(8), hmdMatrix.m(9), hmdMatrix.m(10), hmdMatrix.m(11), 
+                0f, 0f, 0f, 1f);
+        return mat;
+    }
+    
+    /**
+     * Convert specific OpenVR {@link org.lwjgl.openvr.HmdMatrix34 HmdMatrix34_t} into JME {@link Matrix4f Matrix4f}
+     * @param hmdMatrix the input matrix
+     * @param mat the converted matrix
+     * @return the converted matrix
+     */
+    public static Matrix4f convertSteamVRMatrix4ToMatrix4f(org.lwjgl.openvr.HmdMatrix44 hmdMatrix, Matrix4f mat){
+        mat.set(hmdMatrix.m(0), hmdMatrix.m(1), hmdMatrix.m(2), hmdMatrix.m(3), 
+                hmdMatrix.m(4), hmdMatrix.m(5), hmdMatrix.m(6), hmdMatrix.m(7),
+                hmdMatrix.m(8), hmdMatrix.m(9), hmdMatrix.m(10), hmdMatrix.m(11), 
+                hmdMatrix.m(12), hmdMatrix.m(13), hmdMatrix.m(14), hmdMatrix.m(15));
+        return mat;
+    }
+    
+    /**
+     * Create a new <a href="https://github.com/ValveSoftware/openvr/wiki/API-Documentation">OpenVR</a> system 
+     * attached to the given {@link VREnvironment VR environment}.
+     * @param environment the VR environment to which this API is attached.
+     */
+    public LWJGLOpenVR(VREnvironment environment){
+      this.environment = environment;
+    }
+    
+    @Override
+    public LWJGLOpenVRInput getVRinput() {
+        return VRinput;
+    }
+    
+    @Override
+    public Object getVRSystem() {
+        throw new UnsupportedOperationException("Not yet implemented!");
+    }
+    
+    @Override
+    public Object getCompositor() {
+        throw new UnsupportedOperationException("Not yet implemented!");
+    }
+    
+    @Override
+    public String getName() {
+        return "OpenVR/LWJGL";
+    }
+    
+    private static long latencyWaitTime = 0;
+    
+    @Override
+    public void setFlipEyes(boolean set) {
+        flipEyes = set;
+    }
+    
+    private boolean enableDebugLatency = false;
+    
+    @Override
+    public void printLatencyInfoToConsole(boolean set) {
+        enableDebugLatency = set;
+    }
+
+    @Override
+    public int getDisplayFrequency() {
+        if( hmdDisplayFrequency == null ) return 0;
+        return hmdDisplayFrequency.get(0);
+    }
+    
+    @Override
+    public boolean initialize() {
+    	
+    	logger.config("Initializing OpenVR system...");
+    	
+        // Init the native linking to the OpenVR library.
+        
+        int result = VR.VR_InitInternal(hmdErrorStore, VR.EVRApplicationType_VRApplication_Scene);
+        
+        if(hmdErrorStore.get(0) != VR.EVRInitError_VRInitError_None) {
+            logger.severe("OpenVR Initialize Result: " + VR.VR_GetVRInitErrorAsEnglishDescription(hmdErrorStore.get(0)));
+            logger.severe("Initializing OpenVR system [FAILED]");
+            return false;
+        } else {
+            logger.config("OpenVR initialized & VR connected.");
+            org.lwjgl.openvr.OpenVR.create(result);
+            logger.info("Model Number : " + VRSystem.VRSystem_GetStringTrackedDeviceProperty(
+                    VR.k_unTrackedDeviceIndex_Hmd, VR.ETrackedDeviceProperty_Prop_ModelNumber_String, hmdErrorStore));
+            logger.info("Serial Number: " + VRSystem.VRSystem_GetStringTrackedDeviceProperty(
+                    VR.k_unTrackedDeviceIndex_Hmd, VR.ETrackedDeviceProperty_Prop_SerialNumber_String, hmdErrorStore));
+
+            hmdDisplayFrequency = BufferUtils.createIntBuffer(1);
+            hmdDisplayFrequency.put( (int) VR.ETrackedDeviceProperty_Prop_DisplayFrequency_Float);
+            
+            trackedDevicePose = TrackedDevicePose.create(VR.k_unMaxTrackedDeviceCount);
+            hmdTrackedDevicePoses = new TrackedDevicePose[VR.k_unMaxTrackedDeviceCount];
+            poseMatrices = new Matrix4f[VR.k_unMaxTrackedDeviceCount];
+            for(int i=0;i<poseMatrices.length;i++){
+                poseMatrices[i] = new Matrix4f();
+                hmdTrackedDevicePoses[i] = trackedDevicePose.get(i);
+            }
+            timePerFrame = 1.0 / hmdDisplayFrequency.get(0);
+            TrackedDevicePose.create(VR.k_unMaxTrackedDeviceCount);
+            // init controllers for the first time
+            VRinput = new LWJGLOpenVRInput(environment);
+            VRinput.init();
+            VRinput.updateConnectedControllers();
+            
+            // init bounds & chaperone info
+            LWJGLOpenVRBounds bounds = new LWJGLOpenVRBounds();
+//            bounds.init(this);
+            environment.setVRBounds(bounds);
+            VRCompositor.VRCompositor_SetExplicitTimingMode(VR.EVRCompositorTimingMode_VRCompositorTimingMode_Explicit_ApplicationPerformsPostPresentHandoff);
+            logger.info("Initializing OpenVR system [SUCCESS]");
+            initSuccess = true;
+            return true;
+        }
+    }
+    
+    @Override
+    public boolean initVRCompositor(boolean allowed) {
+        hmdErrorStore.put(0, VR.EVRInitError_VRInitError_None); // clear the error store
+        if( allowed) {
+            long result = VR.VR_GetGenericInterface(VR.IVRCompositor_Version, hmdErrorStore);
+            if (result > 0){
+                if(hmdErrorStore.get(0) == VR.EVRInitError_VRInitError_None){
+                    setTrackingSpace(environment.isSeatedExperience() );
+                    logger.config("OpenVR Compositor initialized");
+                } else {
+                    logger.severe("OpenVR Compositor error: " + hmdErrorStore.get(0));
+                }
+            } else {
+                logger.log(Level.SEVERE, "Cannot get generic interface for \""+VR.IVRCompositor_Version+"\", "+VR.VR_GetVRInitErrorAsEnglishDescription(hmdErrorStore.get(0))+" ("+hmdErrorStore.get(0)+")");
+            }
+        }
+        return true;
+    }
+
+    /**
+     * Initialize the headset camera.
+     * @param allowed <code>true</code> is the use of the headset camera is allowed and <code>false</code> otherwise.
+     * @return token for camera
+     */
+    public long initCamera(boolean allowed) {
+      hmdErrorStore.put(0, VR.EVRInitError_VRInitError_None); // clear the error store
+      if( allowed) {
+          
+        long result = VR.VR_GetGenericInterface(VR.IVRTrackedCamera_Version, hmdErrorStore);
+    	  if (result > 0){
+    	    if(hmdErrorStore.get(0) == VR.EVRInitError_VRInitError_None ){
+    	        logger.config("OpenVR Camera initialized");
+    	    }
+            return result;
+    	  } else {
+              logger.severe("Failed to initialize camera");
+          }
+       }
+      return 0;
+    }
+    
+    @Override
+    public void destroy() {
+        VR.VR_ShutdownInternal();
+    }
+
+    @Override
+    public boolean isInitialized() {
+        return initSuccess;
+    }
+
+    @Override
+    public void reset() {
+        VRSystem.VRSystem_ResetSeatedZeroPose();
+        hmdSeatToStand = null;
+    }
+
+    @Override
+    public void getRenderSize(Vector2f store) {
+        IntBuffer w = BufferUtils.createIntBuffer(1);
+        IntBuffer h = BufferUtils.createIntBuffer(1);
+        VRSystem.VRSystem_GetRecommendedRenderTargetSize(w, h);
+        logger.config("Recommended render width : " + w.get(0));
+        logger.config("Recommended render height: " + h.get(0));
+        store.x = w.get(0);
+        store.y = h.get(0);
+    }
+    
+    @Override
+    public float getInterpupillaryDistance() {
+        throw new UnsupportedOperationException("Not yet implemented!");
+    }
+    
+    @Override
+    public Quaternion getOrientation() {
+        VRUtil.convertMatrix4toQuat(hmdPose, rotStore);
+        return rotStore;
+    }
+
+    @Override
+    public Vector3f getPosition() {
+        // the hmdPose comes in rotated funny, fix that here
+        hmdPose.toTranslationVector(posStore);
+        posStore.x = -posStore.x;
+        posStore.z = -posStore.z;
+        return posStore;
+    }
+    
+    @Override
+    public void getPositionAndOrientation(Vector3f storePos, Quaternion storeRot) {
+        hmdPose.toTranslationVector(storePos);
+        storePos.x = -storePos.x;
+        storePos.z = -storePos.z;
+        storeRot.set(getOrientation());
+    }    
+    
+    @Override
+    public void updatePose(){
+        int result = VRCompositor.nVRCompositor_WaitGetPoses(trackedDevicePose.address(), trackedDevicePose.remaining(), 0, 0);
+        // NPE when calling without a gamePoseArray. Issue filed with lwjgl #418
+//        int result = VRCompositor.VRCompositor_WaitGetPoses(trackedDevicePose, null);
+        environment.getVRinput().updateControllerStates();
+                
+        // read pose data from native
+        for (int nDevice = 0; nDevice < VR.k_unMaxTrackedDeviceCount; ++nDevice ){
+            if( hmdTrackedDevicePoses[nDevice].bPoseIsValid() ){
+                convertSteamVRMatrix3ToMatrix4f(hmdTrackedDevicePoses[nDevice].mDeviceToAbsoluteTracking(), poseMatrices[nDevice]);
+            }            
+        }
+        
+        if ( hmdTrackedDevicePoses[VR.k_unTrackedDeviceIndex_Hmd].bPoseIsValid()){
+            hmdPose.set(poseMatrices[VR.k_unTrackedDeviceIndex_Hmd]);
+        } else {
+            hmdPose.set(Matrix4f.IDENTITY);
+        }
+    }
+
+    @Override
+    public Matrix4f getHMDMatrixProjectionLeftEye(Camera cam){
+        if( hmdProjectionLeftEye != null ) {
+            return hmdProjectionLeftEye;
+        } else {
+            HmdMatrix44 mat = HmdMatrix44.create();
+            mat = VRSystem.VRSystem_GetProjectionMatrix(VR.EVREye_Eye_Left, cam.getFrustumNear(), cam.getFrustumFar(), mat);
+            hmdProjectionLeftEye = new Matrix4f();
+            convertSteamVRMatrix4ToMatrix4f(mat, hmdProjectionLeftEye);
+            return hmdProjectionLeftEye;
+        }
+    }
+        
+    @Override
+    public Matrix4f getHMDMatrixProjectionRightEye(Camera cam){
+        if( hmdProjectionRightEye != null ) {
+            return hmdProjectionRightEye;
+        } else {
+            HmdMatrix44 mat = HmdMatrix44.create();
+            mat = VRSystem.VRSystem_GetProjectionMatrix(VR.EVREye_Eye_Right, cam.getFrustumNear(), cam.getFrustumFar(), mat);
+            hmdProjectionRightEye = new Matrix4f();
+            convertSteamVRMatrix4ToMatrix4f(mat, hmdProjectionRightEye);
+            return hmdProjectionRightEye;
+        }
+    }
+    
+    @Override
+    public Vector3f getHMDVectorPoseLeftEye() {
+        if( hmdPoseLeftEyeVec == null ) {
+            hmdPoseLeftEyeVec = getHMDMatrixPoseLeftEye().toTranslationVector();
+            // set default IPD if none or broken
+            if( hmdPoseLeftEyeVec.x <= 0.080f * -0.5f || hmdPoseLeftEyeVec.x >= 0.040f * -0.5f ) {
+                hmdPoseLeftEyeVec.x = 0.065f * -0.5f;
+            }
+            if( flipEyes == false ) hmdPoseLeftEyeVec.x *= -1f; // it seems these need flipping
+        }
+        return hmdPoseLeftEyeVec;
+    }
+    
+    @Override
+    public Vector3f getHMDVectorPoseRightEye() {
+        if( hmdPoseRightEyeVec == null ) {
+            hmdPoseRightEyeVec = getHMDMatrixPoseRightEye().toTranslationVector();
+            // set default IPD if none or broken
+            if( hmdPoseRightEyeVec.x >= 0.080f * 0.5f || hmdPoseRightEyeVec.x <= 0.040f * 0.5f ) {
+                hmdPoseRightEyeVec.x = 0.065f * 0.5f;
+            }
+            if( flipEyes == false ) hmdPoseRightEyeVec.x *= -1f; // it seems these need flipping
+        }
+        return hmdPoseRightEyeVec;
+    }
+    
+    @Override
+    public Vector3f getSeatedToAbsolutePosition() {
+        if( environment.isSeatedExperience() == false ) return Vector3f.ZERO;
+        if( hmdSeatToStand == null ) {
+            hmdSeatToStand = new Vector3f();
+            
+            HmdMatrix34 mat = HmdMatrix34.create();
+            VRSystem.VRSystem_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(mat);
+            Matrix4f tempmat = new Matrix4f();
+            convertSteamVRMatrix3ToMatrix4f(mat, tempmat);
+            tempmat.toTranslationVector(hmdSeatToStand);
+        }
+        return hmdSeatToStand;
+    }
+    
+    @Override
+    public Matrix4f getHMDMatrixPoseLeftEye(){
+        if( hmdPoseLeftEye != null ) {
+            return hmdPoseLeftEye;
+        } else {
+            HmdMatrix34 mat = HmdMatrix34.create();
+            VRSystem.VRSystem_GetEyeToHeadTransform(VR.EVREye_Eye_Left, mat);
+            hmdPoseLeftEye = new Matrix4f();
+            return convertSteamVRMatrix3ToMatrix4f(mat, hmdPoseLeftEye);
+        }
+    }
+    
+    
+    @Override
+    public Matrix4f getHMDMatrixPoseRightEye(){
+        if( hmdPoseRightEye != null ) {
+            return hmdPoseRightEye;
+        } else {
+            HmdMatrix34 mat = HmdMatrix34.create();
+            VRSystem.VRSystem_GetEyeToHeadTransform(VR.EVREye_Eye_Right, mat);
+            hmdPoseRightEye = new Matrix4f();
+            return convertSteamVRMatrix3ToMatrix4f(mat, hmdPoseRightEye);
+        }
+    }
+    
+    @Override
+    public HmdType getType() {
+            String completeName = "";
+            String name = VRSystem.VRSystem_GetStringTrackedDeviceProperty(VR.k_unTrackedDeviceIndex_Hmd,
+                                                                   VR.ETrackedDeviceProperty_Prop_ManufacturerName_String,
+                                                                   128, hmdErrorStore);
+            if( hmdErrorStore.get(0) == 0 ) completeName += name;
+            String number = VRSystem.VRSystem_GetStringTrackedDeviceProperty(VR.k_unTrackedDeviceIndex_Hmd,
+                                                                   VR.ETrackedDeviceProperty_Prop_ModelNumber_String,
+                                                                   128, hmdErrorStore);
+            if( hmdErrorStore.get(0) == 0 ) completeName += " " + number;
+            if( completeName.length() > 0 ) {
+                completeName = completeName.toLowerCase(Locale.ENGLISH).trim();
+                if( completeName.contains("htc") || completeName.contains("vive") ) {
+                    return HmdType.HTC_VIVE;
+                } else if( completeName.contains("osvr") ) {
+                    return HmdType.OSVR;
+                } else if( completeName.contains("oculus") || completeName.contains("rift") ||
+                           completeName.contains("dk1") || completeName.contains("dk2") || completeName.contains("cv1") ) {
+                    return HmdType.OCULUS_RIFT;
+                } else if( completeName.contains("fove") ) {
+                    return HmdType.FOVE;
+                } else if( completeName.contains("game") && completeName.contains("face") ) {
+                    return HmdType.GAMEFACE;
+                } else if( completeName.contains("morpheus") ) {
+                    return HmdType.MORPHEUS;
+                } else if( completeName.contains("gear") ) {
+                    return HmdType.GEARVR;
+                } else if( completeName.contains("star") ) {
+                    return HmdType.STARVR;
+                } else if( completeName.contains("null") ) {
+                    return HmdType.NULL;
+                }
+            } 
+        return HmdType.OTHER;
+    }
+    
+    public void setTrackingSpace(boolean isSeated){
+        if( isSeated) {    
+            VRCompositor.VRCompositor_SetTrackingSpace(VR.ETrackingUniverseOrigin_TrackingUniverseSeated);
+        } else {
+            VRCompositor.VRCompositor_SetTrackingSpace(VR.ETrackingUniverseOrigin_TrackingUniverseStanding);
+        }
+    }
+    
+    
+    public Matrix4f[] getPoseMatrices() {
+        return poseMatrices;
+    }
+    
+}

+ 53 - 0
jme3-vr/src/main/java/com/jme3/input/vr/lwjgl_openvr/LWJGLOpenVRBounds.java

@@ -0,0 +1,53 @@
+package com.jme3.input.vr.lwjgl_openvr;
+
+import com.jme3.input.vr.VRAPI;
+import com.jme3.input.vr.VRBounds;
+import com.jme3.math.Vector2f;
+import com.jme3.util.BufferUtils;
+import java.nio.FloatBuffer;
+
+import java.util.logging.Logger;
+
+/**
+ * A class that represents VR world bounds.
+ * @author reden - phr00t - https://github.com/phr00t
+ * @author Julien Seinturier - COMEX SA - <a href="http://www.seinturier.fr">http://www.seinturier.fr</a>
+ * @author Rickard Edén
+ */
+public class LWJGLOpenVRBounds implements VRBounds {
+
+	private static Logger logger = Logger.getLogger(LWJGLOpenVRBounds.class.getName());
+	
+    private Vector2f playSize;
+    private boolean setup = false;
+    
+    /**
+     * Initialize the VR bounds.
+     * @return <code>true</code> if the initialization is a success and <code>false</code> otherwise.
+     */
+    public boolean init(VRAPI api) {
+    	
+    	logger.config("Initialize VR bounds...");
+    	
+        if( !setup ) {
+//            vrChaperone = new VR_IVRChaperone_FnTable(JOpenVRLibrary.VR_GetGenericInterface(JOpenVRLibrary.IVRChaperone_Version, api.hmdErrorStore).getPointer());
+            FloatBuffer fbX = BufferUtils.createFloatBuffer(1);
+            FloatBuffer fbZ = BufferUtils.createFloatBuffer(1);
+            org.lwjgl.openvr.VRChaperone.VRChaperone_GetPlayAreaSize(fbX, fbZ);
+
+            playSize = new Vector2f(fbX.get(0), fbZ.get(0));
+            setup = true;
+            logger.config("Initialize VR bounds [SUCCESS]");
+            return true; // init success
+        }
+        
+        logger.config("Initialize VR bounds already done.");
+        return true; // already initialized
+    }
+    
+    @Override
+    public Vector2f getPlaySize() {
+        return playSize;
+    }
+    
+}

+ 498 - 0
jme3-vr/src/main/java/com/jme3/input/vr/lwjgl_openvr/LWJGLOpenVRInput.java

@@ -0,0 +1,498 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.jme3.input.vr.lwjgl_openvr;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Logger;
+
+import com.jme3.app.VREnvironment;
+import com.jme3.input.vr.VRInputAPI;
+import com.jme3.input.vr.VRInputType;
+import com.jme3.input.vr.VRTrackedController;
+import com.jme3.input.vr.VRViewManager;
+import com.jme3.math.Quaternion;
+import com.jme3.math.Vector2f;
+import com.jme3.math.Vector3f;
+import com.jme3.renderer.Camera;
+import com.jme3.scene.Spatial;
+import com.jme3.util.VRUtil;
+import java.nio.IntBuffer;
+import org.lwjgl.BufferUtils;
+import org.lwjgl.openvr.HmdVector3;
+import org.lwjgl.openvr.VR;
+import org.lwjgl.openvr.VRControllerState;
+import org.lwjgl.openvr.VRSystem;
+
+/*
+make helper functions to pull the following easily from raw data (DONE)
+trigger:
+Controller#1, Axis#0 X: 0.0, Y: 0.0
+Controller#1, Axis#1 X: 1.0, Y: 0.0
+Controller#1, Axis#2 X: 0.0, Y: 0.0
+Controller#1, Axis#3 X: 0.0, Y: 0.0
+Controller#1, Axis#4 X: 0.0, Y: 0.0
+Button press: 8589934592 (when full), touch: 8589934592
+touchpad (upper left):
+Controller#1, Axis#0 X: -0.6059755, Y: 0.2301706
+Controller#1, Axis#1 X: 0.0, Y: 0.0
+Controller#1, Axis#2 X: 0.0, Y: 0.0
+Controller#1, Axis#3 X: 0.0, Y: 0.0
+Controller#1, Axis#4 X: 0.0, Y: 0.0
+Button press: 4294967296 (when pressed in), touch: 4294967296
+grip:
+Controller#1, Axis#0 X: 0.0, Y: 0.0
+Controller#1, Axis#1 X: 0.0, Y: 0.0
+Controller#1, Axis#2 X: 0.0, Y: 0.0
+Controller#1, Axis#3 X: 0.0, Y: 0.0
+Controller#1, Axis#4 X: 0.0, Y: 0.0
+Button press: 4, touch: 4
+thumb:
+Controller#1, Axis#0 X: 0.0, Y: 0.0
+Controller#1, Axis#1 X: 0.0, Y: 0.0
+Controller#1, Axis#2 X: 0.0, Y: 0.0
+Controller#1, Axis#3 X: 0.0, Y: 0.0
+Controller#1, Axis#4 X: 0.0, Y: 0.0
+Button press: 2, touch: 2
+ */
+/**
+ * A class that wraps an
+ * <a href="https://github.com/ValveSoftware/openvr/wiki/API-Documentation">OpenVR</a>
+ * input.<br>
+ * <code>null</code> values will be returned if no valid pose exists, or that
+ * input device isn't available user code should check for <code>null</code>
+ * values.
+ *
+ * @author reden - phr00t
+ * @author Julien Seinturier - COMEX SA - <a href="http://www.seinturier.fr">http://www.seinturier.fr</a>
+ * @author Rickard Edén
+ */
+public class LWJGLOpenVRInput implements VRInputAPI {
+
+    private static final Logger logger = Logger.getLogger(LWJGLOpenVRInput.class.getName());
+
+    private final VRControllerState[] cStates = new VRControllerState[VR.k_unMaxTrackedDeviceCount];
+
+    private final Quaternion[] rotStore = new Quaternion[VR.k_unMaxTrackedDeviceCount];
+
+    private final Vector3f[] posStore = new Vector3f[VR.k_unMaxTrackedDeviceCount];
+
+    private static final int[] controllerIndex = new int[VR.k_unMaxTrackedDeviceCount];
+
+    private int controllerCount = 0;
+
+    private final Vector2f tempAxis = new Vector2f(), temp2Axis = new Vector2f();
+
+    private final Vector2f lastCallAxis[] = new Vector2f[VR.k_unMaxTrackedDeviceCount];
+
+    private final boolean buttonDown[][] = new boolean[VR.k_unMaxTrackedDeviceCount][16];
+
+    private float axisMultiplier = 1f;
+
+    private final Vector3f tempVel = new Vector3f();
+
+    private final Quaternion tempq = new Quaternion();
+
+    private final VREnvironment environment;
+
+    private List<VRTrackedController> trackedControllers = null;
+
+    /**
+     * 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.
+     */
+    public LWJGLOpenVRInput(VREnvironment environment) {
+        this.environment = environment;
+    }
+
+    @Override
+    public float getAxisMultiplier() {
+        return axisMultiplier;
+    }
+
+    @Override
+    public void setAxisMultiplier(float set) {
+        axisMultiplier = set;
+    }
+
+    @Override
+    public void swapHands() {
+        if (controllerCount != 2) {
+            return;
+        }
+        int temp = controllerIndex[0];
+        controllerIndex[0] = controllerIndex[1];
+        controllerIndex[1] = temp;
+    }
+
+    @Override
+    public boolean isButtonDown(int controllerIndex, VRInputType checkButton) {
+        VRControllerState cs = cStates[LWJGLOpenVRInput.controllerIndex[controllerIndex]];
+        switch (checkButton) {
+            default:
+                return false;
+            case ViveGripButton:
+                return (cs.ulButtonPressed() & 4) != 0;
+            case ViveMenuButton:
+                return (cs.ulButtonPressed() & 2) != 0;
+            case ViveTrackpadAxis:
+                return (cs.ulButtonPressed() & 4294967296l) != 0;
+            case ViveTriggerAxis:
+                return (cs.ulButtonPressed() & 8589934592l) != 0;
+        }
+    }
+
+    @Override
+    public boolean wasButtonPressedSinceLastCall(int controllerIndex, VRInputType checkButton) {
+        boolean buttonDownNow = isButtonDown(controllerIndex, checkButton);
+        int checkButtonValue = checkButton.getValue();
+        int cIndex = LWJGLOpenVRInput.controllerIndex[controllerIndex];
+        boolean retval = buttonDownNow == true && buttonDown[cIndex][checkButtonValue] == false;
+        buttonDown[cIndex][checkButtonValue] = buttonDownNow;
+        return retval;
+    }
+
+    @Override
+    public void resetInputSinceLastCall() {
+        for (int i = 0; i < lastCallAxis.length; i++) {
+            lastCallAxis[i].x = 0f;
+            lastCallAxis[i].y = 0f;
+        }
+        for (int i = 0; i < VR.k_unMaxTrackedDeviceCount; i++) {
+            for (int j = 0; j < 16; j++) {
+                buttonDown[i][j] = false;
+            }
+        }
+    }
+
+    @Override
+    public Vector2f getAxisDeltaSinceLastCall(int controllerIndex, VRInputType forAxis) {
+        int axisIndex = forAxis.getValue();
+        temp2Axis.set(lastCallAxis[axisIndex]);
+        lastCallAxis[axisIndex].set(getAxis(controllerIndex, forAxis));
+        if ((temp2Axis.x != 0f || temp2Axis.y != 0f) && (lastCallAxis[axisIndex].x != 0f || lastCallAxis[axisIndex].y != 0f)) {
+            temp2Axis.subtractLocal(lastCallAxis[axisIndex]);
+        } else {
+            // move made from rest, don't count as a delta move
+            temp2Axis.x = 0f;
+            temp2Axis.y = 0f;
+        }
+        return temp2Axis;
+    }
+
+    @Override
+    public Vector3f getVelocity(int controllerIndex) {
+
+        if (environment != null) {
+
+            if (environment.getVRHardware() instanceof LWJGLOpenVR) {
+                int index = LWJGLOpenVRInput.controllerIndex[controllerIndex];
+//                if( needsNewVelocity[index] ) {
+                HmdVector3 tempVec = ((LWJGLOpenVR) environment.getVRHardware()).hmdTrackedDevicePoses[index].vVelocity();
+//                    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.");
+        }
+    }
+
+    @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.");
+        }
+
+    }
+
+    @Override
+    public Vector2f getAxisRaw(int controllerIndex, VRInputType forAxis) {
+        VRControllerState cs = cStates[LWJGLOpenVRInput.controllerIndex[controllerIndex]];
+        switch (forAxis) {
+            default:
+                return null;
+            case ViveTriggerAxis:
+                tempAxis.x = cs.rAxis(1).x();
+                tempAxis.y = tempAxis.x;
+                break;
+            case ViveTrackpadAxis:
+                tempAxis.x = cs.rAxis(0).x();
+                tempAxis.y = cs.rAxis(0).y();
+                break;
+        }
+        return tempAxis;
+    }
+
+    @Override
+    public Vector2f getAxis(int controllerIndex, VRInputType forAxis) {
+        getAxisRaw(controllerIndex, forAxis);
+        tempAxis.x *= axisMultiplier;
+        tempAxis.y *= axisMultiplier;
+        return tempAxis;
+    }
+
+    @Override
+    public boolean init() {
+
+        logger.config("Initialize OpenVR input.");
+
+        for (int i = 0; i < VR.k_unMaxTrackedDeviceCount; i++) {
+            rotStore[i] = new Quaternion();
+            posStore[i] = new Vector3f();
+            cStates[i] = VRControllerState.create();
+            lastCallAxis[i] = new Vector2f();
+            logger.config("  Input " + (i + 1) + "/" + VR.k_unMaxTrackedDeviceCount + " binded.");
+        }
+
+        return true;
+    }
+
+    @Override
+    public VRTrackedController getTrackedController(int index) {
+        if (trackedControllers != null) {
+            if ((trackedControllers.size() > 0) && (index < trackedControllers.size())) {
+                return trackedControllers.get(index);
+            }
+        }
+
+        return null;
+    }
+
+    @Override
+    public int getTrackedControllerCount() {
+        return controllerCount;
+    }
+
+    @Override
+    public VRControllerState getRawControllerState(int index) {
+        if (isInputDeviceTracking(index) == false) {
+            return null;
+        }
+        return cStates[controllerIndex[index]];
+    }
+
+    @Override
+    public boolean isInputFocused() {
+    	if (environment != null){
+            // not a 100% match, but the closest i can find in lwjgl. Doc seems to confirm this too.
+            return VRSystem.VRSystem_IsInputAvailable();
+            //return ((VR_IVRSystem_FnTable)environment.getVRHardware().getVRSystem()).IsInputFocusCapturedByAnotherProcess.apply() == 0;
+    	} else {
+    		throw new IllegalStateException("VR input is not attached to a VR environment.");
+    	}      
+    }
+
+    @Override
+    public boolean isInputDeviceTracking(int index) {
+        if (index < 0 || index >= controllerCount) {
+            return false;
+        }
+
+        if (environment != null) {
+
+            if (environment.getVRHardware() instanceof LWJGLOpenVR) {
+                return ((LWJGLOpenVR) environment.getVRHardware()).hmdTrackedDevicePoses[controllerIndex[index]].bPoseIsValid();
+            } 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.");
+        }
+    }
+
+    @Override
+    public Quaternion getOrientation(int index) {
+        if (isInputDeviceTracking(index) == false) {
+            return null;
+        }
+
+        if (environment != null) {
+
+            if (environment.getVRHardware() instanceof LWJGLOpenVR) {
+                index = controllerIndex[index];
+                VRUtil.convertMatrix4toQuat(((LWJGLOpenVR) environment.getVRHardware()).poseMatrices[index], rotStore[index]);
+                return rotStore[index];
+            } 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.");
+        }
+    }
+
+    @Override
+    public Vector3f getPosition(int index) {
+        if (isInputDeviceTracking(index) == false) {
+            return null;
+        }
+
+        if (environment != null) {
+
+            if (environment.getVRHardware() instanceof LWJGLOpenVR) {
+                // the hmdPose comes in rotated funny, fix that here
+                index = controllerIndex[index];
+                ((LWJGLOpenVR) environment.getVRHardware()).poseMatrices[index].toTranslationVector(posStore[index]);
+                posStore[index].x = -posStore[index].x;
+                posStore[index].z = -posStore[index].z;
+                return posStore[index];
+            } 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.");
+        }
+
+    }
+
+    @Override
+    public Quaternion getFinalObserverRotation(int index) {
+
+        if (environment != null) {
+            VRViewManager vrvm = environment.getVRViewManager();
+
+            if (vrvm != null) {
+                if (isInputDeviceTracking(index) == false) {
+                    return null;
+                }
+
+                Object obs = environment.getObserver();
+                if (obs instanceof Camera) {
+                    tempq.set(((Camera) obs).getRotation());
+                } else {
+                    tempq.set(((Spatial) obs).getWorldRotation());
+                }
+
+                return tempq.multLocal(getOrientation(index));
+            } else {
+                throw new IllegalStateException("VR environment has no valid view manager.");
+            }
+
+        } else {
+            throw new IllegalStateException("VR input is not attached to a VR environment.");
+        }
+    }
+
+    @Override
+    public Vector3f getFinalObserverPosition(int index) {
+
+        if (environment != null) {
+            VRViewManager vrvm = (VRViewManager) environment.getVRViewManager();
+
+            if (vrvm != null) {
+                if (isInputDeviceTracking(index) == false) {
+                    return null;
+                }
+                Object obs = environment.getObserver();
+                Vector3f pos = getPosition(index);
+                if (obs instanceof Camera) {
+                    ((Camera) obs).getRotation().mult(pos, pos);
+                    return pos.addLocal(((Camera) obs).getLocation());
+                } else {
+                    ((Spatial) obs).getWorldRotation().mult(pos, pos);
+                    return pos.addLocal(((Spatial) obs).getWorldTranslation());
+                }
+            } else {
+                throw new IllegalStateException("VR environment has no valid view manager.");
+            }
+
+        } else {
+            throw new IllegalStateException("VR input is not attached to a VR environment.");
+        }
+    }
+
+    @Override
+    public void triggerHapticPulse(int controllerIndex, float seconds) {
+        if (environment.isInVR() == false || isInputDeviceTracking(controllerIndex) == false) {
+            return;
+        }
+
+        // apparently only axis ID of 0 works
+        VRSystem.VRSystem_TriggerHapticPulse(LWJGLOpenVRInput.controllerIndex[controllerIndex],
+                0, (short) Math.round(3f * seconds / 1e-3f));
+    }
+
+    @Override
+    public void updateConnectedControllers() {
+        logger.config("Updating connected controllers.");
+
+        if (environment != null) {
+            controllerCount = 0;
+            for (int i = 0; i < VR.k_unMaxTrackedDeviceCount; i++) {
+                int classCallback = VRSystem.VRSystem_GetTrackedDeviceClass(i);
+                if (classCallback == VR.ETrackedDeviceClass_TrackedDeviceClass_Controller || classCallback == VR.ETrackedDeviceClass_TrackedDeviceClass_GenericTracker) {
+                    IntBuffer error = BufferUtils.createIntBuffer(1);
+                    String controllerName = "Unknown";
+                    String manufacturerName = "Unknown";
+                    controllerName = VRSystem.VRSystem_GetStringTrackedDeviceProperty(i, VR.ETrackedDeviceProperty_Prop_TrackingSystemName_String, error);
+                    manufacturerName = VRSystem.VRSystem_GetStringTrackedDeviceProperty(i, VR.ETrackedDeviceProperty_Prop_ManufacturerName_String, error);
+
+                    if (error.get(0) != 0) {
+                        logger.warning("Error getting controller information " + controllerName + " " + manufacturerName + "Code (" + error.get(0) + ")");
+                    }
+                    controllerIndex[controllerCount] = i;
+
+                    // Adding tracked controller to control.
+                    if (trackedControllers == null) {
+                        trackedControllers = new ArrayList<VRTrackedController>(VR.k_unMaxTrackedDeviceCount);
+                    }
+                    trackedControllers.add(new LWJGLOpenVRTrackedController(i, this, controllerName, manufacturerName, environment));
+
+                    // Send a Haptic pulse to the controller
+                    triggerHapticPulse(controllerCount, 1.0f);
+
+                    controllerCount++;
+                    logger.config("  Tracked controller " + (i + 1) + "/" + VR.k_unMaxTrackedDeviceCount + " " + controllerName + " (" + manufacturerName + ") attached.");
+                } else {
+                    logger.config("  Controller " + (i + 1) + "/" + VR.k_unMaxTrackedDeviceCount + " ignored.");
+                }
+            }
+        } else {
+            throw new IllegalStateException("VR input is not attached to a VR environment.");
+        }
+    }
+
+    @Override
+    public void updateControllerStates() {
+
+        if (environment != null) {
+            for (int i = 0; i < controllerCount; i++) {
+                int index = controllerIndex[i];
+                VRSystem.VRSystem_GetControllerState(index, cStates[index], 64);
+                cStates[index].ulButtonPressed();
+                cStates[index].rAxis();
+            }
+        } else {
+            throw new IllegalStateException("VR input is not attached to a VR environment.");
+        }
+
+    }
+
+}

+ 114 - 0
jme3-vr/src/main/java/com/jme3/input/vr/lwjgl_openvr/LWJGLOpenVRMouseManager.java

@@ -0,0 +1,114 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.jme3.input.vr.lwjgl_openvr;
+
+import com.jme3.app.VREnvironment;
+import com.jme3.input.controls.AnalogListener;
+import com.jme3.input.vr.AbstractVRMouseManager;
+import com.jme3.input.vr.VRInputType;
+import com.jme3.math.Vector2f;
+
+
+/**
+ * A class dedicated to the handling of the mouse within VR environment.
+ * @author Julien Seinturier - COMEX SA - <a href="http://www.seinturier.fr">http://www.seinturier.fr</a>
+ */
+public class LWJGLOpenVRMouseManager extends AbstractVRMouseManager {
+
+	private final int AVERAGE_AMNT = 4;
+	
+    private int avgCounter;
+	
+    private final float[] lastXmv = new float[AVERAGE_AMNT];
+    
+    private final float[] lastYmv = new float[AVERAGE_AMNT];
+    
+    /**
+     * Create a new VR mouse manager within the given {@link VREnvironment VR environment}.
+     * @param environment the VR environment of the mouse manager.
+     */
+    public LWJGLOpenVRMouseManager(VREnvironment environment){
+    	super(environment);
+    }
+    
+    
+    @Override
+    public void updateAnalogAsMouse(int inputIndex, AnalogListener mouseListener, String mouseXName, String mouseYName, float tpf) {
+        
+    	if (getVREnvironment() != null){
+    		if (getVREnvironment().getApplication() != null){
+    			// got a tracked controller to use as the "mouse"
+    	        if( getVREnvironment().isInVR() == false || 
+    	        	getVREnvironment().getVRinput() == null ||
+    	        	getVREnvironment().getVRinput().isInputDeviceTracking(inputIndex) == false ){
+    	        	return;
+    	        }
+    	        
+    	        Vector2f tpDelta;
+    	        // TODO option to use Touch joysticks
+    	        if( isThumbstickMode() ) {
+    	            tpDelta = getVREnvironment().getVRinput().getAxis(inputIndex, VRInputType.ViveTrackpadAxis);
+    	        } else {
+    	            tpDelta = getVREnvironment().getVRinput().getAxisDeltaSinceLastCall(inputIndex, VRInputType.ViveTrackpadAxis);            
+    	        }
+    	        
+    	        float Xamount = (float)Math.pow(Math.abs(tpDelta.x) * getSpeedSensitivity(), getSpeedAcceleration());
+    	        float Yamount = (float)Math.pow(Math.abs(tpDelta.y) * getSpeedSensitivity(), getSpeedAcceleration());
+    	        
+    	        if( tpDelta.x < 0f ){
+    	        	Xamount = -Xamount;
+    	        }
+    	        
+    	        if( tpDelta.y < 0f ){
+    	        	Yamount = -Yamount;
+    	        }
+    	        
+    	        Xamount *= getMouseMoveScale(); 
+    	        Yamount *= getMouseMoveScale();
+    	        
+    	        if( mouseListener != null ) {
+    	            if( tpDelta.x != 0f && mouseXName != null ) mouseListener.onAnalog(mouseXName, Xamount * 0.2f, tpf);
+    	            if( tpDelta.y != 0f && mouseYName != null ) mouseListener.onAnalog(mouseYName, Yamount * 0.2f, tpf);            
+    	        }
+    	        
+    	        if( getVREnvironment().getApplication().getInputManager().isCursorVisible() ) {
+    	            int index = (avgCounter+1) % AVERAGE_AMNT;
+    	            lastXmv[index] = Xamount * 133f;
+    	            lastYmv[index] = Yamount * 133f;
+    	            cursorPos.x -= avg(lastXmv);
+    	            cursorPos.y -= avg(lastYmv);
+    	            Vector2f maxsize = getVREnvironment().getVRGUIManager().getCanvasSize();
+    	            
+    	            if( cursorPos.x > maxsize.x ){
+    	            	cursorPos.x = maxsize.x;
+    	            }
+    	            
+    	            if( cursorPos.x < 0f ){
+    	            	cursorPos.x = 0f;
+    	            }
+    	            
+    	            if( cursorPos.y > maxsize.y ){
+    	            	cursorPos.y = maxsize.y;
+    	            }
+    	            
+    	            if( cursorPos.y < 0f ){
+    	            	cursorPos.y = 0f;
+    	            }
+    	        }
+    		} else {
+    			throw new IllegalStateException("This VR environment is not attached to any application.");
+    		}
+    	} else {
+            throw new IllegalStateException("This VR view manager is not attached to any VR environment.");
+      	} 
+    }
+    
+    private float avg(float[] arr) {
+        float amt = 0f;
+        for(float f : arr) amt += f;
+        return amt / arr.length;
+    }
+}

+ 100 - 0
jme3-vr/src/main/java/com/jme3/input/vr/lwjgl_openvr/LWJGLOpenVRTrackedController.java

@@ -0,0 +1,100 @@
+package com.jme3.input.vr.lwjgl_openvr;
+
+import com.jme3.app.VREnvironment;
+import com.jme3.input.vr.VRInputAPI;
+import com.jme3.input.vr.VRTrackedController;
+import com.jme3.math.Matrix4f;
+import com.jme3.math.Quaternion;
+import com.jme3.math.Vector3f;
+
+/**
+ * A controller that is tracked within the VR environment. Such a controller can provide its position within the VR space.
+ * @author Julien Seinturier - COMEX SA - <a href="http://www.seinturier.fr">http://www.seinturier.fr</a>
+ * @author Rickard Edén
+ */
+public class LWJGLOpenVRTrackedController implements VRTrackedController{
+
+	/**
+	 * The index of the controller within the unserlying VR API.
+	 */
+	private int controllerIndex = -1;
+	
+	/**
+	 * The underlying VRAPI.
+	 */
+	private VRInputAPI hardware     = null;
+	
+	/**
+	 * The name of the controller.
+	 */
+	private String name;
+	
+	private VREnvironment environment;
+	
+    /**
+	 * Wrap a new VR tracked controller on an OpenVR system.
+	 * @param controllerIndex the index of the controller within the underlying VR system.
+	 * @param hardware the underlying VR system.
+	 * @param name the name of the controller.
+	 * @param manufacturer the manufacturer of the controller.
+	 * @param environment the VR environment.
+	 */
+    public LWJGLOpenVRTrackedController(int controllerIndex, VRInputAPI hardware, String name, String manufacturer, VREnvironment environment){
+    	this.controllerIndex = controllerIndex;
+    	this.hardware        = hardware;
+    	
+    	this.name            = name;
+    	this.manufacturer    = manufacturer;
+    	
+    	this.environment     = environment;
+    }
+	
+	/**
+	 * The manufacturer of the controller.
+	 */
+	private String manufacturer;
+	
+	@Override
+	public Vector3f getPosition() {
+		if (hardware != null){
+			return hardware.getPosition(controllerIndex);
+		} else {
+			throw new IllegalStateException("No underlying VR API.");
+		}
+	}
+
+	@Override
+	public Quaternion getOrientation() {
+        if (hardware != null){
+			return hardware.getOrientation(controllerIndex);
+		} else {
+			throw new IllegalStateException("No underlying VR API.");
+		}
+	}
+
+	@Override
+	public Matrix4f getPose(){
+		
+		if (environment != null){
+			 if (hardware != null){
+					return ((LWJGLOpenVR)environment.getVRHardware()).getPoseMatrices()[controllerIndex];
+				} else {
+					throw new IllegalStateException("No underlying VR API.");
+				}
+		} else {
+			throw new IllegalStateException("VR tracked device is not attached to any environment.");
+		}
+		
+		
+	}
+	
+	@Override
+	public String getControllerName() {
+		return name;
+	}
+
+	@Override
+	public String getControllerManufacturer() {
+		return manufacturer;
+	}
+}

+ 573 - 0
jme3-vr/src/main/java/com/jme3/input/vr/lwjgl_openvr/LWJGLOpenVRViewManager.java

@@ -0,0 +1,573 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.jme3.input.vr.lwjgl_openvr;
+
+import com.jme3.app.VREnvironment;
+import com.jme3.input.vr.AbstractVRViewManager;
+import com.jme3.input.vr.VRAPI;
+import com.jme3.math.ColorRGBA;
+import com.jme3.math.Quaternion;
+import com.jme3.math.Vector2f;
+import com.jme3.math.Vector3f;
+import com.jme3.renderer.Camera;
+import com.jme3.renderer.ViewPort;
+import com.jme3.renderer.queue.RenderQueue.Bucket;
+import com.jme3.scene.Spatial;
+import com.jme3.texture.FrameBuffer;
+import com.jme3.texture.Image;
+import com.jme3.texture.Texture2D;
+import com.jme3.ui.Picture;
+import com.jme3.util.VRGUIPositioningMode;
+
+import java.util.Iterator;
+import java.util.logging.Logger;
+import org.lwjgl.openvr.VRTextureBounds;
+import org.lwjgl.openvr.Texture;
+import org.lwjgl.openvr.VR;
+import org.lwjgl.openvr.VRCompositor;
+
+/**
+ * A VR view manager based on OpenVR. This class enable to submit 3D views to
+ * the VR compositor.
+ *
+ * @author reden - phr00t
+ * @author Julien Seinturier - COMEX SA - <a href="http://www.seinturier.fr">http://www.seinturier.fr</a>
+ * @author Rickard Edén
+ */
+public class LWJGLOpenVRViewManager extends AbstractVRViewManager {
+
+    private static final Logger logger = Logger.getLogger(LWJGLOpenVRViewManager.class.getName());
+
+    // OpenVR values
+    private VRTextureBounds leftTextureBounds;
+    private Texture leftTextureType;
+
+    private VRTextureBounds rightTextureBounds;
+    private Texture rightTextureType;
+
+    private Texture2D dualEyeTex;
+
+    //final & temp values for camera calculations
+    private final Vector3f finalPosition = new Vector3f();
+    private final Quaternion finalRotation = new Quaternion();
+    private final Vector3f hmdPos = new Vector3f();
+    private final Quaternion hmdRot = new Quaternion();
+
+    /**
+     * Create a new VR view manager attached to the given
+     * {@link VREnvironment VR environment}.
+     *
+     * @param environment the {@link VREnvironment VR environment} to which this
+     * view manager is attached.
+     */
+    public LWJGLOpenVRViewManager(VREnvironment environment) {
+        this.environment = environment;
+    }
+
+    /**
+     * Get the identifier of the left eye texture.
+     *
+     * @return the identifier of the left eye texture.
+     * @see #getRightTexId()
+     * @see #getFullTexId()
+     */
+    protected int getLeftTexId() {
+        return (int) getLeftTexture().getImage().getId();
+    }
+
+    /**
+     * Get the identifier of the right eye texture.
+     *
+     * @return the identifier of the right eye texture.
+     * @see #getLeftTexId()
+     * @see #getFullTexId()
+     */
+    protected int getRightTexId() {
+        return (int) getRightTexture().getImage().getId();
+    }
+
+    /**
+     * Get the identifier of the full (dual eye) texture.
+     *
+     * @return the identifier of the full (dual eye) texture.
+     * @see #getLeftTexId()
+     * @see #getRightTexId()
+     */
+    private int getFullTexId() {
+        return (int) dualEyeTex.getImage().getId();
+    }
+
+    /**
+     * Initialize the system binds of the textures.
+     */
+    private void initTextureSubmitStructs() {
+        leftTextureType = Texture.create();
+        rightTextureType = Texture.create();
+
+        if (environment != null) {
+            if (environment.getVRHardware() instanceof LWJGLOpenVR) {
+                leftTextureBounds = VRTextureBounds.create();
+                rightTextureBounds = VRTextureBounds.create();
+                // left eye
+                leftTextureBounds.set(0f, 0f, 0.5f, 1f);
+                // right eye
+                rightTextureBounds.set(0.5f, 0f, 1f, 1f);
+                // texture type
+                leftTextureType.set(-1, VR.ETextureType_TextureType_OpenGL, VR.EColorSpace_ColorSpace_Gamma);
+                rightTextureType.set(-1, VR.ETextureType_TextureType_OpenGL, VR.EColorSpace_ColorSpace_Gamma);
+
+            }
+        } else {
+            throw new IllegalStateException("This VR view manager is not attached to any VR environment.");
+        }
+    }
+
+    @Override
+    /**
+     * updatePose can be called here because appstates are always called before the main renderer. This way we get the latest pose close to when it's supposed to render
+     */
+    public void render() {
+        if (environment != null) {
+            // grab the observer
+            Object obs = environment.getObserver();
+            Quaternion objRot;
+            Vector3f objPos;
+            if (obs instanceof Camera) {
+                objRot = ((Camera) obs).getRotation();
+                objPos = ((Camera) obs).getLocation();
+            } else {
+                objRot = ((Spatial) obs).getWorldRotation();
+                objPos = ((Spatial) obs).getWorldTranslation();
+            }
+            // grab the hardware handle
+            VRAPI dev = environment.getVRHardware();
+            if (dev != null) {
+
+                // update the HMD's position & orientation
+                dev.updatePose();
+                dev.getPositionAndOrientation(hmdPos, hmdRot);
+
+                if (obs != null) {
+                    // update hmdPos based on obs rotation
+                    finalRotation.set(objRot);
+                    finalRotation.mult(hmdPos, hmdPos);
+                    finalRotation.multLocal(hmdRot);
+    }
+
+                finalizeCamera(dev.getHMDVectorPoseLeftEye(), objPos, getLeftCamera());
+                finalizeCamera(dev.getHMDVectorPoseRightEye(), objPos, getRightCamera());
+            } else {
+                getLeftCamera().setFrame(objPos, objRot);
+                getRightCamera().setFrame(objPos, objRot);
+            }
+        }
+    }
+
+    @Override
+    public void postRender() {
+
+        if (environment != null) {
+            if (environment.isInVR()) {
+                VRAPI api = environment.getVRHardware();
+                // using the compositor...
+                int errl = 0, errr = 0;
+                if (environment.isInstanceRendering()) {
+                    if (leftTextureType.handle() == -1 || leftTextureType.handle() != getFullTexId()) {
+                        leftTextureType.set(getFullTexId(), leftTextureType.eType(), leftTextureType.eColorSpace());
+                    } else {
+                        if (api instanceof LWJGLOpenVR) {
+                            int submitFlag = VR.EVRSubmitFlags_Submit_Default;
+                            errr = VRCompositor.VRCompositor_Submit(VR.EVREye_Eye_Right, rightTextureType, rightTextureBounds, submitFlag);
+                            errl = VRCompositor.VRCompositor_Submit(VR.EVREye_Eye_Left, leftTextureType, leftTextureBounds, submitFlag);
+                        }
+                    }
+                } else if (leftTextureType.handle() == -1 || rightTextureType.handle() == -1
+                        || leftTextureType.handle() != getLeftTexId() || rightTextureType.handle() != getRightTexId()) {
+                    leftTextureType.set(getLeftTexId(), leftTextureType.eType(), leftTextureType.eColorSpace());
+                    rightTextureType.set(getRightTexId(), leftTextureType.eType(), leftTextureType.eColorSpace());
+                } else {
+                    if (api instanceof LWJGLOpenVR) {
+                        int submitFlag = VR.EVRSubmitFlags_Submit_Default;
+                        errr = VRCompositor.VRCompositor_Submit(VR.EVREye_Eye_Right, rightTextureType, null, submitFlag);
+                        errl = VRCompositor.VRCompositor_Submit(VR.EVREye_Eye_Left, leftTextureType, null, submitFlag);
+                    } else {
+
+                    }
+                }
+
+                if (errl != 0) {
+                    logger.severe("Submit to left compositor error: " + " (" + Integer.toString(errl) + ")");
+                    logger.severe("  Texture handle: " + leftTextureType.handle());
+
+                    logger.severe("  Left eye texture " + leftEyeTexture.getName() + " (" + leftEyeTexture.getImage().getId() + ")");
+                    logger.severe("                 Type: " + leftEyeTexture.getType());
+                    logger.severe("                 Size: " + leftEyeTexture.getImage().getWidth() + "x" + leftEyeTexture.getImage().getHeight());
+                    logger.severe("          Image depth: " + leftEyeTexture.getImage().getDepth());
+                    logger.severe("         Image format: " + leftEyeTexture.getImage().getFormat());
+                    logger.severe("    Image color space: " + leftEyeTexture.getImage().getColorSpace());
+
+                }
+
+                if (errr != 0) {
+                    logger.severe("Submit to right compositor error: " + " (" + Integer.toString(errl) + ")");
+//                    	logger.severe("  Texture color space: "+OpenVRUtil.getEColorSpaceString(rightTextureType.eColorSpace));
+//                    	logger.severe("  Texture type: "+OpenVRUtil.getETextureTypeString(rightTextureType.eType));
+                    logger.severe("  Texture handle: " + rightTextureType.handle());
+
+                    logger.severe("  Right eye texture " + rightEyeTexture.getName() + " (" + rightEyeTexture.getImage().getId() + ")");
+                    logger.severe("                 Type: " + rightEyeTexture.getType());
+                    logger.severe("                 Size: " + rightEyeTexture.getImage().getWidth() + "x" + rightEyeTexture.getImage().getHeight());
+                    logger.severe("          Image depth: " + rightEyeTexture.getImage().getDepth());
+                    logger.severe("         Image format: " + rightEyeTexture.getImage().getFormat());
+                    logger.severe("    Image color space: " + rightEyeTexture.getImage().getColorSpace());
+                }
+            }
+        } else {
+            throw new IllegalStateException("This VR view manager is not attached to any VR environment.");
+        }
+
+        VRCompositor.VRCompositor_PostPresentHandoff();
+
+    }
+
+    @Override
+    public void initialize() {
+
+        logger.config("Initializing VR view manager.");
+
+        if (environment != null) {
+
+            initTextureSubmitStructs();
+            setupCamerasAndViews();
+            setupVRScene();
+            moveScreenProcessingToEyes();
+
+            if (environment.hasTraditionalGUIOverlay()) {
+
+                environment.getVRMouseManager().initialize();
+
+                // update the pose to position the gui correctly on start
+                update(0f);
+                environment.getVRGUIManager().positionGui();
+            }
+
+            logger.config("Initialized VR view manager [SUCCESS]");
+
+        } else {
+            throw new IllegalStateException("This VR view manager is not attached to any VR environment.");
+        }
+    }
+
+    /**
+     * Prepare the size of the given {@link Camera camera} to adapt it to the
+     * underlying rendering context.
+     *
+     * @param cam the {@link Camera camera} to prepare.
+     * @param xMult the camera width multiplier.
+     */
+    private void prepareCameraSize(Camera cam, float xMult) {
+
+        if (environment != null) {
+
+            if (environment.getApplication() != null) {
+                Vector2f size = new Vector2f();
+                VRAPI vrhmd = environment.getVRHardware();
+
+                if (vrhmd == null) {
+                    size.x = 1280f;
+                    size.y = 720f;
+                } else {
+                    vrhmd.getRenderSize(size);
+                }
+
+                if (size.x < environment.getApplication().getContext().getSettings().getWidth()) {
+                    size.x = environment.getApplication().getContext().getSettings().getWidth();
+                }
+                if (size.y < environment.getApplication().getContext().getSettings().getHeight()) {
+                    size.y = environment.getApplication().getContext().getSettings().getHeight();
+                }
+
+                if (environment.isInstanceRendering()) {
+                    size.x *= 2f;
+                }
+
+                // other adjustments
+                size.x *= xMult;
+                size.x *= getResolutionMuliplier();
+                size.y *= getResolutionMuliplier();
+
+                if (cam.getWidth() != size.x || cam.getHeight() != size.y) {
+                    cam.resize((int) size.x, (int) size.y, false);
+                }
+            } else {
+                throw new IllegalStateException("This VR environment is not attached to any application.");
+            }
+
+        } else {
+            throw new IllegalStateException("This VR view manager is not attached to any VR environment.");
+        }
+
+    }
+
+    /**
+     * Replaces rootNode as the main cameras scene with the distortion mesh
+     */
+    private void setupVRScene() {
+
+        if (environment != null) {
+            if (environment.getApplication() != null) {
+                // no special scene to setup if we are doing instancing
+                if (environment.isInstanceRendering()) {
+                    // distortion has to be done with compositor here... we want only one pass on our end!
+                    if (environment.getApplication().getContext().getSettings().isSwapBuffers()) {
+                        setupMirrorBuffers(environment.getCamera(), dualEyeTex, true);
+                    }
+                    return;
+                }
+
+                leftEyeTexture = (Texture2D) getLeftViewPort().getOutputFrameBuffer().getColorBuffer().getTexture();
+                rightEyeTexture = (Texture2D) getRightViewPort().getOutputFrameBuffer().getColorBuffer().getTexture();
+                leftEyeDepth = (Texture2D) getLeftViewPort().getOutputFrameBuffer().getDepthBuffer().getTexture();
+                rightEyeDepth = (Texture2D) getRightViewPort().getOutputFrameBuffer().getDepthBuffer().getTexture();
+
+                // main viewport is either going to be a distortion scene or nothing
+                // mirroring is handled by copying framebuffers
+                Iterator<Spatial> spatialIter = environment.getApplication().getViewPort().getScenes().iterator();
+                while (spatialIter.hasNext()) {
+                    environment.getApplication().getViewPort().detachScene(spatialIter.next());
+                }
+
+                spatialIter = environment.getApplication().getGuiViewPort().getScenes().iterator();
+                while (spatialIter.hasNext()) {
+                    environment.getApplication().getGuiViewPort().detachScene(spatialIter.next());
+                }
+
+                // only setup distortion scene if compositor isn't running (or using custom mesh distortion option)
+                if (environment.getApplication().getContext().getSettings().isSwapBuffers()) {
+                    setupMirrorBuffers(environment.getCamera(), leftEyeTexture, false);
+
+                }
+            } else {
+                throw new IllegalStateException("This VR environment is not attached to any application.");
+            }
+        } else {
+            throw new IllegalStateException("This VR view manager is not attached to any VR environment.");
+        }
+    }
+
+    @Override
+    public void update(float tpf) {
+
+        if (environment != null) {
+
+            if (environment.hasTraditionalGUIOverlay()) {
+                // update the mouse?
+                environment.getVRMouseManager().update(tpf);
+
+                // update GUI position?
+                if (environment.getVRGUIManager().isWantsReposition() || environment.getVRGUIManager().getPositioningMode() != VRGUIPositioningMode.MANUAL) {
+                    environment.getVRGUIManager().positionGuiNow(tpf);
+                    environment.getVRGUIManager().updateGuiQuadGeometricState();
+                }
+            }
+        } else {
+            throw new IllegalStateException("This VR view manager is not attached to any VR environment.");
+        }
+    }
+
+    /**
+     * Place the camera within the scene.
+     *
+     * @param eyePos the eye position.
+     * @param obsPosition the observer position.
+     * @param cam the camera to place.
+     */
+    private void finalizeCamera(Vector3f eyePos, Vector3f obsPosition, Camera cam) {
+        finalRotation.mult(eyePos, finalPosition);
+        finalPosition.addLocal(hmdPos);
+        if (obsPosition != null) {
+            finalPosition.addLocal(obsPosition);
+        }
+        finalPosition.y += getHeightAdjustment();
+        cam.setFrame(finalPosition, finalRotation);
+    }
+
+    private void setupCamerasAndViews() {
+
+        if (environment != null) {
+            // get desired frustum from original camera
+            Camera origCam = environment.getCamera();
+            float fFar = origCam.getFrustumFar();
+            float fNear = origCam.getFrustumNear();
+
+            // restore frustum on distortion scene cam, if needed
+            if (environment.isInstanceRendering()) {
+                leftCamera = origCam;
+            } else if (environment.compositorAllowed() == false) {
+                origCam.setFrustumFar(100f);
+                origCam.setFrustumNear(1f);
+                leftCamera = origCam.clone();
+                prepareCameraSize(origCam, 2f);
+            } else {
+                leftCamera = origCam.clone();
+            }
+
+            getLeftCamera().setFrustumPerspective(environment.getDefaultFOV(), environment.getDefaultAspect(), fNear, fFar);
+
+            prepareCameraSize(getLeftCamera(), 1f);
+            if (environment.getVRHardware() != null) {
+                getLeftCamera().setProjectionMatrix(environment.getVRHardware().getHMDMatrixProjectionLeftEye(getLeftCamera()));
+            }
+            //org.lwjgl.opengl.GL11.glEnable(org.lwjgl.opengl.GL30.GL_FRAMEBUFFER_SRGB);
+
+            if (!environment.isInstanceRendering()) {
+                leftViewPort = setupViewBuffers(getLeftCamera(), LEFT_VIEW_NAME);
+                rightCamera = getLeftCamera().clone();
+                if (environment.getVRHardware() != null) {
+                    getRightCamera().setProjectionMatrix(environment.getVRHardware().getHMDMatrixProjectionRightEye(getRightCamera()));
+                }
+                rightViewPort = setupViewBuffers(getRightCamera(), RIGHT_VIEW_NAME);
+            } else {
+
+                if (environment.getApplication() != null) {
+
+                    logger.severe("THIS CODE NEED CHANGES !!!");
+                    leftViewPort = environment.getApplication().getViewPort();
+                    //leftViewport.attachScene(app.getRootNode());
+                    rightCamera = getLeftCamera().clone();
+                    if (environment.getVRHardware() != null) {
+                        getRightCamera().setProjectionMatrix(environment.getVRHardware().getHMDMatrixProjectionRightEye(getRightCamera()));
+                    }
+
+                    org.lwjgl.opengl.GL11.glEnable(org.lwjgl.opengl.GL30.GL_CLIP_DISTANCE0);
+
+                    //FIXME: [jme-vr] Fix with JMonkey next release
+                    //RenderManager._VRInstancing_RightCamProjection = camRight.getViewProjectionMatrix();
+                    setupFinalFullTexture(environment.getApplication().getViewPort().getCamera());
+                } else {
+                    throw new IllegalStateException("This VR environment is not attached to any application.");
+                }
+
+            }
+
+            // setup gui
+            environment.getVRGUIManager().setupGui(getLeftCamera(), getRightCamera(), getLeftViewPort(), getRightViewPort());
+
+            if (environment.getVRHardware() != null) {
+                // call these to cache the results internally
+                environment.getVRHardware().getHMDMatrixPoseLeftEye();
+                environment.getVRHardware().getHMDMatrixPoseRightEye();
+            }
+        } else {
+            throw new IllegalStateException("This VR view manager is not attached to any VR environment.");
+        }
+    }
+
+    private ViewPort setupMirrorBuffers(Camera cam, Texture2D tex, boolean expand) {
+
+        if (environment != null) {
+            if (environment.getApplication() != null) {
+                Camera clonecam = cam.clone();
+                ViewPort viewPort = environment.getApplication().getRenderManager().createPostView("MirrorView", clonecam);
+                clonecam.setParallelProjection(true);
+                viewPort.setClearFlags(true, true, true);
+                viewPort.setBackgroundColor(ColorRGBA.Black);
+                Picture pic = new Picture("fullscene");
+                pic.setLocalTranslation(-0.75f, -0.5f, 0f);
+                if (expand) {
+                    pic.setLocalScale(3f, 1f, 1f);
+                } else {
+                    pic.setLocalScale(1.5f, 1f, 1f);
+                }
+                pic.setQueueBucket(Bucket.Opaque);
+                pic.setTexture(environment.getApplication().getAssetManager(), (Texture2D) tex, false);
+                viewPort.attachScene(pic);
+                viewPort.setOutputFrameBuffer(null);
+
+                pic.updateGeometricState();
+
+                return viewPort;
+            } else {
+                throw new IllegalStateException("This VR environment is not attached to any application.");
+            }
+        } else {
+            throw new IllegalStateException("This VR view manager is not attached to any VR environment.");
+        }
+    }
+
+    private void setupFinalFullTexture(Camera cam) {
+
+        if (environment != null) {
+            if (environment.getApplication() != null) {
+                // create offscreen framebuffer
+                FrameBuffer out = new FrameBuffer(cam.getWidth(), cam.getHeight(), 1);
+                //offBuffer.setSrgb(true);
+
+                //setup framebuffer's texture
+                dualEyeTex = new Texture2D(cam.getWidth(), cam.getHeight(), Image.Format.RGBA8);
+                dualEyeTex.setMinFilter(Texture2D.MinFilter.BilinearNoMipMaps);
+                dualEyeTex.setMagFilter(Texture2D.MagFilter.Bilinear);
+
+                logger.config("Dual eye texture " + dualEyeTex.getName() + " (" + dualEyeTex.getImage().getId() + ")");
+                logger.config("               Type: " + dualEyeTex.getType());
+                logger.config("               Size: " + dualEyeTex.getImage().getWidth() + "x" + dualEyeTex.getImage().getHeight());
+                logger.config("        Image depth: " + dualEyeTex.getImage().getDepth());
+                logger.config("       Image format: " + dualEyeTex.getImage().getFormat());
+                logger.config("  Image color space: " + dualEyeTex.getImage().getColorSpace());
+
+                //setup framebuffer to use texture
+                out.setDepthBuffer(Image.Format.Depth);
+                out.setColorTexture(dualEyeTex);
+
+                ViewPort viewPort = environment.getApplication().getViewPort();
+                viewPort.setClearFlags(true, true, true);
+                viewPort.setBackgroundColor(ColorRGBA.Black);
+                viewPort.setOutputFrameBuffer(out);
+            } else {
+                throw new IllegalStateException("This VR environment is not attached to any application.");
+            }
+        } else {
+            throw new IllegalStateException("This VR view manager is not attached to any VR environment.");
+        }
+    }
+
+    private ViewPort setupViewBuffers(Camera cam, String viewName) {
+
+        if (environment != null) {
+            if (environment.getApplication() != null) {
+                // create offscreen framebuffer
+                FrameBuffer offBufferLeft = new FrameBuffer(cam.getWidth(), cam.getHeight(), 1);
+                //offBufferLeft.setSrgb(true);
+
+                //setup framebuffer's texture
+                Texture2D offTex = new Texture2D(cam.getWidth(), cam.getHeight(), Image.Format.RGBA8);
+                offTex.setMinFilter(Texture2D.MinFilter.BilinearNoMipMaps);
+                offTex.setMagFilter(Texture2D.MagFilter.Bilinear);
+
+                //setup framebuffer to use texture
+                offBufferLeft.setDepthBuffer(Image.Format.Depth);
+                offBufferLeft.setColorTexture(offTex);
+
+                ViewPort viewPort = environment.getApplication().getRenderManager().createPreView(viewName, cam);
+                viewPort.setClearFlags(true, true, true);
+                viewPort.setBackgroundColor(ColorRGBA.Black);
+
+                Iterator<Spatial> spatialIter = environment.getApplication().getViewPort().getScenes().iterator();
+                while (spatialIter.hasNext()) {
+                    viewPort.attachScene(spatialIter.next());
+                }
+
+                //set viewport to render to offscreen framebuffer
+                viewPort.setOutputFrameBuffer(offBufferLeft);
+                return viewPort;
+            } else {
+                throw new IllegalStateException("This VR environment is not attached to any application.");
+            }
+        } else {
+            throw new IllegalStateException("This VR view manager is not attached to any VR environment.");
+        }
+    }
+
+}

+ 3 - 5
jme3-vr/src/main/java/com/jme3/input/vr/oculus/OculusViewManager.java

@@ -38,16 +38,16 @@ import com.jme3.math.*;
 import com.jme3.renderer.Camera;
 import com.jme3.renderer.ViewPort;
 import com.jme3.scene.Spatial;
-import com.jme3.texture.*;
 import com.jme3.util.BufferUtils;
 import com.jme3.util.VRGUIPositioningMode;
 
 import java.nio.IntBuffer;
 import java.util.Iterator;
 import java.util.Objects;
-import java.util.logging.Logger;
 
-import org.lwjgl.ovr.*;
+import org.lwjgl.ovr.OVRFovPort;
+import org.lwjgl.ovr.OVRPosef;
+import org.lwjgl.ovr.OVRUtil;
 
 import static org.lwjgl.ovr.OVR.*;
 import static org.lwjgl.ovr.OVRErrorCode.*;
@@ -59,8 +59,6 @@ import static org.lwjgl.ovr.OVRErrorCode.*;
  */
 public class OculusViewManager extends AbstractVRViewManager {
 
-    private static final Logger LOG = Logger.getLogger(OculusViewManager.class.getName());
-
     private final VREnvironment environment;
     private final OculusVR hardware;
 

+ 35 - 6
jme3-vr/src/main/java/com/jme3/input/vr/openvr/OpenVR.java

@@ -87,6 +87,35 @@ public class OpenVR implements VRAPI {
     
     private VREnvironment environment = null;
     
+    /**
+     * Convert specific OpenVR {@link com.jme3.system.jopenvr.HmdMatrix34_t HmdMatrix34_t} into JME {@link Matrix4f Matrix4f}
+     * @param hmdMatrix the input matrix
+     * @param mat the converted matrix
+     * @return the converted matrix
+     */
+    public static Matrix4f convertSteamVRMatrix3ToMatrix4f(com.jme3.system.jopenvr.HmdMatrix34_t hmdMatrix, Matrix4f mat){
+        mat.set(hmdMatrix.m[0], hmdMatrix.m[1], hmdMatrix.m[2], hmdMatrix.m[3], 
+                hmdMatrix.m[4], hmdMatrix.m[5], hmdMatrix.m[6], hmdMatrix.m[7], 
+                hmdMatrix.m[8], hmdMatrix.m[9], hmdMatrix.m[10], hmdMatrix.m[11], 
+                0f, 0f, 0f, 1f);
+        return mat;
+    }
+    
+    /**
+     * Convert specific OpenVR {@link com.jme3.system.jopenvr.HmdMatrix44_t HmdMatrix34_t} into JME {@link Matrix4f Matrix4f}
+     * @param hmdMatrix the input matrix
+     * @param mat the converted matrix
+     * @return the converted matrix
+     */
+    public static Matrix4f convertSteamVRMatrix4ToMatrix4f(com.jme3.system.jopenvr.HmdMatrix44_t hmdMatrix, Matrix4f mat){
+        mat.set(hmdMatrix.m[0], hmdMatrix.m[1], hmdMatrix.m[2], hmdMatrix.m[3], 
+                hmdMatrix.m[4], hmdMatrix.m[5], hmdMatrix.m[6], hmdMatrix.m[7],
+                hmdMatrix.m[8], hmdMatrix.m[9], hmdMatrix.m[10], hmdMatrix.m[11], 
+                hmdMatrix.m[12], hmdMatrix.m[13], hmdMatrix.m[14], hmdMatrix.m[15]);
+        return mat;
+    }
+    
+    
     /**
      * Create a new <a href="https://github.com/ValveSoftware/openvr/wiki/API-Documentation">OpenVR</a> system 
      * attached to the given {@link VREnvironment VR environment}.
@@ -418,7 +447,7 @@ public class OpenVR implements VRAPI {
             hmdTrackedDevicePoses[nDevice].readField("bPoseIsValid");
             if( hmdTrackedDevicePoses[nDevice].bPoseIsValid != 0 ){
                 hmdTrackedDevicePoses[nDevice].readField("mDeviceToAbsoluteTracking");
-                VRUtil.convertSteamVRMatrix3ToMatrix4f(hmdTrackedDevicePoses[nDevice].mDeviceToAbsoluteTracking, poseMatrices[nDevice]);
+                convertSteamVRMatrix3ToMatrix4f(hmdTrackedDevicePoses[nDevice].mDeviceToAbsoluteTracking, poseMatrices[nDevice]);
             }            
         }
         
@@ -438,7 +467,7 @@ public class OpenVR implements VRAPI {
         } else {
             HmdMatrix44_t mat = vrsystemFunctions.GetProjectionMatrix.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Left, cam.getFrustumNear(), cam.getFrustumFar());
             hmdProjectionLeftEye = new Matrix4f();
-            VRUtil.convertSteamVRMatrix4ToMatrix4f(mat, hmdProjectionLeftEye);
+            convertSteamVRMatrix4ToMatrix4f(mat, hmdProjectionLeftEye);
             return hmdProjectionLeftEye;
         }
     }
@@ -452,7 +481,7 @@ public class OpenVR implements VRAPI {
         } else {
             HmdMatrix44_t mat = vrsystemFunctions.GetProjectionMatrix.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Right, cam.getFrustumNear(), cam.getFrustumFar());
             hmdProjectionRightEye = new Matrix4f();
-            VRUtil.convertSteamVRMatrix4ToMatrix4f(mat, hmdProjectionRightEye);
+            convertSteamVRMatrix4ToMatrix4f(mat, hmdProjectionRightEye);
             return hmdProjectionRightEye;
         }
     }
@@ -490,7 +519,7 @@ public class OpenVR implements VRAPI {
             hmdSeatToStand = new Vector3f();
             HmdMatrix34_t mat = vrsystemFunctions.GetSeatedZeroPoseToStandingAbsoluteTrackingPose.apply();
             Matrix4f tempmat = new Matrix4f();
-            VRUtil.convertSteamVRMatrix3ToMatrix4f(mat, tempmat);
+            convertSteamVRMatrix3ToMatrix4f(mat, tempmat);
             tempmat.toTranslationVector(hmdSeatToStand);
         }
         return hmdSeatToStand;
@@ -505,7 +534,7 @@ public class OpenVR implements VRAPI {
         } else {
             HmdMatrix34_t mat = vrsystemFunctions.GetEyeToHeadTransform.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Left);
             hmdPoseLeftEye = new Matrix4f();
-            return VRUtil.convertSteamVRMatrix3ToMatrix4f(mat, hmdPoseLeftEye);
+            return convertSteamVRMatrix3ToMatrix4f(mat, hmdPoseLeftEye);
         }
     }
     
@@ -559,7 +588,7 @@ public class OpenVR implements VRAPI {
         } else {
             HmdMatrix34_t mat = vrsystemFunctions.GetEyeToHeadTransform.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Right);
             hmdPoseRightEye = new Matrix4f();
-            return VRUtil.convertSteamVRMatrix3ToMatrix4f(mat, hmdPoseRightEye);
+            return convertSteamVRMatrix3ToMatrix4f(mat, hmdPoseRightEye);
         }
     }
   

+ 1 - 1
jme3-vr/src/main/java/com/jme3/input/vr/openvr/OpenVRInput.java

@@ -322,7 +322,7 @@ public class OpenVRInput implements VRInputAPI {
     public boolean isInputFocused() {
     	
     	if (environment != null){
-    		return ((VR_IVRSystem_FnTable)environment.getVRHardware().getVRSystem()).IsInputFocusCapturedByAnotherProcess.apply() == 0;
+    		return ((VR_IVRSystem_FnTable)environment.getVRHardware().getVRSystem()).IsInputAvailable.apply() == 0;
     	} else {
     		throw new IllegalStateException("VR input is not attached to a VR environment.");
     	}      

+ 1 - 1
jme3-vr/src/main/java/com/jme3/input/vr/openvr/OpenVRTrackedController.java

@@ -7,7 +7,7 @@ import com.jme3.math.Quaternion;
 import com.jme3.math.Vector3f;
 
 /**
- * 
+ * A controller that is tracked within the VR environment. Such a controller can provide its position within the VR space.
  * @author Julien Seinturier - COMEX SA - <a href="http://www.seinturier.fr">http://www.seinturier.fr</a>
  *
  */

+ 0 - 210
jme3-vr/src/main/java/com/jme3/post/OpenVRFilter.java

@@ -1,210 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-package com.jme3.post;
-
-import com.jme3.app.VRApplication;
-import com.jme3.asset.AssetManager;
-import com.jme3.material.Material;
-import com.jme3.post.Filter;
-import com.jme3.renderer.RenderManager;
-import com.jme3.renderer.Renderer;
-import com.jme3.renderer.ViewPort;
-import com.jme3.scene.Mesh;
-import com.jme3.scene.VertexBuffer;
-import com.jme3.system.jopenvr.DistortionCoordinates_t;
-import com.jme3.system.jopenvr.JOpenVRLibrary;
-import com.jme3.system.jopenvr.VR_IVRSystem_FnTable;
-import com.jme3.texture.FrameBuffer;
-
-/**
- * DO NOT USE
- * @author phr00t
- * @deprecated DO NOT USE
- */
-@Deprecated
-public class OpenVRFilter extends Filter {
-
-    private Mesh distortionMesh;
-    
-    private VRApplication application = null;
-    
-    /**
-     * DO NOT USE
-     * @param application the VR application.
-     */
-    public OpenVRFilter(VRApplication application) {
-        this.application = application;
-    }
-    
-    /**
-     * DO NOT USE
-     * @return the distortion mesh.
-     */
-    public Mesh getDistortionMesh() {
-        return distortionMesh;
-    }
-
-    @Override
-    protected void initFilter(AssetManager manager, RenderManager renderManager, ViewPort vp, int w, int h) {
-        material = new Material(manager, "Common/MatDefs/VR/OpenVR.j3md");
-        configureDistortionMesh();
-    }
-
-    @Override
-    protected Material getMaterial() {
-        return material;
-
-    }
-    
-    @Override
-    protected void preFrame(float tpf) {
-        super.preFrame(tpf);
-    }
-
-    @Override
-    protected void postFrame(RenderManager renderManager, ViewPort viewPort, FrameBuffer prevFilterBuffer, FrameBuffer sceneBuffer) {
-        super.postFrame(renderManager, viewPort, prevFilterBuffer, sceneBuffer);
-    }
-
-    @Override
-    protected void postFilter(Renderer r, FrameBuffer buffer) {
-        super.postFilter(r, buffer);
-    }
-    
-    /*
-        function converted from:
-        https://github.com/ValveSoftware/openvr/blob/master/samples/hellovr_opengl/hellovr_opengl_main.cpp#L1335
-    */
-    private void configureDistortionMesh() {        
-        float m_iLensGridSegmentCountH = 43, m_iLensGridSegmentCountV = 43;
-
-	float w = 1f / m_iLensGridSegmentCountH - 1f;
-	float h = 1f / m_iLensGridSegmentCountV - 1f;
-
-	float u, v;
-
-        distortionMesh = new Mesh();
-        float verts[] = new float[(int)(m_iLensGridSegmentCountV * m_iLensGridSegmentCountH) * 3];
-        
-        float texcoordR[] = new float[(int)(m_iLensGridSegmentCountV * m_iLensGridSegmentCountH) * 2];
-        float texcoordG[] = new float[(int)(m_iLensGridSegmentCountV * m_iLensGridSegmentCountH) * 2];
-        float texcoordB[] = new float[(int)(m_iLensGridSegmentCountV * m_iLensGridSegmentCountH) * 2];        
-        
-        int vertPos = 0, coordPos = 0;
-
-	//left eye distortion verts
-	float Xoffset = -1f;
-	for( int y=0; y<m_iLensGridSegmentCountV; y++ )
-	{
-		for( int x=0; x<m_iLensGridSegmentCountH; x++ )
-		{
-			u = x*w; v = 1-y*h;
-			verts[vertPos] = Xoffset+u; // x
-                        verts[vertPos+1] = -1+2*y*h; // y
-                        verts[vertPos+2] = 0f; // z
-                        vertPos += 3;
-
-			DistortionCoordinates_t dc0 = new DistortionCoordinates_t();
-		    ((VR_IVRSystem_FnTable)application.getVRHardware().getVRSystem()).ComputeDistortion.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Left, u, v, dc0);
-
-			texcoordR[coordPos]   = dc0.rfRed[0];
-                        texcoordR[coordPos+1] = 1 - dc0.rfRed[1];
-			texcoordG[coordPos]   = dc0.rfGreen[0];
-                        texcoordG[coordPos+1] = 1 - dc0.rfGreen[1];
-			texcoordB[coordPos]   = dc0.rfBlue[0];
-                        texcoordB[coordPos+1] = 1 - dc0.rfBlue[1];                        
-                        coordPos+=2;                        
-		}
-	}
-
-	//right eye distortion verts
-	Xoffset = 0;
-	for( int y=0; y<m_iLensGridSegmentCountV; y++ )
-	{
-		for( int x=0; x<m_iLensGridSegmentCountH; x++ )
-		{
-			u = x*w; v = 1-y*h;
-			verts[vertPos] = Xoffset+u; // x
-                        verts[vertPos+1] = -1+2*y*h; // y
-                        verts[vertPos+2] = 0f; // z
-                        vertPos += 3;
-
-            DistortionCoordinates_t dc0 = new DistortionCoordinates_t();
-			((VR_IVRSystem_FnTable)application.getVRHardware().getVRSystem()).ComputeDistortion.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Right, u, v, dc0);
-
-			texcoordR[coordPos]   = dc0.rfRed[0];
-                        texcoordR[coordPos+1] = 1 - dc0.rfRed[1];
-			texcoordG[coordPos]   = dc0.rfGreen[0];
-                        texcoordG[coordPos+1] = 1 - dc0.rfGreen[1];
-			texcoordB[coordPos]   = dc0.rfBlue[0];
-                        texcoordB[coordPos+1] = 1 - dc0.rfBlue[1];                        
-                        coordPos+=2;                        
-		}
-	}
-        
-        // have UV coordinates & positions, now to setup indices
-        
-	//std::vector<GLushort> vIndices;
-        int[] indices = new int[(int)((m_iLensGridSegmentCountV - 1) * (m_iLensGridSegmentCountH - 1)) * 6];
-        int indexPos = 0;
-	int a,b,c,d;
-
-	int offset = 0;
-	for( int y=0; y<m_iLensGridSegmentCountV-1; y++ )
-	{
-		for( int x=0; x<m_iLensGridSegmentCountH-1; x++ )
-		{
-			a = (int)(m_iLensGridSegmentCountH*y+x +offset);
-			b = (int)(m_iLensGridSegmentCountH*y+x+1 +offset);
-			c = (int)((y+1)*m_iLensGridSegmentCountH+x+1 +offset);
-			d = (int)((y+1)*m_iLensGridSegmentCountH+x +offset);
-                        
-                        indices[indexPos] = a;
-                        indices[indexPos+1] = b;
-                        indices[indexPos+2] = c;
-                        
-                        indices[indexPos+3] = a;
-                        indices[indexPos+4] = c;
-                        indices[indexPos+5] = d;
-                        
-                        indexPos += 6;
-		}
-	}
-
-	offset = (int)(m_iLensGridSegmentCountH * m_iLensGridSegmentCountV);
-	for( int y=0; y<m_iLensGridSegmentCountV-1; y++ )
-	{
-		for( int x=0; x<m_iLensGridSegmentCountH-1; x++ )
-		{
-			a = (int)(m_iLensGridSegmentCountH*y+x +offset);
-			b = (int)(m_iLensGridSegmentCountH*y+x+1 +offset);
-			c = (int)((y+1)*m_iLensGridSegmentCountH+x+1 +offset);
-			d = (int)((y+1)*m_iLensGridSegmentCountH+x +offset);
-                        
-                        indices[indexPos] = a;
-                        indices[indexPos+1] = b;
-                        indices[indexPos+2] = c;
-                        
-                        indices[indexPos+3] = a;
-                        indices[indexPos+4] = c;
-                        indices[indexPos+5] = d;
-                        
-                        indexPos += 6;
-		}
-	}        
-        
-        // OK, create the mesh        
-        distortionMesh.setBuffer(VertexBuffer.Type.Position,  3, verts);
-        distortionMesh.setBuffer(VertexBuffer.Type.Index,     1, indices);
-        distortionMesh.setBuffer(VertexBuffer.Type.TexCoord,  2, texcoordR);
-        
-        // TODO: are TexCoord2 & TexCoord3 even implemented in jME3?
-        distortionMesh.setBuffer(VertexBuffer.Type.TexCoord2, 2, texcoordG);
-        distortionMesh.setBuffer(VertexBuffer.Type.TexCoord3, 2, texcoordB);
-        
-        // TODO: make sure this distortion mesh is used instead of the fullscreen quad
-        // when filter gets rendered.. might require changes to jME3 core..?
-    }    
-}

+ 0 - 2
jme3-vr/src/main/java/com/jme3/shadow/DirectionalLightShadowRendererVR.java

@@ -47,8 +47,6 @@ import com.jme3.renderer.queue.GeometryList;
 import com.jme3.renderer.queue.RenderQueue;
 import com.jme3.scene.Node;
 import com.jme3.scene.Spatial;
-import com.jme3.shadow.PssmShadowUtil;
-import com.jme3.shadow.ShadowUtil;
 
 import java.io.IOException;
 

+ 39 - 39
jme3-vr/src/main/java/com/jme3/system/jopenvr/AppOverrideKeys_t.java

@@ -4,46 +4,46 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1160</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class AppOverrideKeys_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1485</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class AppOverrideKeys_t extends Structure {
 	/**
-	 * const char *<br>
-	 * C type : char*
-	 */
-	public Pointer pchKey;
+	 * const char *<br>
+	 * C type : char*
+	 */
+	public Pointer pchKey;
 	/**
-	 * const char *<br>
-	 * C type : char*
-	 */
-	public Pointer pchValue;
-	public AppOverrideKeys_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("pchKey", "pchValue");
-	}
+	 * const char *<br>
+	 * C type : char*
+	 */
+	public Pointer pchValue;
+	public AppOverrideKeys_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("pchKey", "pchValue");
+	}
 	/**
-	 * @param pchKey const char *<br>
-	 * C type : char*<br>
-	 * @param pchValue const char *<br>
-	 * C type : char*
-	 */
-	public AppOverrideKeys_t(Pointer pchKey, Pointer pchValue) {
-		super();
-		this.pchKey = pchKey;
-		this.pchValue = pchValue;
-	}
-	public AppOverrideKeys_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends AppOverrideKeys_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends AppOverrideKeys_t implements Structure.ByValue {
-		
-	};
+	 * @param pchKey const char *<br>
+	 * C type : char*<br>
+	 * @param pchValue const char *<br>
+	 * C type : char*
+	 */
+	public AppOverrideKeys_t(Pointer pchKey, Pointer pchValue) {
+		super();
+		this.pchKey = pchKey;
+		this.pchValue = pchValue;
+	}
+	public AppOverrideKeys_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends AppOverrideKeys_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends AppOverrideKeys_t implements Structure.ByValue {
+		
+	};
 }

+ 101 - 86
jme3-vr/src/main/java/com/jme3/system/jopenvr/COpenVRContext.java

@@ -5,90 +5,105 @@ import com.sun.jna.ptr.IntByReference;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1291</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class COpenVRContext extends Structure {
-	/**
-	 * class vr::IVRSystem *<br>
-	 * C type : intptr_t
-	 */
-	public IntByReference m_pVRSystem;
-	/**
-	 * class vr::IVRChaperone *<br>
-	 * C type : intptr_t
-	 */
-	public IntByReference m_pVRChaperone;
-	/**
-	 * class vr::IVRChaperoneSetup *<br>
-	 * C type : intptr_t
-	 */
-	public IntByReference m_pVRChaperoneSetup;
-	/**
-	 * class vr::IVRCompositor *<br>
-	 * C type : intptr_t
-	 */
-	public IntByReference m_pVRCompositor;
-	/**
-	 * class vr::IVROverlay *<br>
-	 * C type : intptr_t
-	 */
-	public IntByReference m_pVROverlay;
-	/**
-	 * class vr::IVRResources *<br>
-	 * C type : intptr_t
-	 */
-	public IntByReference m_pVRResources;
-	/**
-	 * class vr::IVRRenderModels *<br>
-	 * C type : intptr_t
-	 */
-	public IntByReference m_pVRRenderModels;
-	/**
-	 * class vr::IVRExtendedDisplay *<br>
-	 * C type : intptr_t
-	 */
-	public IntByReference m_pVRExtendedDisplay;
-	/**
-	 * class vr::IVRSettings *<br>
-	 * C type : intptr_t
-	 */
-	public IntByReference m_pVRSettings;
-	/**
-	 * class vr::IVRApplications *<br>
-	 * C type : intptr_t
-	 */
-	public IntByReference m_pVRApplications;
-	/**
-	 * class vr::IVRTrackedCamera *<br>
-	 * C type : intptr_t
-	 */
-	public IntByReference m_pVRTrackedCamera;
-	/**
-	 * class vr::IVRScreenshots *<br>
-	 * C type : intptr_t
-	 */
-	public IntByReference m_pVRScreenshots;
-	/**
-	 * class vr::IVRDriverManager *<br>
-	 * C type : intptr_t
-	 */
-	public IntByReference m_pVRDriverManager;
-	public COpenVRContext() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("m_pVRSystem", "m_pVRChaperone", "m_pVRChaperoneSetup", "m_pVRCompositor", "m_pVROverlay", "m_pVRResources", "m_pVRRenderModels", "m_pVRExtendedDisplay", "m_pVRSettings", "m_pVRApplications", "m_pVRTrackedCamera", "m_pVRScreenshots", "m_pVRDriverManager");
-	}
-	public COpenVRContext(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends COpenVRContext implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends COpenVRContext implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1670</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class COpenVRContext extends Structure {
+	/**
+	 * class vr::IVRSystem *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRSystem;
+	/**
+	 * class vr::IVRChaperone *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRChaperone;
+	/**
+	 * class vr::IVRChaperoneSetup *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRChaperoneSetup;
+	/**
+	 * class vr::IVRCompositor *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRCompositor;
+	/**
+	 * class vr::IVROverlay *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVROverlay;
+	/**
+	 * class vr::IVRResources *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRResources;
+	/**
+	 * class vr::IVRRenderModels *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRRenderModels;
+	/**
+	 * class vr::IVRExtendedDisplay *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRExtendedDisplay;
+	/**
+	 * class vr::IVRSettings *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRSettings;
+	/**
+	 * class vr::IVRApplications *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRApplications;
+	/**
+	 * class vr::IVRTrackedCamera *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRTrackedCamera;
+	/**
+	 * class vr::IVRScreenshots *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRScreenshots;
+	/**
+	 * class vr::IVRDriverManager *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRDriverManager;
+	/**
+	 * class vr::IVRInput *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRInput;
+	/**
+	 * class vr::IVRIOBuffer *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRIOBuffer;
+	/**
+	 * class vr::IVRSpatialAnchors *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pVRSpatialAnchors;
+	public COpenVRContext() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m_pVRSystem", "m_pVRChaperone", "m_pVRChaperoneSetup", "m_pVRCompositor", "m_pVROverlay", "m_pVRResources", "m_pVRRenderModels", "m_pVRExtendedDisplay", "m_pVRSettings", "m_pVRApplications", "m_pVRTrackedCamera", "m_pVRScreenshots", "m_pVRDriverManager", "m_pVRInput", "m_pVRIOBuffer", "m_pVRSpatialAnchors");
+	}
+	public COpenVRContext(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends COpenVRContext implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends COpenVRContext implements Structure.ByValue {
+		
+	};
 }

+ 42 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/CVRSettingHelper.java

@@ -0,0 +1,42 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import com.sun.jna.ptr.IntByReference;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1592</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class CVRSettingHelper extends Structure {
+	/**
+	 * class vr::IVRSettings *<br>
+	 * C type : intptr_t
+	 */
+	public IntByReference m_pSettings;
+	public CVRSettingHelper() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m_pSettings");
+	}
+	/**
+	 * @param m_pSettings class vr::IVRSettings *<br>
+	 * C type : intptr_t
+	 */
+	public CVRSettingHelper(IntByReference m_pSettings) {
+		super();
+		this.m_pSettings = m_pSettings;
+	}
+	public CVRSettingHelper(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends CVRSettingHelper implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends CVRSettingHelper implements Structure.ByValue {
+		
+	};
+}

+ 44 - 44
jme3-vr/src/main/java/com/jme3/system/jopenvr/CameraVideoStreamFrameHeader_t.java

@@ -4,50 +4,50 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1154</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class CameraVideoStreamFrameHeader_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1466</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class CameraVideoStreamFrameHeader_t extends Structure {
 	/**
-	 * @see EVRTrackedCameraFrameType<br>
-	 * C type : EVRTrackedCameraFrameType
-	 */
-	public int eFrameType;
-	public int nWidth;
-	public int nHeight;
-	public int nBytesPerPixel;
-	public int nFrameSequence;
-	/** C type : TrackedDevicePose_t */
-	public TrackedDevicePose_t standingTrackedDevicePose;
-	public CameraVideoStreamFrameHeader_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("eFrameType", "nWidth", "nHeight", "nBytesPerPixel", "nFrameSequence", "standingTrackedDevicePose");
-	}
+	 * @see EVRTrackedCameraFrameType<br>
+	 * C type : EVRTrackedCameraFrameType
+	 */
+	public int eFrameType;
+	public int nWidth;
+	public int nHeight;
+	public int nBytesPerPixel;
+	public int nFrameSequence;
+	/** C type : TrackedDevicePose_t */
+	public TrackedDevicePose_t standingTrackedDevicePose;
+	public CameraVideoStreamFrameHeader_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("eFrameType", "nWidth", "nHeight", "nBytesPerPixel", "nFrameSequence", "standingTrackedDevicePose");
+	}
 	/**
-	 * @param eFrameType @see EVRTrackedCameraFrameType<br>
-	 * C type : EVRTrackedCameraFrameType<br>
-	 * @param standingTrackedDevicePose C type : TrackedDevicePose_t
-	 */
-	public CameraVideoStreamFrameHeader_t(int eFrameType, int nWidth, int nHeight, int nBytesPerPixel, int nFrameSequence, TrackedDevicePose_t standingTrackedDevicePose) {
-		super();
-		this.eFrameType = eFrameType;
-		this.nWidth = nWidth;
-		this.nHeight = nHeight;
-		this.nBytesPerPixel = nBytesPerPixel;
-		this.nFrameSequence = nFrameSequence;
-		this.standingTrackedDevicePose = standingTrackedDevicePose;
-	}
-	public CameraVideoStreamFrameHeader_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends CameraVideoStreamFrameHeader_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends CameraVideoStreamFrameHeader_t implements Structure.ByValue {
-		
-	};
+	 * @param eFrameType @see EVRTrackedCameraFrameType<br>
+	 * C type : EVRTrackedCameraFrameType<br>
+	 * @param standingTrackedDevicePose C type : TrackedDevicePose_t
+	 */
+	public CameraVideoStreamFrameHeader_t(int eFrameType, int nWidth, int nHeight, int nBytesPerPixel, int nFrameSequence, TrackedDevicePose_t standingTrackedDevicePose) {
+		super();
+		this.eFrameType = eFrameType;
+		this.nWidth = nWidth;
+		this.nHeight = nHeight;
+		this.nBytesPerPixel = nBytesPerPixel;
+		this.nFrameSequence = nFrameSequence;
+		this.standingTrackedDevicePose = standingTrackedDevicePose;
+	}
+	public CameraVideoStreamFrameHeader_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends CameraVideoStreamFrameHeader_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends CameraVideoStreamFrameHeader_t implements Structure.ByValue {
+		
+	};
 }

+ 36 - 36
jme3-vr/src/main/java/com/jme3/system/jopenvr/Compositor_CumulativeStats.java

@@ -4,40 +4,40 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1203</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class Compositor_CumulativeStats extends Structure {
-	public int m_nPid;
-	public int m_nNumFramePresents;
-	public int m_nNumDroppedFrames;
-	public int m_nNumReprojectedFrames;
-	public int m_nNumFramePresentsOnStartup;
-	public int m_nNumDroppedFramesOnStartup;
-	public int m_nNumReprojectedFramesOnStartup;
-	public int m_nNumLoading;
-	public int m_nNumFramePresentsLoading;
-	public int m_nNumDroppedFramesLoading;
-	public int m_nNumReprojectedFramesLoading;
-	public int m_nNumTimedOut;
-	public int m_nNumFramePresentsTimedOut;
-	public int m_nNumDroppedFramesTimedOut;
-	public int m_nNumReprojectedFramesTimedOut;
-	public Compositor_CumulativeStats() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("m_nPid", "m_nNumFramePresents", "m_nNumDroppedFrames", "m_nNumReprojectedFrames", "m_nNumFramePresentsOnStartup", "m_nNumDroppedFramesOnStartup", "m_nNumReprojectedFramesOnStartup", "m_nNumLoading", "m_nNumFramePresentsLoading", "m_nNumDroppedFramesLoading", "m_nNumReprojectedFramesLoading", "m_nNumTimedOut", "m_nNumFramePresentsTimedOut", "m_nNumDroppedFramesTimedOut", "m_nNumReprojectedFramesTimedOut");
-	}
-	public Compositor_CumulativeStats(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends Compositor_CumulativeStats implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends Compositor_CumulativeStats implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1528</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class Compositor_CumulativeStats extends Structure {
+	public int m_nPid;
+	public int m_nNumFramePresents;
+	public int m_nNumDroppedFrames;
+	public int m_nNumReprojectedFrames;
+	public int m_nNumFramePresentsOnStartup;
+	public int m_nNumDroppedFramesOnStartup;
+	public int m_nNumReprojectedFramesOnStartup;
+	public int m_nNumLoading;
+	public int m_nNumFramePresentsLoading;
+	public int m_nNumDroppedFramesLoading;
+	public int m_nNumReprojectedFramesLoading;
+	public int m_nNumTimedOut;
+	public int m_nNumFramePresentsTimedOut;
+	public int m_nNumDroppedFramesTimedOut;
+	public int m_nNumReprojectedFramesTimedOut;
+	public Compositor_CumulativeStats() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m_nPid", "m_nNumFramePresents", "m_nNumDroppedFrames", "m_nNumReprojectedFrames", "m_nNumFramePresentsOnStartup", "m_nNumDroppedFramesOnStartup", "m_nNumReprojectedFramesOnStartup", "m_nNumLoading", "m_nNumFramePresentsLoading", "m_nNumDroppedFramesLoading", "m_nNumReprojectedFramesLoading", "m_nNumTimedOut", "m_nNumFramePresentsTimedOut", "m_nNumDroppedFramesTimedOut", "m_nNumReprojectedFramesTimedOut");
+	}
+	public Compositor_CumulativeStats(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends Compositor_CumulativeStats implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends Compositor_CumulativeStats implements Structure.ByValue {
+		
+	};
 }

+ 46 - 46
jme3-vr/src/main/java/com/jme3/system/jopenvr/Compositor_FrameTiming.java

@@ -4,50 +4,50 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1186</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class Compositor_FrameTiming extends Structure {
-	public int m_nSize;
-	public int m_nFrameIndex;
-	public int m_nNumFramePresents;
-	public int m_nNumMisPresented;
-	public int m_nNumDroppedFrames;
-	public int m_nReprojectionFlags;
-	public double m_flSystemTimeInSeconds;
-	public float m_flPreSubmitGpuMs;
-	public float m_flPostSubmitGpuMs;
-	public float m_flTotalRenderGpuMs;
-	public float m_flCompositorRenderGpuMs;
-	public float m_flCompositorRenderCpuMs;
-	public float m_flCompositorIdleCpuMs;
-	public float m_flClientFrameIntervalMs;
-	public float m_flPresentCallCpuMs;
-	public float m_flWaitForPresentCpuMs;
-	public float m_flSubmitFrameMs;
-	public float m_flWaitGetPosesCalledMs;
-	public float m_flNewPosesReadyMs;
-	public float m_flNewFrameReadyMs;
-	public float m_flCompositorUpdateStartMs;
-	public float m_flCompositorUpdateEndMs;
-	public float m_flCompositorRenderStartMs;
-	/** C type : TrackedDevicePose_t */
-	public TrackedDevicePose_t m_HmdPose;
-	public Compositor_FrameTiming() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("m_nSize", "m_nFrameIndex", "m_nNumFramePresents", "m_nNumMisPresented", "m_nNumDroppedFrames", "m_nReprojectionFlags", "m_flSystemTimeInSeconds", "m_flPreSubmitGpuMs", "m_flPostSubmitGpuMs", "m_flTotalRenderGpuMs", "m_flCompositorRenderGpuMs", "m_flCompositorRenderCpuMs", "m_flCompositorIdleCpuMs", "m_flClientFrameIntervalMs", "m_flPresentCallCpuMs", "m_flWaitForPresentCpuMs", "m_flSubmitFrameMs", "m_flWaitGetPosesCalledMs", "m_flNewPosesReadyMs", "m_flNewFrameReadyMs", "m_flCompositorUpdateStartMs", "m_flCompositorUpdateEndMs", "m_flCompositorRenderStartMs", "m_HmdPose");
-	}
-	public Compositor_FrameTiming(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends Compositor_FrameTiming implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends Compositor_FrameTiming implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1511</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class Compositor_FrameTiming extends Structure {
+	public int m_nSize;
+	public int m_nFrameIndex;
+	public int m_nNumFramePresents;
+	public int m_nNumMisPresented;
+	public int m_nNumDroppedFrames;
+	public int m_nReprojectionFlags;
+	public double m_flSystemTimeInSeconds;
+	public float m_flPreSubmitGpuMs;
+	public float m_flPostSubmitGpuMs;
+	public float m_flTotalRenderGpuMs;
+	public float m_flCompositorRenderGpuMs;
+	public float m_flCompositorRenderCpuMs;
+	public float m_flCompositorIdleCpuMs;
+	public float m_flClientFrameIntervalMs;
+	public float m_flPresentCallCpuMs;
+	public float m_flWaitForPresentCpuMs;
+	public float m_flSubmitFrameMs;
+	public float m_flWaitGetPosesCalledMs;
+	public float m_flNewPosesReadyMs;
+	public float m_flNewFrameReadyMs;
+	public float m_flCompositorUpdateStartMs;
+	public float m_flCompositorUpdateEndMs;
+	public float m_flCompositorRenderStartMs;
+	/** C type : TrackedDevicePose_t */
+	public TrackedDevicePose_t m_HmdPose;
+	public Compositor_FrameTiming() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m_nSize", "m_nFrameIndex", "m_nNumFramePresents", "m_nNumMisPresented", "m_nNumDroppedFrames", "m_nReprojectionFlags", "m_flSystemTimeInSeconds", "m_flPreSubmitGpuMs", "m_flPostSubmitGpuMs", "m_flTotalRenderGpuMs", "m_flCompositorRenderGpuMs", "m_flCompositorRenderCpuMs", "m_flCompositorIdleCpuMs", "m_flClientFrameIntervalMs", "m_flPresentCallCpuMs", "m_flWaitForPresentCpuMs", "m_flSubmitFrameMs", "m_flWaitGetPosesCalledMs", "m_flNewPosesReadyMs", "m_flNewFrameReadyMs", "m_flCompositorUpdateStartMs", "m_flCompositorUpdateEndMs", "m_flCompositorRenderStartMs", "m_HmdPose");
+	}
+	public Compositor_FrameTiming(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends Compositor_FrameTiming implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends Compositor_FrameTiming implements Structure.ByValue {
+		
+	};
 }

+ 36 - 36
jme3-vr/src/main/java/com/jme3/system/jopenvr/Compositor_OverlaySettings.java

@@ -4,40 +4,40 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1144</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class Compositor_OverlaySettings extends Structure {
-	public int size;
-	public byte curved;
-	public byte antialias;
-	public float scale;
-	public float distance;
-	public float alpha;
-	public float uOffset;
-	public float vOffset;
-	public float uScale;
-	public float vScale;
-	public float gridDivs;
-	public float gridWidth;
-	public float gridScale;
-	/** C type : HmdMatrix44_t */
-	public HmdMatrix44_t transform;
-	public Compositor_OverlaySettings() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("size", "curved", "antialias", "scale", "distance", "alpha", "uOffset", "vOffset", "uScale", "vScale", "gridDivs", "gridWidth", "gridScale", "transform");
-	}
-	public Compositor_OverlaySettings(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends Compositor_OverlaySettings implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends Compositor_OverlaySettings implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1452</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class Compositor_OverlaySettings extends Structure {
+	public int size;
+	public byte curved;
+	public byte antialias;
+	public float scale;
+	public float distance;
+	public float alpha;
+	public float uOffset;
+	public float vOffset;
+	public float uScale;
+	public float vScale;
+	public float gridDivs;
+	public float gridWidth;
+	public float gridScale;
+	/** C type : HmdMatrix44_t */
+	public HmdMatrix44_t transform;
+	public Compositor_OverlaySettings() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("size", "curved", "antialias", "scale", "distance", "alpha", "uOffset", "vOffset", "uScale", "vScale", "gridDivs", "gridWidth", "gridScale", "transform");
+	}
+	public Compositor_OverlaySettings(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends Compositor_OverlaySettings implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends Compositor_OverlaySettings implements Structure.ByValue {
+		
+	};
 }

+ 41 - 41
jme3-vr/src/main/java/com/jme3/system/jopenvr/D3D12TextureData_t.java

@@ -6,48 +6,48 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1030</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class D3D12TextureData_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1301</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class D3D12TextureData_t extends Structure {
 	/**
-	 * struct ID3D12Resource *<br>
-	 * C type : ID3D12Resource*
-	 */
-	public ID3D12Resource m_pResource;
+	 * struct ID3D12Resource *<br>
+	 * C type : ID3D12Resource*
+	 */
+	public ID3D12Resource m_pResource;
 	/**
-	 * struct ID3D12CommandQueue *<br>
-	 * C type : ID3D12CommandQueue*
-	 */
-	public ID3D12CommandQueue m_pCommandQueue;
-	public int m_nNodeMask;
-	public D3D12TextureData_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("m_pResource", "m_pCommandQueue", "m_nNodeMask");
-	}
+	 * struct ID3D12CommandQueue *<br>
+	 * C type : ID3D12CommandQueue*
+	 */
+	public ID3D12CommandQueue m_pCommandQueue;
+	public int m_nNodeMask;
+	public D3D12TextureData_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m_pResource", "m_pCommandQueue", "m_nNodeMask");
+	}
 	/**
-	 * @param m_pResource struct ID3D12Resource *<br>
-	 * C type : ID3D12Resource*<br>
-	 * @param m_pCommandQueue struct ID3D12CommandQueue *<br>
-	 * C type : ID3D12CommandQueue*
-	 */
-	public D3D12TextureData_t(ID3D12Resource m_pResource, ID3D12CommandQueue m_pCommandQueue, int m_nNodeMask) {
-		super();
-		this.m_pResource = m_pResource;
-		this.m_pCommandQueue = m_pCommandQueue;
-		this.m_nNodeMask = m_nNodeMask;
-	}
-	public D3D12TextureData_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends D3D12TextureData_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends D3D12TextureData_t implements Structure.ByValue {
-		
-	};
+	 * @param m_pResource struct ID3D12Resource *<br>
+	 * C type : ID3D12Resource*<br>
+	 * @param m_pCommandQueue struct ID3D12CommandQueue *<br>
+	 * C type : ID3D12CommandQueue*
+	 */
+	public D3D12TextureData_t(ID3D12Resource m_pResource, ID3D12CommandQueue m_pCommandQueue, int m_nNodeMask) {
+		super();
+		this.m_pResource = m_pResource;
+		this.m_pCommandQueue = m_pCommandQueue;
+		this.m_nNodeMask = m_nNodeMask;
+	}
+	public D3D12TextureData_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends D3D12TextureData_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends D3D12TextureData_t implements Structure.ByValue {
+		
+	};
 }

+ 52 - 52
jme3-vr/src/main/java/com/jme3/system/jopenvr/DistortionCoordinates_t.java

@@ -4,60 +4,60 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:981</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class DistortionCoordinates_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1237</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class DistortionCoordinates_t extends Structure {
 	/**
-	 * float[2]<br>
-	 * C type : float[2]
-	 */
-	public float[] rfRed = new float[2];
+	 * float[2]<br>
+	 * C type : float[2]
+	 */
+	public float[] rfRed = new float[2];
 	/**
-	 * float[2]<br>
-	 * C type : float[2]
-	 */
-	public float[] rfGreen = new float[2];
+	 * float[2]<br>
+	 * C type : float[2]
+	 */
+	public float[] rfGreen = new float[2];
 	/**
-	 * float[2]<br>
-	 * C type : float[2]
-	 */
-	public float[] rfBlue = new float[2];
-	public DistortionCoordinates_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("rfRed", "rfGreen", "rfBlue");
-	}
+	 * float[2]<br>
+	 * C type : float[2]
+	 */
+	public float[] rfBlue = new float[2];
+	public DistortionCoordinates_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("rfRed", "rfGreen", "rfBlue");
+	}
 	/**
-	 * @param rfRed float[2]<br>
-	 * C type : float[2]<br>
-	 * @param rfGreen float[2]<br>
-	 * C type : float[2]<br>
-	 * @param rfBlue float[2]<br>
-	 * C type : float[2]
-	 */
-	public DistortionCoordinates_t(float rfRed[], float rfGreen[], float rfBlue[]) {
-		super();
-		if ((rfRed.length != this.rfRed.length)) 
-			throw new IllegalArgumentException("Wrong array size !");
-		this.rfRed = rfRed;
-		if ((rfGreen.length != this.rfGreen.length)) 
-			throw new IllegalArgumentException("Wrong array size !");
-		this.rfGreen = rfGreen;
-		if ((rfBlue.length != this.rfBlue.length)) 
-			throw new IllegalArgumentException("Wrong array size !");
-		this.rfBlue = rfBlue;
-	}
-	public DistortionCoordinates_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends DistortionCoordinates_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends DistortionCoordinates_t implements Structure.ByValue {
-		
-	};
+	 * @param rfRed float[2]<br>
+	 * C type : float[2]<br>
+	 * @param rfGreen float[2]<br>
+	 * C type : float[2]<br>
+	 * @param rfBlue float[2]<br>
+	 * C type : float[2]
+	 */
+	public DistortionCoordinates_t(float rfRed[], float rfGreen[], float rfBlue[]) {
+		super();
+		if ((rfRed.length != this.rfRed.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.rfRed = rfRed;
+		if ((rfGreen.length != this.rfGreen.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.rfGreen = rfGreen;
+		if ((rfBlue.length != this.rfBlue.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.rfBlue = rfBlue;
+	}
+	public DistortionCoordinates_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends DistortionCoordinates_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends DistortionCoordinates_t implements Structure.ByValue {
+		
+	};
 }

+ 41 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/DriverDirectMode_FrameTiming.java

@@ -0,0 +1,41 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1473</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class DriverDirectMode_FrameTiming extends Structure {
+	public int m_nSize;
+	public int m_nNumFramePresents;
+	public int m_nNumMisPresented;
+	public int m_nNumDroppedFrames;
+	public int m_nReprojectionFlags;
+	public DriverDirectMode_FrameTiming() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m_nSize", "m_nNumFramePresents", "m_nNumMisPresented", "m_nNumDroppedFrames", "m_nReprojectionFlags");
+	}
+	public DriverDirectMode_FrameTiming(int m_nSize, int m_nNumFramePresents, int m_nNumMisPresented, int m_nNumDroppedFrames, int m_nReprojectionFlags) {
+		super();
+		this.m_nSize = m_nSize;
+		this.m_nNumFramePresents = m_nNumFramePresents;
+		this.m_nNumMisPresented = m_nNumMisPresented;
+		this.m_nNumDroppedFrames = m_nNumDroppedFrames;
+		this.m_nReprojectionFlags = m_nReprojectionFlags;
+	}
+	public DriverDirectMode_FrameTiming(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends DriverDirectMode_FrameTiming implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends DriverDirectMode_FrameTiming implements Structure.ByValue {
+		
+	};
+}

+ 34 - 34
jme3-vr/src/main/java/com/jme3/system/jopenvr/HiddenAreaMesh_t.java

@@ -4,40 +4,40 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1117</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class HiddenAreaMesh_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1425</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class HiddenAreaMesh_t extends Structure {
 	/**
-	 * const struct vr::HmdVector2_t *<br>
-	 * C type : HmdVector2_t*
-	 */
-	public com.jme3.system.jopenvr.HmdVector2_t.ByReference pVertexData;
-	public int unTriangleCount;
-	public HiddenAreaMesh_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("pVertexData", "unTriangleCount");
-	}
+	 * const struct vr::HmdVector2_t *<br>
+	 * C type : HmdVector2_t*
+	 */
+	public com.jme3.system.jopenvr.HmdVector2_t.ByReference pVertexData;
+	public int unTriangleCount;
+	public HiddenAreaMesh_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("pVertexData", "unTriangleCount");
+	}
 	/**
-	 * @param pVertexData const struct vr::HmdVector2_t *<br>
-	 * C type : HmdVector2_t*
-	 */
-	public HiddenAreaMesh_t(com.jme3.system.jopenvr.HmdVector2_t.ByReference pVertexData, int unTriangleCount) {
-		super();
-		this.pVertexData = pVertexData;
-		this.unTriangleCount = unTriangleCount;
-	}
-	public HiddenAreaMesh_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends HiddenAreaMesh_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends HiddenAreaMesh_t implements Structure.ByValue {
-		
-	};
+	 * @param pVertexData const struct vr::HmdVector2_t *<br>
+	 * C type : HmdVector2_t*
+	 */
+	public HiddenAreaMesh_t(com.jme3.system.jopenvr.HmdVector2_t.ByReference pVertexData, int unTriangleCount) {
+		super();
+		this.pVertexData = pVertexData;
+		this.unTriangleCount = unTriangleCount;
+	}
+	public HiddenAreaMesh_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends HiddenAreaMesh_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends HiddenAreaMesh_t implements Structure.ByValue {
+		
+	};
 }

+ 32 - 32
jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdColor_t.java

@@ -4,36 +4,36 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:965</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class HmdColor_t extends Structure {
-	public float r;
-	public float g;
-	public float b;
-	public float a;
-	public HmdColor_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("r", "g", "b", "a");
-	}
-	public HmdColor_t(float r, float g, float b, float a) {
-		super();
-		this.r = r;
-		this.g = g;
-		this.b = b;
-		this.a = a;
-	}
-	public HmdColor_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends HmdColor_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends HmdColor_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1221</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class HmdColor_t extends Structure {
+	public float r;
+	public float g;
+	public float b;
+	public float a;
+	public HmdColor_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("r", "g", "b", "a");
+	}
+	public HmdColor_t(float r, float g, float b, float a) {
+		super();
+		this.r = r;
+		this.g = g;
+		this.b = b;
+		this.a = a;
+	}
+	public HmdColor_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends HmdColor_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends HmdColor_t implements Structure.ByValue {
+		
+	};
 }

+ 43 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdMatrix33_t.java

@@ -0,0 +1,43 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1183</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class HmdMatrix33_t extends Structure {
+	/**
+	 * float[3][3]<br>
+	 * C type : float[3][3]
+	 */
+	public float[] m = new float[((3) * (3))];
+	public HmdMatrix33_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m");
+	}
+	/**
+	 * @param m float[3][3]<br>
+	 * C type : float[3][3]
+	 */
+	public HmdMatrix33_t(float m[]) {
+		super();
+		if ((m.length != this.m.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.m = m;
+	}
+	public HmdMatrix33_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends HmdMatrix33_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends HmdMatrix33_t implements Structure.ByValue {
+		
+	};
+}

+ 34 - 34
jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdMatrix34_t.java

@@ -4,40 +4,40 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:933</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class HmdMatrix34_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1179</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class HmdMatrix34_t extends Structure {
 	/**
-	 * float[3][4]<br>
-	 * C type : float[3][4]
-	 */
-	public float[] m = new float[((3) * (4))];
-	public HmdMatrix34_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("m");
-	}
+	 * float[3][4]<br>
+	 * C type : float[3][4]
+	 */
+	public float[] m = new float[((3) * (4))];
+	public HmdMatrix34_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m");
+	}
 	/**
-	 * @param m float[3][4]<br>
-	 * C type : float[3][4]
-	 */
-	public HmdMatrix34_t(float m[]) {
-		super();
-		if ((m.length != this.m.length)) 
-			throw new IllegalArgumentException("Wrong array size !");
-		this.m = m;
-	}
-	public HmdMatrix34_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends HmdMatrix34_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends HmdMatrix34_t implements Structure.ByValue {
-		
-	};
+	 * @param m float[3][4]<br>
+	 * C type : float[3][4]
+	 */
+	public HmdMatrix34_t(float m[]) {
+		super();
+		if ((m.length != this.m.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.m = m;
+	}
+	public HmdMatrix34_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends HmdMatrix34_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends HmdMatrix34_t implements Structure.ByValue {
+		
+	};
 }

+ 34 - 34
jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdMatrix44_t.java

@@ -4,40 +4,40 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:937</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class HmdMatrix44_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1187</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class HmdMatrix44_t extends Structure {
 	/**
-	 * float[4][4]<br>
-	 * C type : float[4][4]
-	 */
-	public float[] m = new float[((4) * (4))];
-	public HmdMatrix44_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("m");
-	}
+	 * float[4][4]<br>
+	 * C type : float[4][4]
+	 */
+	public float[] m = new float[((4) * (4))];
+	public HmdMatrix44_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m");
+	}
 	/**
-	 * @param m float[4][4]<br>
-	 * C type : float[4][4]
-	 */
-	public HmdMatrix44_t(float m[]) {
-		super();
-		if ((m.length != this.m.length)) 
-			throw new IllegalArgumentException("Wrong array size !");
-		this.m = m;
-	}
-	public HmdMatrix44_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends HmdMatrix44_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends HmdMatrix44_t implements Structure.ByValue {
-		
-	};
+	 * @param m float[4][4]<br>
+	 * C type : float[4][4]
+	 */
+	public HmdMatrix44_t(float m[]) {
+		super();
+		if ((m.length != this.m.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.m = m;
+	}
+	public HmdMatrix44_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends HmdMatrix44_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends HmdMatrix44_t implements Structure.ByValue {
+		
+	};
 }

+ 34 - 34
jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdQuad_t.java

@@ -4,40 +4,40 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:969</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class HmdQuad_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1225</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class HmdQuad_t extends Structure {
 	/**
-	 * struct vr::HmdVector3_t[4]<br>
-	 * C type : HmdVector3_t[4]
-	 */
-	public HmdVector3_t[] vCorners = new HmdVector3_t[4];
-	public HmdQuad_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("vCorners");
-	}
+	 * struct vr::HmdVector3_t[4]<br>
+	 * C type : HmdVector3_t[4]
+	 */
+	public HmdVector3_t[] vCorners = new HmdVector3_t[4];
+	public HmdQuad_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("vCorners");
+	}
 	/**
-	 * @param vCorners struct vr::HmdVector3_t[4]<br>
-	 * C type : HmdVector3_t[4]
-	 */
-	public HmdQuad_t(HmdVector3_t vCorners[]) {
-		super();
-		if ((vCorners.length != this.vCorners.length)) 
-			throw new IllegalArgumentException("Wrong array size !");
-		this.vCorners = vCorners;
-	}
-	public HmdQuad_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends HmdQuad_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends HmdQuad_t implements Structure.ByValue {
-		
-	};
+	 * @param vCorners struct vr::HmdVector3_t[4]<br>
+	 * C type : HmdVector3_t[4]
+	 */
+	public HmdQuad_t(HmdVector3_t vCorners[]) {
+		super();
+		if ((vCorners.length != this.vCorners.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.vCorners = vCorners;
+	}
+	public HmdQuad_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends HmdQuad_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends HmdQuad_t implements Structure.ByValue {
+		
+	};
 }

+ 32 - 32
jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdQuaternion_t.java

@@ -4,36 +4,36 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:959</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class HmdQuaternion_t extends Structure {
-	public double w;
-	public double x;
-	public double y;
-	public double z;
-	public HmdQuaternion_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("w", "x", "y", "z");
-	}
-	public HmdQuaternion_t(double w, double x, double y, double z) {
-		super();
-		this.w = w;
-		this.x = x;
-		this.y = y;
-		this.z = z;
-	}
-	public HmdQuaternion_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends HmdQuaternion_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends HmdQuaternion_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1209</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class HmdQuaternion_t extends Structure {
+	public double w;
+	public double x;
+	public double y;
+	public double z;
+	public HmdQuaternion_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("w", "x", "y", "z");
+	}
+	public HmdQuaternion_t(double w, double x, double y, double z) {
+		super();
+		this.w = w;
+		this.x = x;
+		this.y = y;
+		this.z = z;
+	}
+	public HmdQuaternion_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends HmdQuaternion_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends HmdQuaternion_t implements Structure.ByValue {
+		
+	};
 }

+ 39 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdQuaternionf_t.java

@@ -0,0 +1,39 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1215</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class HmdQuaternionf_t extends Structure {
+	public float w;
+	public float x;
+	public float y;
+	public float z;
+	public HmdQuaternionf_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("w", "x", "y", "z");
+	}
+	public HmdQuaternionf_t(float w, float x, float y, float z) {
+		super();
+		this.w = w;
+		this.x = x;
+		this.y = y;
+		this.z = z;
+	}
+	public HmdQuaternionf_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends HmdQuaternionf_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends HmdQuaternionf_t implements Structure.ByValue {
+		
+	};
+}

+ 33 - 33
jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdRect2_t.java

@@ -4,38 +4,38 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:973</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class HmdRect2_t extends Structure {
-	/** C type : HmdVector2_t */
-	public HmdVector2_t vTopLeft;
-	/** C type : HmdVector2_t */
-	public HmdVector2_t vBottomRight;
-	public HmdRect2_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("vTopLeft", "vBottomRight");
-	}
+ * <i>native declaration : headers\openvr_capi.h:1229</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class HmdRect2_t extends Structure {
+	/** C type : HmdVector2_t */
+	public HmdVector2_t vTopLeft;
+	/** C type : HmdVector2_t */
+	public HmdVector2_t vBottomRight;
+	public HmdRect2_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("vTopLeft", "vBottomRight");
+	}
 	/**
-	 * @param vTopLeft C type : HmdVector2_t<br>
-	 * @param vBottomRight C type : HmdVector2_t
-	 */
-	public HmdRect2_t(HmdVector2_t vTopLeft, HmdVector2_t vBottomRight) {
-		super();
-		this.vTopLeft = vTopLeft;
-		this.vBottomRight = vBottomRight;
-	}
-	public HmdRect2_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends HmdRect2_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends HmdRect2_t implements Structure.ByValue {
-		
-	};
+	 * @param vTopLeft C type : HmdVector2_t<br>
+	 * @param vBottomRight C type : HmdVector2_t
+	 */
+	public HmdRect2_t(HmdVector2_t vTopLeft, HmdVector2_t vBottomRight) {
+		super();
+		this.vTopLeft = vTopLeft;
+		this.vBottomRight = vBottomRight;
+	}
+	public HmdRect2_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends HmdRect2_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends HmdRect2_t implements Structure.ByValue {
+		
+	};
 }

+ 34 - 34
jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdVector2_t.java

@@ -4,40 +4,40 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:953</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class HmdVector2_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1203</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class HmdVector2_t extends Structure {
 	/**
-	 * float[2]<br>
-	 * C type : float[2]
-	 */
-	public float[] v = new float[2];
-	public HmdVector2_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("v");
-	}
+	 * float[2]<br>
+	 * C type : float[2]
+	 */
+	public float[] v = new float[2];
+	public HmdVector2_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("v");
+	}
 	/**
-	 * @param v float[2]<br>
-	 * C type : float[2]
-	 */
-	public HmdVector2_t(float v[]) {
-		super();
-		if ((v.length != this.v.length)) 
-			throw new IllegalArgumentException("Wrong array size !");
-		this.v = v;
-	}
-	public HmdVector2_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends HmdVector2_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends HmdVector2_t implements Structure.ByValue {
-		
-	};
+	 * @param v float[2]<br>
+	 * C type : float[2]
+	 */
+	public HmdVector2_t(float v[]) {
+		super();
+		if ((v.length != this.v.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.v = v;
+	}
+	public HmdVector2_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends HmdVector2_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends HmdVector2_t implements Structure.ByValue {
+		
+	};
 }

+ 34 - 34
jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdVector3_t.java

@@ -4,40 +4,40 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:941</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class HmdVector3_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1191</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class HmdVector3_t extends Structure {
 	/**
-	 * float[3]<br>
-	 * C type : float[3]
-	 */
-	public float[] v = new float[3];
-	public HmdVector3_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("v");
-	}
+	 * float[3]<br>
+	 * C type : float[3]
+	 */
+	public float[] v = new float[3];
+	public HmdVector3_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("v");
+	}
 	/**
-	 * @param v float[3]<br>
-	 * C type : float[3]
-	 */
-	public HmdVector3_t(float v[]) {
-		super();
-		if ((v.length != this.v.length)) 
-			throw new IllegalArgumentException("Wrong array size !");
-		this.v = v;
-	}
-	public HmdVector3_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends HmdVector3_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends HmdVector3_t implements Structure.ByValue {
-		
-	};
+	 * @param v float[3]<br>
+	 * C type : float[3]
+	 */
+	public HmdVector3_t(float v[]) {
+		super();
+		if ((v.length != this.v.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.v = v;
+	}
+	public HmdVector3_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends HmdVector3_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends HmdVector3_t implements Structure.ByValue {
+		
+	};
 }

+ 34 - 34
jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdVector3d_t.java

@@ -4,40 +4,40 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:949</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class HmdVector3d_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1199</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class HmdVector3d_t extends Structure {
 	/**
-	 * double[3]<br>
-	 * C type : double[3]
-	 */
-	public double[] v = new double[3];
-	public HmdVector3d_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("v");
-	}
+	 * double[3]<br>
+	 * C type : double[3]
+	 */
+	public double[] v = new double[3];
+	public HmdVector3d_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("v");
+	}
 	/**
-	 * @param v double[3]<br>
-	 * C type : double[3]
-	 */
-	public HmdVector3d_t(double v[]) {
-		super();
-		if ((v.length != this.v.length)) 
-			throw new IllegalArgumentException("Wrong array size !");
-		this.v = v;
-	}
-	public HmdVector3d_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends HmdVector3d_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends HmdVector3d_t implements Structure.ByValue {
-		
-	};
+	 * @param v double[3]<br>
+	 * C type : double[3]
+	 */
+	public HmdVector3d_t(double v[]) {
+		super();
+		if ((v.length != this.v.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.v = v;
+	}
+	public HmdVector3d_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends HmdVector3d_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends HmdVector3d_t implements Structure.ByValue {
+		
+	};
 }

+ 34 - 34
jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdVector4_t.java

@@ -4,40 +4,40 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:945</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class HmdVector4_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1195</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class HmdVector4_t extends Structure {
 	/**
-	 * float[4]<br>
-	 * C type : float[4]
-	 */
-	public float[] v = new float[4];
-	public HmdVector4_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("v");
-	}
+	 * float[4]<br>
+	 * C type : float[4]
+	 */
+	public float[] v = new float[4];
+	public HmdVector4_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("v");
+	}
 	/**
-	 * @param v float[4]<br>
-	 * C type : float[4]
-	 */
-	public HmdVector4_t(float v[]) {
-		super();
-		if ((v.length != this.v.length)) 
-			throw new IllegalArgumentException("Wrong array size !");
-		this.v = v;
-	}
-	public HmdVector4_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends HmdVector4_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends HmdVector4_t implements Structure.ByValue {
-		
-	};
+	 * @param v float[4]<br>
+	 * C type : float[4]
+	 */
+	public HmdVector4_t(float v[]) {
+		super();
+		if ((v.length != this.v.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.v = v;
+	}
+	public HmdVector4_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends HmdVector4_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends HmdVector4_t implements Structure.ByValue {
+		
+	};
 }

+ 45 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/ImuSample_t.java

@@ -0,0 +1,45 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1479</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class ImuSample_t extends Structure {
+	public double fSampleTime;
+	/** C type : HmdVector3d_t */
+	public HmdVector3d_t vAccel;
+	/** C type : HmdVector3d_t */
+	public HmdVector3d_t vGyro;
+	public int unOffScaleFlags;
+	public ImuSample_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("fSampleTime", "vAccel", "vGyro", "unOffScaleFlags");
+	}
+	/**
+	 * @param vAccel C type : HmdVector3d_t<br>
+	 * @param vGyro C type : HmdVector3d_t
+	 */
+	public ImuSample_t(double fSampleTime, HmdVector3d_t vAccel, HmdVector3d_t vGyro, int unOffScaleFlags) {
+		super();
+		this.fSampleTime = fSampleTime;
+		this.vAccel = vAccel;
+		this.vGyro = vGyro;
+		this.unOffScaleFlags = unOffScaleFlags;
+	}
+	public ImuSample_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends ImuSample_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends ImuSample_t implements Structure.ByValue {
+		
+	};
+}

+ 51 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/InputAnalogActionData_t.java

@@ -0,0 +1,51 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1603</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class InputAnalogActionData_t extends Structure {
+	public byte bActive;
+	/** C type : VRInputValueHandle_t */
+	public long activeOrigin;
+	public float x;
+	public float y;
+	public float z;
+	public float deltaX;
+	public float deltaY;
+	public float deltaZ;
+	public float fUpdateTime;
+	public InputAnalogActionData_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("bActive", "activeOrigin", "x", "y", "z", "deltaX", "deltaY", "deltaZ", "fUpdateTime");
+	}
+	/** @param activeOrigin C type : VRInputValueHandle_t */
+	public InputAnalogActionData_t(byte bActive, long activeOrigin, float x, float y, float z, float deltaX, float deltaY, float deltaZ, float fUpdateTime) {
+		super();
+		this.bActive = bActive;
+		this.activeOrigin = activeOrigin;
+		this.x = x;
+		this.y = y;
+		this.z = z;
+		this.deltaX = deltaX;
+		this.deltaY = deltaY;
+		this.deltaZ = deltaZ;
+		this.fUpdateTime = fUpdateTime;
+	}
+	public InputAnalogActionData_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends InputAnalogActionData_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends InputAnalogActionData_t implements Structure.ByValue {
+		
+	};
+}

+ 43 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/InputDigitalActionData_t.java

@@ -0,0 +1,43 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1610</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class InputDigitalActionData_t extends Structure {
+	public byte bActive;
+	/** C type : VRInputValueHandle_t */
+	public long activeOrigin;
+	public byte bState;
+	public byte bChanged;
+	public float fUpdateTime;
+	public InputDigitalActionData_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("bActive", "activeOrigin", "bState", "bChanged", "fUpdateTime");
+	}
+	/** @param activeOrigin C type : VRInputValueHandle_t */
+	public InputDigitalActionData_t(byte bActive, long activeOrigin, byte bState, byte bChanged, float fUpdateTime) {
+		super();
+		this.bActive = bActive;
+		this.activeOrigin = activeOrigin;
+		this.bState = bState;
+		this.bChanged = bChanged;
+		this.fUpdateTime = fUpdateTime;
+	}
+	public InputDigitalActionData_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends InputDigitalActionData_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends InputDigitalActionData_t implements Structure.ByValue {
+		
+	};
+}

+ 51 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/InputOriginInfo_t.java

@@ -0,0 +1,51 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1626</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class InputOriginInfo_t extends Structure {
+	/** C type : VRInputValueHandle_t */
+	public long devicePath;
+	/** C type : TrackedDeviceIndex_t */
+	public int trackedDeviceIndex;
+	/**
+	 * char[128]<br>
+	 * C type : char*[128]
+	 */
+	public Pointer[] rchRenderModelComponentName = new Pointer[128];
+	public InputOriginInfo_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("devicePath", "trackedDeviceIndex", "rchRenderModelComponentName");
+	}
+	/**
+	 * @param devicePath C type : VRInputValueHandle_t<br>
+	 * @param trackedDeviceIndex C type : TrackedDeviceIndex_t<br>
+	 * @param rchRenderModelComponentName char[128]<br>
+	 * C type : char*[128]
+	 */
+	public InputOriginInfo_t(long devicePath, int trackedDeviceIndex, Pointer rchRenderModelComponentName[]) {
+		super();
+		this.devicePath = devicePath;
+		this.trackedDeviceIndex = trackedDeviceIndex;
+		if ((rchRenderModelComponentName.length != this.rchRenderModelComponentName.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.rchRenderModelComponentName = rchRenderModelComponentName;
+	}
+	public InputOriginInfo_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends InputOriginInfo_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends InputOriginInfo_t implements Structure.ByValue {
+		
+	};
+}

+ 43 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/InputPoseActionData_t.java

@@ -0,0 +1,43 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1615</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class InputPoseActionData_t extends Structure {
+	public byte bActive;
+	/** C type : VRInputValueHandle_t */
+	public long activeOrigin;
+	/** C type : TrackedDevicePose_t */
+	public TrackedDevicePose_t pose;
+	public InputPoseActionData_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("bActive", "activeOrigin", "pose");
+	}
+	/**
+	 * @param activeOrigin C type : VRInputValueHandle_t<br>
+	 * @param pose C type : TrackedDevicePose_t
+	 */
+	public InputPoseActionData_t(byte bActive, long activeOrigin, TrackedDevicePose_t pose) {
+		super();
+		this.bActive = bActive;
+		this.activeOrigin = activeOrigin;
+		this.pose = pose;
+	}
+	public InputPoseActionData_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends InputPoseActionData_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends InputPoseActionData_t implements Structure.ByValue {
+		
+	};
+}

+ 39 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/InputSkeletalActionData_t.java

@@ -0,0 +1,39 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1620</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class InputSkeletalActionData_t extends Structure {
+	public byte bActive;
+	/** C type : VRInputValueHandle_t */
+	public long activeOrigin;
+	public int boneCount;
+	public InputSkeletalActionData_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("bActive", "activeOrigin", "boneCount");
+	}
+	/** @param activeOrigin C type : VRInputValueHandle_t */
+	public InputSkeletalActionData_t(byte bActive, long activeOrigin, int boneCount) {
+		super();
+		this.bActive = bActive;
+		this.activeOrigin = activeOrigin;
+		this.boneCount = boneCount;
+	}
+	public InputSkeletalActionData_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends InputSkeletalActionData_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends InputSkeletalActionData_t implements Structure.ByValue {
+		
+	};
+}

+ 30 - 30
jme3-vr/src/main/java/com/jme3/system/jopenvr/IntersectionMaskCircle_t.java

@@ -4,34 +4,34 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1227</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class IntersectionMaskCircle_t extends Structure {
-	public float m_flCenterX;
-	public float m_flCenterY;
-	public float m_flRadius;
-	public IntersectionMaskCircle_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("m_flCenterX", "m_flCenterY", "m_flRadius");
-	}
-	public IntersectionMaskCircle_t(float m_flCenterX, float m_flCenterY, float m_flRadius) {
-		super();
-		this.m_flCenterX = m_flCenterX;
-		this.m_flCenterY = m_flCenterY;
-		this.m_flRadius = m_flRadius;
-	}
-	public IntersectionMaskCircle_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends IntersectionMaskCircle_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends IntersectionMaskCircle_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1552</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class IntersectionMaskCircle_t extends Structure {
+	public float m_flCenterX;
+	public float m_flCenterY;
+	public float m_flRadius;
+	public IntersectionMaskCircle_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m_flCenterX", "m_flCenterY", "m_flRadius");
+	}
+	public IntersectionMaskCircle_t(float m_flCenterX, float m_flCenterY, float m_flRadius) {
+		super();
+		this.m_flCenterX = m_flCenterX;
+		this.m_flCenterY = m_flCenterY;
+		this.m_flRadius = m_flRadius;
+	}
+	public IntersectionMaskCircle_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends IntersectionMaskCircle_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends IntersectionMaskCircle_t implements Structure.ByValue {
+		
+	};
 }

+ 32 - 32
jme3-vr/src/main/java/com/jme3/system/jopenvr/IntersectionMaskRectangle_t.java

@@ -4,36 +4,36 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1222</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class IntersectionMaskRectangle_t extends Structure {
-	public float m_flTopLeftX;
-	public float m_flTopLeftY;
-	public float m_flWidth;
-	public float m_flHeight;
-	public IntersectionMaskRectangle_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("m_flTopLeftX", "m_flTopLeftY", "m_flWidth", "m_flHeight");
-	}
-	public IntersectionMaskRectangle_t(float m_flTopLeftX, float m_flTopLeftY, float m_flWidth, float m_flHeight) {
-		super();
-		this.m_flTopLeftX = m_flTopLeftX;
-		this.m_flTopLeftY = m_flTopLeftY;
-		this.m_flWidth = m_flWidth;
-		this.m_flHeight = m_flHeight;
-	}
-	public IntersectionMaskRectangle_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends IntersectionMaskRectangle_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends IntersectionMaskRectangle_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1547</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class IntersectionMaskRectangle_t extends Structure {
+	public float m_flTopLeftX;
+	public float m_flTopLeftY;
+	public float m_flWidth;
+	public float m_flHeight;
+	public IntersectionMaskRectangle_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m_flTopLeftX", "m_flTopLeftY", "m_flWidth", "m_flHeight");
+	}
+	public IntersectionMaskRectangle_t(float m_flTopLeftX, float m_flTopLeftY, float m_flWidth, float m_flHeight) {
+		super();
+		this.m_flTopLeftX = m_flTopLeftX;
+		this.m_flTopLeftY = m_flTopLeftY;
+		this.m_flWidth = m_flWidth;
+		this.m_flHeight = m_flHeight;
+	}
+	public IntersectionMaskRectangle_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends IntersectionMaskRectangle_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends IntersectionMaskRectangle_t implements Structure.ByValue {
+		
+	};
 }

+ 2264 - 1825
jme3-vr/src/main/java/com/jme3/system/jopenvr/JOpenVRLibrary.java

@@ -5,16 +5,16 @@ import com.sun.jna.NativeLibrary;
 import com.sun.jna.Pointer;
 import com.sun.jna.PointerType;
 import com.sun.jna.ptr.IntByReference;
+
 import java.nio.IntBuffer;
 import java.util.logging.Logger;
 /**
- * JNA Wrapper for library <b>JOpenVR</b><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class JOpenVRLibrary implements Library {
-	
+ * JNA Wrapper for library <b>JOpenVR</b><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class JOpenVRLibrary implements Library {
 	private static final Logger logger = Logger.getLogger(JOpenVRLibrary.class.getName());
 	
 	private static String JNA_LIBRARY_NAME;
@@ -26,11 +26,7 @@ public class JOpenVRLibrary implements Library {
 	 * If this property is not set, the embedded library is loaded.
 	 */
 	public static final String JNA_OPENVR_LIBRARY_PATH = "openvr.library.path";
-/*	
-	static {
-	  init();
-	}
-*/	
+	
 	/**
 	 * Init the native binding to the underlying system library.
 	 * @return <code>true</code> if the link is effective and <code>false</code> otherwise.
@@ -65,1828 +61,2271 @@ public class JOpenVRLibrary implements Library {
 	public static String getSystemLibraryName(){
 		return ""+JNA_LIBRARY_NAME;
 	}
-	
+
+	
 	/**
-	 * <i>native declaration : headers\openvr_capi.h:181</i><br>
-	 * enum values
-	 */
-	public static interface EVREye {
-		/** <i>native declaration : headers\openvr_capi.h:179</i> */
-		public static final int EVREye_Eye_Left = 0;
-		/** <i>native declaration : headers\openvr_capi.h:180</i> */
-		public static final int EVREye_Eye_Right = 1;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:188</i><br>
-	 * enum values
-	 */
-	public static interface ETextureType {
-		/** <i>native declaration : headers\openvr_capi.h:183</i> */
-		public static final int ETextureType_TextureType_DirectX = 0;
-		/** <i>native declaration : headers\openvr_capi.h:184</i> */
-		public static final int ETextureType_TextureType_OpenGL = 1;
-		/** <i>native declaration : headers\openvr_capi.h:185</i> */
-		public static final int ETextureType_TextureType_Vulkan = 2;
-		/** <i>native declaration : headers\openvr_capi.h:186</i> */
-		public static final int ETextureType_TextureType_IOSurface = 3;
-		/** <i>native declaration : headers\openvr_capi.h:187</i> */
-		public static final int ETextureType_TextureType_DirectX12 = 4;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:193</i><br>
-	 * enum values
-	 */
-	public static interface EColorSpace {
-		/** <i>native declaration : headers\openvr_capi.h:190</i> */
-		public static final int EColorSpace_ColorSpace_Auto = 0;
-		/** <i>native declaration : headers\openvr_capi.h:191</i> */
-		public static final int EColorSpace_ColorSpace_Gamma = 1;
-		/** <i>native declaration : headers\openvr_capi.h:192</i> */
-		public static final int EColorSpace_ColorSpace_Linear = 2;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:200</i><br>
-	 * enum values
-	 */
-	public static interface ETrackingResult {
-		/** <i>native declaration : headers\openvr_capi.h:195</i> */
-		public static final int ETrackingResult_TrackingResult_Uninitialized = 1;
-		/** <i>native declaration : headers\openvr_capi.h:196</i> */
-		public static final int ETrackingResult_TrackingResult_Calibrating_InProgress = 100;
-		/** <i>native declaration : headers\openvr_capi.h:197</i> */
-		public static final int ETrackingResult_TrackingResult_Calibrating_OutOfRange = 101;
-		/** <i>native declaration : headers\openvr_capi.h:198</i> */
-		public static final int ETrackingResult_TrackingResult_Running_OK = 200;
-		/** <i>native declaration : headers\openvr_capi.h:199</i> */
-		public static final int ETrackingResult_TrackingResult_Running_OutOfRange = 201;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:208</i><br>
-	 * enum values
-	 */
-	public static interface ETrackedDeviceClass {
-		/** <i>native declaration : headers\openvr_capi.h:202</i> */
-		public static final int ETrackedDeviceClass_TrackedDeviceClass_Invalid = 0;
-		/** <i>native declaration : headers\openvr_capi.h:203</i> */
-		public static final int ETrackedDeviceClass_TrackedDeviceClass_HMD = 1;
-		/** <i>native declaration : headers\openvr_capi.h:204</i> */
-		public static final int ETrackedDeviceClass_TrackedDeviceClass_Controller = 2;
-		/** <i>native declaration : headers\openvr_capi.h:205</i> */
-		public static final int ETrackedDeviceClass_TrackedDeviceClass_GenericTracker = 3;
-		/** <i>native declaration : headers\openvr_capi.h:206</i> */
-		public static final int ETrackedDeviceClass_TrackedDeviceClass_TrackingReference = 4;
-		/** <i>native declaration : headers\openvr_capi.h:207</i> */
-		public static final int ETrackedDeviceClass_TrackedDeviceClass_DisplayRedirect = 5;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:213</i><br>
-	 * enum values
-	 */
-	public static interface ETrackedControllerRole {
-		/** <i>native declaration : headers\openvr_capi.h:210</i> */
-		public static final int ETrackedControllerRole_TrackedControllerRole_Invalid = 0;
-		/** <i>native declaration : headers\openvr_capi.h:211</i> */
-		public static final int ETrackedControllerRole_TrackedControllerRole_LeftHand = 1;
-		/** <i>native declaration : headers\openvr_capi.h:212</i> */
-		public static final int ETrackedControllerRole_TrackedControllerRole_RightHand = 2;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:218</i><br>
-	 * enum values
-	 */
-	public static interface ETrackingUniverseOrigin {
-		/** <i>native declaration : headers\openvr_capi.h:215</i> */
-		public static final int ETrackingUniverseOrigin_TrackingUniverseSeated = 0;
-		/** <i>native declaration : headers\openvr_capi.h:216</i> */
-		public static final int ETrackingUniverseOrigin_TrackingUniverseStanding = 1;
-		/** <i>native declaration : headers\openvr_capi.h:217</i> */
-		public static final int ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated = 2;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:339</i><br>
-	 * enum values
-	 */
-	public static interface ETrackedDeviceProperty {
-		/** <i>native declaration : headers\openvr_capi.h:220</i> */
-		public static final int ETrackedDeviceProperty_Prop_Invalid = 0;
-		/** <i>native declaration : headers\openvr_capi.h:221</i> */
-		public static final int ETrackedDeviceProperty_Prop_TrackingSystemName_String = 1000;
-		/** <i>native declaration : headers\openvr_capi.h:222</i> */
-		public static final int ETrackedDeviceProperty_Prop_ModelNumber_String = 1001;
-		/** <i>native declaration : headers\openvr_capi.h:223</i> */
-		public static final int ETrackedDeviceProperty_Prop_SerialNumber_String = 1002;
-		/** <i>native declaration : headers\openvr_capi.h:224</i> */
-		public static final int ETrackedDeviceProperty_Prop_RenderModelName_String = 1003;
-		/** <i>native declaration : headers\openvr_capi.h:225</i> */
-		public static final int ETrackedDeviceProperty_Prop_WillDriftInYaw_Bool = 1004;
-		/** <i>native declaration : headers\openvr_capi.h:226</i> */
-		public static final int ETrackedDeviceProperty_Prop_ManufacturerName_String = 1005;
-		/** <i>native declaration : headers\openvr_capi.h:227</i> */
-		public static final int ETrackedDeviceProperty_Prop_TrackingFirmwareVersion_String = 1006;
-		/** <i>native declaration : headers\openvr_capi.h:228</i> */
-		public static final int ETrackedDeviceProperty_Prop_HardwareRevision_String = 1007;
-		/** <i>native declaration : headers\openvr_capi.h:229</i> */
-		public static final int ETrackedDeviceProperty_Prop_AllWirelessDongleDescriptions_String = 1008;
-		/** <i>native declaration : headers\openvr_capi.h:230</i> */
-		public static final int ETrackedDeviceProperty_Prop_ConnectedWirelessDongle_String = 1009;
-		/** <i>native declaration : headers\openvr_capi.h:231</i> */
-		public static final int ETrackedDeviceProperty_Prop_DeviceIsWireless_Bool = 1010;
-		/** <i>native declaration : headers\openvr_capi.h:232</i> */
-		public static final int ETrackedDeviceProperty_Prop_DeviceIsCharging_Bool = 1011;
-		/** <i>native declaration : headers\openvr_capi.h:233</i> */
-		public static final int ETrackedDeviceProperty_Prop_DeviceBatteryPercentage_Float = 1012;
-		/** <i>native declaration : headers\openvr_capi.h:234</i> */
-		public static final int ETrackedDeviceProperty_Prop_StatusDisplayTransform_Matrix34 = 1013;
-		/** <i>native declaration : headers\openvr_capi.h:235</i> */
-		public static final int ETrackedDeviceProperty_Prop_Firmware_UpdateAvailable_Bool = 1014;
-		/** <i>native declaration : headers\openvr_capi.h:236</i> */
-		public static final int ETrackedDeviceProperty_Prop_Firmware_ManualUpdate_Bool = 1015;
-		/** <i>native declaration : headers\openvr_capi.h:237</i> */
-		public static final int ETrackedDeviceProperty_Prop_Firmware_ManualUpdateURL_String = 1016;
-		/** <i>native declaration : headers\openvr_capi.h:238</i> */
-		public static final int ETrackedDeviceProperty_Prop_HardwareRevision_Uint64 = 1017;
-		/** <i>native declaration : headers\openvr_capi.h:239</i> */
-		public static final int ETrackedDeviceProperty_Prop_FirmwareVersion_Uint64 = 1018;
-		/** <i>native declaration : headers\openvr_capi.h:240</i> */
-		public static final int ETrackedDeviceProperty_Prop_FPGAVersion_Uint64 = 1019;
-		/** <i>native declaration : headers\openvr_capi.h:241</i> */
-		public static final int ETrackedDeviceProperty_Prop_VRCVersion_Uint64 = 1020;
-		/** <i>native declaration : headers\openvr_capi.h:242</i> */
-		public static final int ETrackedDeviceProperty_Prop_RadioVersion_Uint64 = 1021;
-		/** <i>native declaration : headers\openvr_capi.h:243</i> */
-		public static final int ETrackedDeviceProperty_Prop_DongleVersion_Uint64 = 1022;
-		/** <i>native declaration : headers\openvr_capi.h:244</i> */
-		public static final int ETrackedDeviceProperty_Prop_BlockServerShutdown_Bool = 1023;
-		/** <i>native declaration : headers\openvr_capi.h:245</i> */
-		public static final int ETrackedDeviceProperty_Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024;
-		/** <i>native declaration : headers\openvr_capi.h:246</i> */
-		public static final int ETrackedDeviceProperty_Prop_ContainsProximitySensor_Bool = 1025;
-		/** <i>native declaration : headers\openvr_capi.h:247</i> */
-		public static final int ETrackedDeviceProperty_Prop_DeviceProvidesBatteryStatus_Bool = 1026;
-		/** <i>native declaration : headers\openvr_capi.h:248</i> */
-		public static final int ETrackedDeviceProperty_Prop_DeviceCanPowerOff_Bool = 1027;
-		/** <i>native declaration : headers\openvr_capi.h:249</i> */
-		public static final int ETrackedDeviceProperty_Prop_Firmware_ProgrammingTarget_String = 1028;
-		/** <i>native declaration : headers\openvr_capi.h:250</i> */
-		public static final int ETrackedDeviceProperty_Prop_DeviceClass_Int32 = 1029;
-		/** <i>native declaration : headers\openvr_capi.h:251</i> */
-		public static final int ETrackedDeviceProperty_Prop_HasCamera_Bool = 1030;
-		/** <i>native declaration : headers\openvr_capi.h:252</i> */
-		public static final int ETrackedDeviceProperty_Prop_DriverVersion_String = 1031;
-		/** <i>native declaration : headers\openvr_capi.h:253</i> */
-		public static final int ETrackedDeviceProperty_Prop_Firmware_ForceUpdateRequired_Bool = 1032;
-		/** <i>native declaration : headers\openvr_capi.h:254</i> */
-		public static final int ETrackedDeviceProperty_Prop_ViveSystemButtonFixRequired_Bool = 1033;
-		/** <i>native declaration : headers\openvr_capi.h:255</i> */
-		public static final int ETrackedDeviceProperty_Prop_ParentDriver_Uint64 = 1034;
-		/** <i>native declaration : headers\openvr_capi.h:256</i> */
-		public static final int ETrackedDeviceProperty_Prop_ResourceRoot_String = 1035;
-		/** <i>native declaration : headers\openvr_capi.h:257</i> */
-		public static final int ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool = 2000;
-		/** <i>native declaration : headers\openvr_capi.h:258</i> */
-		public static final int ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001;
-		/** <i>native declaration : headers\openvr_capi.h:259</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002;
-		/** <i>native declaration : headers\openvr_capi.h:260</i> */
-		public static final int ETrackedDeviceProperty_Prop_UserIpdMeters_Float = 2003;
-		/** <i>native declaration : headers\openvr_capi.h:261</i> */
-		public static final int ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64 = 2004;
-		/** <i>native declaration : headers\openvr_capi.h:262</i> */
-		public static final int ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64 = 2005;
-		/** <i>native declaration : headers\openvr_capi.h:263</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64 = 2006;
-		/** <i>native declaration : headers\openvr_capi.h:264</i> */
-		public static final int ETrackedDeviceProperty_Prop_IsOnDesktop_Bool = 2007;
-		/** <i>native declaration : headers\openvr_capi.h:265</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayMCType_Int32 = 2008;
-		/** <i>native declaration : headers\openvr_capi.h:266</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayMCOffset_Float = 2009;
-		/** <i>native declaration : headers\openvr_capi.h:267</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayMCScale_Float = 2010;
-		/** <i>native declaration : headers\openvr_capi.h:268</i> */
-		public static final int ETrackedDeviceProperty_Prop_EdidVendorID_Int32 = 2011;
-		/** <i>native declaration : headers\openvr_capi.h:269</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayMCImageLeft_String = 2012;
-		/** <i>native declaration : headers\openvr_capi.h:270</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayMCImageRight_String = 2013;
-		/** <i>native declaration : headers\openvr_capi.h:271</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayGCBlackClamp_Float = 2014;
-		/** <i>native declaration : headers\openvr_capi.h:272</i> */
-		public static final int ETrackedDeviceProperty_Prop_EdidProductID_Int32 = 2015;
-		/** <i>native declaration : headers\openvr_capi.h:273</i> */
-		public static final int ETrackedDeviceProperty_Prop_CameraToHeadTransform_Matrix34 = 2016;
-		/** <i>native declaration : headers\openvr_capi.h:274</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayGCType_Int32 = 2017;
-		/** <i>native declaration : headers\openvr_capi.h:275</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayGCOffset_Float = 2018;
-		/** <i>native declaration : headers\openvr_capi.h:276</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayGCScale_Float = 2019;
-		/** <i>native declaration : headers\openvr_capi.h:277</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayGCPrescale_Float = 2020;
-		/** <i>native declaration : headers\openvr_capi.h:278</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayGCImage_String = 2021;
-		/** <i>native declaration : headers\openvr_capi.h:279</i> */
-		public static final int ETrackedDeviceProperty_Prop_LensCenterLeftU_Float = 2022;
-		/** <i>native declaration : headers\openvr_capi.h:280</i> */
-		public static final int ETrackedDeviceProperty_Prop_LensCenterLeftV_Float = 2023;
-		/** <i>native declaration : headers\openvr_capi.h:281</i> */
-		public static final int ETrackedDeviceProperty_Prop_LensCenterRightU_Float = 2024;
-		/** <i>native declaration : headers\openvr_capi.h:282</i> */
-		public static final int ETrackedDeviceProperty_Prop_LensCenterRightV_Float = 2025;
-		/** <i>native declaration : headers\openvr_capi.h:283</i> */
-		public static final int ETrackedDeviceProperty_Prop_UserHeadToEyeDepthMeters_Float = 2026;
-		/** <i>native declaration : headers\openvr_capi.h:284</i> */
-		public static final int ETrackedDeviceProperty_Prop_CameraFirmwareVersion_Uint64 = 2027;
-		/** <i>native declaration : headers\openvr_capi.h:285</i> */
-		public static final int ETrackedDeviceProperty_Prop_CameraFirmwareDescription_String = 2028;
-		/** <i>native declaration : headers\openvr_capi.h:286</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayFPGAVersion_Uint64 = 2029;
-		/** <i>native declaration : headers\openvr_capi.h:287</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayBootloaderVersion_Uint64 = 2030;
-		/** <i>native declaration : headers\openvr_capi.h:288</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayHardwareVersion_Uint64 = 2031;
-		/** <i>native declaration : headers\openvr_capi.h:289</i> */
-		public static final int ETrackedDeviceProperty_Prop_AudioFirmwareVersion_Uint64 = 2032;
-		/** <i>native declaration : headers\openvr_capi.h:290</i> */
-		public static final int ETrackedDeviceProperty_Prop_CameraCompatibilityMode_Int32 = 2033;
-		/** <i>native declaration : headers\openvr_capi.h:291</i> */
-		public static final int ETrackedDeviceProperty_Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034;
-		/** <i>native declaration : headers\openvr_capi.h:292</i> */
-		public static final int ETrackedDeviceProperty_Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035;
-		/** <i>native declaration : headers\openvr_capi.h:293</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplaySuppressed_Bool = 2036;
-		/** <i>native declaration : headers\openvr_capi.h:294</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayAllowNightMode_Bool = 2037;
-		/** <i>native declaration : headers\openvr_capi.h:295</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayMCImageWidth_Int32 = 2038;
-		/** <i>native declaration : headers\openvr_capi.h:296</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayMCImageHeight_Int32 = 2039;
-		/** <i>native declaration : headers\openvr_capi.h:297</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayMCImageNumChannels_Int32 = 2040;
-		/** <i>native declaration : headers\openvr_capi.h:298</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayMCImageData_Binary = 2041;
-		/** <i>native declaration : headers\openvr_capi.h:299</i> */
-		public static final int ETrackedDeviceProperty_Prop_SecondsFromPhotonsToVblank_Float = 2042;
-		/** <i>native declaration : headers\openvr_capi.h:300</i> */
-		public static final int ETrackedDeviceProperty_Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043;
-		/** <i>native declaration : headers\openvr_capi.h:301</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayDebugMode_Bool = 2044;
-		/** <i>native declaration : headers\openvr_capi.h:302</i> */
-		public static final int ETrackedDeviceProperty_Prop_GraphicsAdapterLuid_Uint64 = 2045;
-		/** <i>native declaration : headers\openvr_capi.h:303</i> */
-		public static final int ETrackedDeviceProperty_Prop_DriverProvidedChaperonePath_String = 2048;
-		/** <i>native declaration : headers\openvr_capi.h:304</i> */
-		public static final int ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000;
-		/** <i>native declaration : headers\openvr_capi.h:305</i> */
-		public static final int ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001;
-		/** <i>native declaration : headers\openvr_capi.h:306</i> */
-		public static final int ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002;
-		/** <i>native declaration : headers\openvr_capi.h:307</i> */
-		public static final int ETrackedDeviceProperty_Prop_Axis1Type_Int32 = 3003;
-		/** <i>native declaration : headers\openvr_capi.h:308</i> */
-		public static final int ETrackedDeviceProperty_Prop_Axis2Type_Int32 = 3004;
-		/** <i>native declaration : headers\openvr_capi.h:309</i> */
-		public static final int ETrackedDeviceProperty_Prop_Axis3Type_Int32 = 3005;
-		/** <i>native declaration : headers\openvr_capi.h:310</i> */
-		public static final int ETrackedDeviceProperty_Prop_Axis4Type_Int32 = 3006;
-		/** <i>native declaration : headers\openvr_capi.h:311</i> */
-		public static final int ETrackedDeviceProperty_Prop_ControllerRoleHint_Int32 = 3007;
-		/** <i>native declaration : headers\openvr_capi.h:312</i> */
-		public static final int ETrackedDeviceProperty_Prop_FieldOfViewLeftDegrees_Float = 4000;
-		/** <i>native declaration : headers\openvr_capi.h:313</i> */
-		public static final int ETrackedDeviceProperty_Prop_FieldOfViewRightDegrees_Float = 4001;
-		/** <i>native declaration : headers\openvr_capi.h:314</i> */
-		public static final int ETrackedDeviceProperty_Prop_FieldOfViewTopDegrees_Float = 4002;
-		/** <i>native declaration : headers\openvr_capi.h:315</i> */
-		public static final int ETrackedDeviceProperty_Prop_FieldOfViewBottomDegrees_Float = 4003;
-		/** <i>native declaration : headers\openvr_capi.h:316</i> */
-		public static final int ETrackedDeviceProperty_Prop_TrackingRangeMinimumMeters_Float = 4004;
-		/** <i>native declaration : headers\openvr_capi.h:317</i> */
-		public static final int ETrackedDeviceProperty_Prop_TrackingRangeMaximumMeters_Float = 4005;
-		/** <i>native declaration : headers\openvr_capi.h:318</i> */
-		public static final int ETrackedDeviceProperty_Prop_ModeLabel_String = 4006;
-		/** <i>native declaration : headers\openvr_capi.h:319</i> */
-		public static final int ETrackedDeviceProperty_Prop_IconPathName_String = 5000;
-		/** <i>native declaration : headers\openvr_capi.h:320</i> */
-		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceOff_String = 5001;
-		/** <i>native declaration : headers\openvr_capi.h:321</i> */
-		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearching_String = 5002;
-		/** <i>native declaration : headers\openvr_capi.h:322</i> */
-		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearchingAlert_String = 5003;
-		/** <i>native declaration : headers\openvr_capi.h:323</i> */
-		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceReady_String = 5004;
-		/** <i>native declaration : headers\openvr_capi.h:324</i> */
-		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceReadyAlert_String = 5005;
-		/** <i>native declaration : headers\openvr_capi.h:325</i> */
-		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceNotReady_String = 5006;
-		/** <i>native declaration : headers\openvr_capi.h:326</i> */
-		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceStandby_String = 5007;
-		/** <i>native declaration : headers\openvr_capi.h:327</i> */
-		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceAlertLow_String = 5008;
-		/** <i>native declaration : headers\openvr_capi.h:328</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_Start = 5100;
-		/** <i>native declaration : headers\openvr_capi.h:329</i> */
-		public static final int ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_End = 5150;
-		/** <i>native declaration : headers\openvr_capi.h:330</i> */
-		public static final int ETrackedDeviceProperty_Prop_UserConfigPath_String = 6000;
-		/** <i>native declaration : headers\openvr_capi.h:331</i> */
-		public static final int ETrackedDeviceProperty_Prop_InstallPath_String = 6001;
-		/** <i>native declaration : headers\openvr_capi.h:332</i> */
-		public static final int ETrackedDeviceProperty_Prop_HasDisplayComponent_Bool = 6002;
-		/** <i>native declaration : headers\openvr_capi.h:333</i> */
-		public static final int ETrackedDeviceProperty_Prop_HasControllerComponent_Bool = 6003;
-		/** <i>native declaration : headers\openvr_capi.h:334</i> */
-		public static final int ETrackedDeviceProperty_Prop_HasCameraComponent_Bool = 6004;
-		/** <i>native declaration : headers\openvr_capi.h:335</i> */
-		public static final int ETrackedDeviceProperty_Prop_HasDriverDirectModeComponent_Bool = 6005;
-		/** <i>native declaration : headers\openvr_capi.h:336</i> */
-		public static final int ETrackedDeviceProperty_Prop_HasVirtualDisplayComponent_Bool = 6006;
-		/** <i>native declaration : headers\openvr_capi.h:337</i> */
-		public static final int ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start = 10000;
-		/** <i>native declaration : headers\openvr_capi.h:338</i> */
-		public static final int ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End = 10999;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:353</i><br>
-	 * enum values
-	 */
-	public static interface ETrackedPropertyError {
-		/** <i>native declaration : headers\openvr_capi.h:341</i> */
-		public static final int ETrackedPropertyError_TrackedProp_Success = 0;
-		/** <i>native declaration : headers\openvr_capi.h:342</i> */
-		public static final int ETrackedPropertyError_TrackedProp_WrongDataType = 1;
-		/** <i>native declaration : headers\openvr_capi.h:343</i> */
-		public static final int ETrackedPropertyError_TrackedProp_WrongDeviceClass = 2;
-		/** <i>native declaration : headers\openvr_capi.h:344</i> */
-		public static final int ETrackedPropertyError_TrackedProp_BufferTooSmall = 3;
-		/** <i>native declaration : headers\openvr_capi.h:345</i> */
-		public static final int ETrackedPropertyError_TrackedProp_UnknownProperty = 4;
-		/** <i>native declaration : headers\openvr_capi.h:346</i> */
-		public static final int ETrackedPropertyError_TrackedProp_InvalidDevice = 5;
-		/** <i>native declaration : headers\openvr_capi.h:347</i> */
-		public static final int ETrackedPropertyError_TrackedProp_CouldNotContactServer = 6;
-		/** <i>native declaration : headers\openvr_capi.h:348</i> */
-		public static final int ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice = 7;
-		/** <i>native declaration : headers\openvr_capi.h:349</i> */
-		public static final int ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength = 8;
-		/** <i>native declaration : headers\openvr_capi.h:350</i> */
-		public static final int ETrackedPropertyError_TrackedProp_NotYetAvailable = 9;
-		/** <i>native declaration : headers\openvr_capi.h:351</i> */
-		public static final int ETrackedPropertyError_TrackedProp_PermissionDenied = 10;
-		/** <i>native declaration : headers\openvr_capi.h:352</i> */
-		public static final int ETrackedPropertyError_TrackedProp_InvalidOperation = 11;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:359</i><br>
-	 * enum values
-	 */
-	public static interface EVRSubmitFlags {
-		/** <i>native declaration : headers\openvr_capi.h:355</i> */
-		public static final int EVRSubmitFlags_Submit_Default = 0;
-		/** <i>native declaration : headers\openvr_capi.h:356</i> */
-		public static final int EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1;
-		/** <i>native declaration : headers\openvr_capi.h:357</i> */
-		public static final int EVRSubmitFlags_Submit_GlRenderBuffer = 2;
-		/** <i>native declaration : headers\openvr_capi.h:358</i> */
-		public static final int EVRSubmitFlags_Submit_Reserved = 4;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:370</i><br>
-	 * enum values
-	 */
-	public static interface EVRState {
-		/** <i>native declaration : headers\openvr_capi.h:361</i> */
-		public static final int EVRState_VRState_Undefined = -1;
-		/** <i>native declaration : headers\openvr_capi.h:362</i> */
-		public static final int EVRState_VRState_Off = 0;
-		/** <i>native declaration : headers\openvr_capi.h:363</i> */
-		public static final int EVRState_VRState_Searching = 1;
-		/** <i>native declaration : headers\openvr_capi.h:364</i> */
-		public static final int EVRState_VRState_Searching_Alert = 2;
-		/** <i>native declaration : headers\openvr_capi.h:365</i> */
-		public static final int EVRState_VRState_Ready = 3;
-		/** <i>native declaration : headers\openvr_capi.h:366</i> */
-		public static final int EVRState_VRState_Ready_Alert = 4;
-		/** <i>native declaration : headers\openvr_capi.h:367</i> */
-		public static final int EVRState_VRState_NotReady = 5;
-		/** <i>native declaration : headers\openvr_capi.h:368</i> */
-		public static final int EVRState_VRState_Standby = 6;
-		/** <i>native declaration : headers\openvr_capi.h:369</i> */
-		public static final int EVRState_VRState_Ready_Alert_Low = 7;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:486</i><br>
-	 * enum values
-	 */
-	public static interface EVREventType {
-		/** <i>native declaration : headers\openvr_capi.h:372</i> */
-		public static final int EVREventType_VREvent_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:373</i> */
-		public static final int EVREventType_VREvent_TrackedDeviceActivated = 100;
-		/** <i>native declaration : headers\openvr_capi.h:374</i> */
-		public static final int EVREventType_VREvent_TrackedDeviceDeactivated = 101;
-		/** <i>native declaration : headers\openvr_capi.h:375</i> */
-		public static final int EVREventType_VREvent_TrackedDeviceUpdated = 102;
-		/** <i>native declaration : headers\openvr_capi.h:376</i> */
-		public static final int EVREventType_VREvent_TrackedDeviceUserInteractionStarted = 103;
-		/** <i>native declaration : headers\openvr_capi.h:377</i> */
-		public static final int EVREventType_VREvent_TrackedDeviceUserInteractionEnded = 104;
-		/** <i>native declaration : headers\openvr_capi.h:378</i> */
-		public static final int EVREventType_VREvent_IpdChanged = 105;
-		/** <i>native declaration : headers\openvr_capi.h:379</i> */
-		public static final int EVREventType_VREvent_EnterStandbyMode = 106;
-		/** <i>native declaration : headers\openvr_capi.h:380</i> */
-		public static final int EVREventType_VREvent_LeaveStandbyMode = 107;
-		/** <i>native declaration : headers\openvr_capi.h:381</i> */
-		public static final int EVREventType_VREvent_TrackedDeviceRoleChanged = 108;
-		/** <i>native declaration : headers\openvr_capi.h:382</i> */
-		public static final int EVREventType_VREvent_WatchdogWakeUpRequested = 109;
-		/** <i>native declaration : headers\openvr_capi.h:383</i> */
-		public static final int EVREventType_VREvent_LensDistortionChanged = 110;
-		/** <i>native declaration : headers\openvr_capi.h:384</i> */
-		public static final int EVREventType_VREvent_PropertyChanged = 111;
-		/** <i>native declaration : headers\openvr_capi.h:385</i> */
-		public static final int EVREventType_VREvent_WirelessDisconnect = 112;
-		/** <i>native declaration : headers\openvr_capi.h:386</i> */
-		public static final int EVREventType_VREvent_WirelessReconnect = 113;
-		/** <i>native declaration : headers\openvr_capi.h:387</i> */
-		public static final int EVREventType_VREvent_ButtonPress = 200;
-		/** <i>native declaration : headers\openvr_capi.h:388</i> */
-		public static final int EVREventType_VREvent_ButtonUnpress = 201;
-		/** <i>native declaration : headers\openvr_capi.h:389</i> */
-		public static final int EVREventType_VREvent_ButtonTouch = 202;
-		/** <i>native declaration : headers\openvr_capi.h:390</i> */
-		public static final int EVREventType_VREvent_ButtonUntouch = 203;
-		/** <i>native declaration : headers\openvr_capi.h:391</i> */
-		public static final int EVREventType_VREvent_MouseMove = 300;
-		/** <i>native declaration : headers\openvr_capi.h:392</i> */
-		public static final int EVREventType_VREvent_MouseButtonDown = 301;
-		/** <i>native declaration : headers\openvr_capi.h:393</i> */
-		public static final int EVREventType_VREvent_MouseButtonUp = 302;
-		/** <i>native declaration : headers\openvr_capi.h:394</i> */
-		public static final int EVREventType_VREvent_FocusEnter = 303;
-		/** <i>native declaration : headers\openvr_capi.h:395</i> */
-		public static final int EVREventType_VREvent_FocusLeave = 304;
-		/** <i>native declaration : headers\openvr_capi.h:396</i> */
-		public static final int EVREventType_VREvent_Scroll = 305;
-		/** <i>native declaration : headers\openvr_capi.h:397</i> */
-		public static final int EVREventType_VREvent_TouchPadMove = 306;
-		/** <i>native declaration : headers\openvr_capi.h:398</i> */
-		public static final int EVREventType_VREvent_OverlayFocusChanged = 307;
-		/** <i>native declaration : headers\openvr_capi.h:399</i> */
-		public static final int EVREventType_VREvent_InputFocusCaptured = 400;
-		/** <i>native declaration : headers\openvr_capi.h:400</i> */
-		public static final int EVREventType_VREvent_InputFocusReleased = 401;
-		/** <i>native declaration : headers\openvr_capi.h:401</i> */
-		public static final int EVREventType_VREvent_SceneFocusLost = 402;
-		/** <i>native declaration : headers\openvr_capi.h:402</i> */
-		public static final int EVREventType_VREvent_SceneFocusGained = 403;
-		/** <i>native declaration : headers\openvr_capi.h:403</i> */
-		public static final int EVREventType_VREvent_SceneApplicationChanged = 404;
-		/** <i>native declaration : headers\openvr_capi.h:404</i> */
-		public static final int EVREventType_VREvent_SceneFocusChanged = 405;
-		/** <i>native declaration : headers\openvr_capi.h:405</i> */
-		public static final int EVREventType_VREvent_InputFocusChanged = 406;
-		/** <i>native declaration : headers\openvr_capi.h:406</i> */
-		public static final int EVREventType_VREvent_SceneApplicationSecondaryRenderingStarted = 407;
-		/** <i>native declaration : headers\openvr_capi.h:407</i> */
-		public static final int EVREventType_VREvent_HideRenderModels = 410;
-		/** <i>native declaration : headers\openvr_capi.h:408</i> */
-		public static final int EVREventType_VREvent_ShowRenderModels = 411;
-		/** <i>native declaration : headers\openvr_capi.h:409</i> */
-		public static final int EVREventType_VREvent_OverlayShown = 500;
-		/** <i>native declaration : headers\openvr_capi.h:410</i> */
-		public static final int EVREventType_VREvent_OverlayHidden = 501;
-		/** <i>native declaration : headers\openvr_capi.h:411</i> */
-		public static final int EVREventType_VREvent_DashboardActivated = 502;
-		/** <i>native declaration : headers\openvr_capi.h:412</i> */
-		public static final int EVREventType_VREvent_DashboardDeactivated = 503;
-		/** <i>native declaration : headers\openvr_capi.h:413</i> */
-		public static final int EVREventType_VREvent_DashboardThumbSelected = 504;
-		/** <i>native declaration : headers\openvr_capi.h:414</i> */
-		public static final int EVREventType_VREvent_DashboardRequested = 505;
-		/** <i>native declaration : headers\openvr_capi.h:415</i> */
-		public static final int EVREventType_VREvent_ResetDashboard = 506;
-		/** <i>native declaration : headers\openvr_capi.h:416</i> */
-		public static final int EVREventType_VREvent_RenderToast = 507;
-		/** <i>native declaration : headers\openvr_capi.h:417</i> */
-		public static final int EVREventType_VREvent_ImageLoaded = 508;
-		/** <i>native declaration : headers\openvr_capi.h:418</i> */
-		public static final int EVREventType_VREvent_ShowKeyboard = 509;
-		/** <i>native declaration : headers\openvr_capi.h:419</i> */
-		public static final int EVREventType_VREvent_HideKeyboard = 510;
-		/** <i>native declaration : headers\openvr_capi.h:420</i> */
-		public static final int EVREventType_VREvent_OverlayGamepadFocusGained = 511;
-		/** <i>native declaration : headers\openvr_capi.h:421</i> */
-		public static final int EVREventType_VREvent_OverlayGamepadFocusLost = 512;
-		/** <i>native declaration : headers\openvr_capi.h:422</i> */
-		public static final int EVREventType_VREvent_OverlaySharedTextureChanged = 513;
-		/** <i>native declaration : headers\openvr_capi.h:423</i> */
-		public static final int EVREventType_VREvent_DashboardGuideButtonDown = 514;
-		/** <i>native declaration : headers\openvr_capi.h:424</i> */
-		public static final int EVREventType_VREvent_DashboardGuideButtonUp = 515;
-		/** <i>native declaration : headers\openvr_capi.h:425</i> */
-		public static final int EVREventType_VREvent_ScreenshotTriggered = 516;
-		/** <i>native declaration : headers\openvr_capi.h:426</i> */
-		public static final int EVREventType_VREvent_ImageFailed = 517;
-		/** <i>native declaration : headers\openvr_capi.h:427</i> */
-		public static final int EVREventType_VREvent_DashboardOverlayCreated = 518;
-		/** <i>native declaration : headers\openvr_capi.h:428</i> */
-		public static final int EVREventType_VREvent_RequestScreenshot = 520;
-		/** <i>native declaration : headers\openvr_capi.h:429</i> */
-		public static final int EVREventType_VREvent_ScreenshotTaken = 521;
-		/** <i>native declaration : headers\openvr_capi.h:430</i> */
-		public static final int EVREventType_VREvent_ScreenshotFailed = 522;
-		/** <i>native declaration : headers\openvr_capi.h:431</i> */
-		public static final int EVREventType_VREvent_SubmitScreenshotToDashboard = 523;
-		/** <i>native declaration : headers\openvr_capi.h:432</i> */
-		public static final int EVREventType_VREvent_ScreenshotProgressToDashboard = 524;
-		/** <i>native declaration : headers\openvr_capi.h:433</i> */
-		public static final int EVREventType_VREvent_PrimaryDashboardDeviceChanged = 525;
-		/** <i>native declaration : headers\openvr_capi.h:434</i> */
-		public static final int EVREventType_VREvent_Notification_Shown = 600;
-		/** <i>native declaration : headers\openvr_capi.h:435</i> */
-		public static final int EVREventType_VREvent_Notification_Hidden = 601;
-		/** <i>native declaration : headers\openvr_capi.h:436</i> */
-		public static final int EVREventType_VREvent_Notification_BeginInteraction = 602;
-		/** <i>native declaration : headers\openvr_capi.h:437</i> */
-		public static final int EVREventType_VREvent_Notification_Destroyed = 603;
-		/** <i>native declaration : headers\openvr_capi.h:438</i> */
-		public static final int EVREventType_VREvent_Quit = 700;
-		/** <i>native declaration : headers\openvr_capi.h:439</i> */
-		public static final int EVREventType_VREvent_ProcessQuit = 701;
-		/** <i>native declaration : headers\openvr_capi.h:440</i> */
-		public static final int EVREventType_VREvent_QuitAborted_UserPrompt = 702;
-		/** <i>native declaration : headers\openvr_capi.h:441</i> */
-		public static final int EVREventType_VREvent_QuitAcknowledged = 703;
-		/** <i>native declaration : headers\openvr_capi.h:442</i> */
-		public static final int EVREventType_VREvent_DriverRequestedQuit = 704;
-		/** <i>native declaration : headers\openvr_capi.h:443</i> */
-		public static final int EVREventType_VREvent_ChaperoneDataHasChanged = 800;
-		/** <i>native declaration : headers\openvr_capi.h:444</i> */
-		public static final int EVREventType_VREvent_ChaperoneUniverseHasChanged = 801;
-		/** <i>native declaration : headers\openvr_capi.h:445</i> */
-		public static final int EVREventType_VREvent_ChaperoneTempDataHasChanged = 802;
-		/** <i>native declaration : headers\openvr_capi.h:446</i> */
-		public static final int EVREventType_VREvent_ChaperoneSettingsHaveChanged = 803;
-		/** <i>native declaration : headers\openvr_capi.h:447</i> */
-		public static final int EVREventType_VREvent_SeatedZeroPoseReset = 804;
-		/** <i>native declaration : headers\openvr_capi.h:448</i> */
-		public static final int EVREventType_VREvent_AudioSettingsHaveChanged = 820;
-		/** <i>native declaration : headers\openvr_capi.h:449</i> */
-		public static final int EVREventType_VREvent_BackgroundSettingHasChanged = 850;
-		/** <i>native declaration : headers\openvr_capi.h:450</i> */
-		public static final int EVREventType_VREvent_CameraSettingsHaveChanged = 851;
-		/** <i>native declaration : headers\openvr_capi.h:451</i> */
-		public static final int EVREventType_VREvent_ReprojectionSettingHasChanged = 852;
-		/** <i>native declaration : headers\openvr_capi.h:452</i> */
-		public static final int EVREventType_VREvent_ModelSkinSettingsHaveChanged = 853;
-		/** <i>native declaration : headers\openvr_capi.h:453</i> */
-		public static final int EVREventType_VREvent_EnvironmentSettingsHaveChanged = 854;
-		/** <i>native declaration : headers\openvr_capi.h:454</i> */
-		public static final int EVREventType_VREvent_PowerSettingsHaveChanged = 855;
-		/** <i>native declaration : headers\openvr_capi.h:455</i> */
-		public static final int EVREventType_VREvent_EnableHomeAppSettingsHaveChanged = 856;
-		/** <i>native declaration : headers\openvr_capi.h:456</i> */
-		public static final int EVREventType_VREvent_StatusUpdate = 900;
-		/** <i>native declaration : headers\openvr_capi.h:457</i> */
-		public static final int EVREventType_VREvent_MCImageUpdated = 1000;
-		/** <i>native declaration : headers\openvr_capi.h:458</i> */
-		public static final int EVREventType_VREvent_FirmwareUpdateStarted = 1100;
-		/** <i>native declaration : headers\openvr_capi.h:459</i> */
-		public static final int EVREventType_VREvent_FirmwareUpdateFinished = 1101;
-		/** <i>native declaration : headers\openvr_capi.h:460</i> */
-		public static final int EVREventType_VREvent_KeyboardClosed = 1200;
-		/** <i>native declaration : headers\openvr_capi.h:461</i> */
-		public static final int EVREventType_VREvent_KeyboardCharInput = 1201;
-		/** <i>native declaration : headers\openvr_capi.h:462</i> */
-		public static final int EVREventType_VREvent_KeyboardDone = 1202;
-		/** <i>native declaration : headers\openvr_capi.h:463</i> */
-		public static final int EVREventType_VREvent_ApplicationTransitionStarted = 1300;
-		/** <i>native declaration : headers\openvr_capi.h:464</i> */
-		public static final int EVREventType_VREvent_ApplicationTransitionAborted = 1301;
-		/** <i>native declaration : headers\openvr_capi.h:465</i> */
-		public static final int EVREventType_VREvent_ApplicationTransitionNewAppStarted = 1302;
-		/** <i>native declaration : headers\openvr_capi.h:466</i> */
-		public static final int EVREventType_VREvent_ApplicationListUpdated = 1303;
-		/** <i>native declaration : headers\openvr_capi.h:467</i> */
-		public static final int EVREventType_VREvent_ApplicationMimeTypeLoad = 1304;
-		/** <i>native declaration : headers\openvr_capi.h:468</i> */
-		public static final int EVREventType_VREvent_ApplicationTransitionNewAppLaunchComplete = 1305;
-		/** <i>native declaration : headers\openvr_capi.h:469</i> */
-		public static final int EVREventType_VREvent_ProcessConnected = 1306;
-		/** <i>native declaration : headers\openvr_capi.h:470</i> */
-		public static final int EVREventType_VREvent_ProcessDisconnected = 1307;
-		/** <i>native declaration : headers\openvr_capi.h:471</i> */
-		public static final int EVREventType_VREvent_Compositor_MirrorWindowShown = 1400;
-		/** <i>native declaration : headers\openvr_capi.h:472</i> */
-		public static final int EVREventType_VREvent_Compositor_MirrorWindowHidden = 1401;
-		/** <i>native declaration : headers\openvr_capi.h:473</i> */
-		public static final int EVREventType_VREvent_Compositor_ChaperoneBoundsShown = 1410;
-		/** <i>native declaration : headers\openvr_capi.h:474</i> */
-		public static final int EVREventType_VREvent_Compositor_ChaperoneBoundsHidden = 1411;
-		/** <i>native declaration : headers\openvr_capi.h:475</i> */
-		public static final int EVREventType_VREvent_TrackedCamera_StartVideoStream = 1500;
-		/** <i>native declaration : headers\openvr_capi.h:476</i> */
-		public static final int EVREventType_VREvent_TrackedCamera_StopVideoStream = 1501;
-		/** <i>native declaration : headers\openvr_capi.h:477</i> */
-		public static final int EVREventType_VREvent_TrackedCamera_PauseVideoStream = 1502;
-		/** <i>native declaration : headers\openvr_capi.h:478</i> */
-		public static final int EVREventType_VREvent_TrackedCamera_ResumeVideoStream = 1503;
-		/** <i>native declaration : headers\openvr_capi.h:479</i> */
-		public static final int EVREventType_VREvent_TrackedCamera_EditingSurface = 1550;
-		/** <i>native declaration : headers\openvr_capi.h:480</i> */
-		public static final int EVREventType_VREvent_PerformanceTest_EnableCapture = 1600;
-		/** <i>native declaration : headers\openvr_capi.h:481</i> */
-		public static final int EVREventType_VREvent_PerformanceTest_DisableCapture = 1601;
-		/** <i>native declaration : headers\openvr_capi.h:482</i> */
-		public static final int EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602;
-		/** <i>native declaration : headers\openvr_capi.h:483</i> */
-		public static final int EVREventType_VREvent_MessageOverlay_Closed = 1650;
-		/** <i>native declaration : headers\openvr_capi.h:484</i> */
-		public static final int EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000;
-		/** <i>native declaration : headers\openvr_capi.h:485</i> */
-		public static final int EVREventType_VREvent_VendorSpecific_Reserved_End = 19999;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:493</i><br>
-	 * enum values
-	 */
-	public static interface EDeviceActivityLevel {
-		/** <i>native declaration : headers\openvr_capi.h:488</i> */
-		public static final int EDeviceActivityLevel_k_EDeviceActivityLevel_Unknown = -1;
-		/** <i>native declaration : headers\openvr_capi.h:489</i> */
-		public static final int EDeviceActivityLevel_k_EDeviceActivityLevel_Idle = 0;
-		/** <i>native declaration : headers\openvr_capi.h:490</i> */
-		public static final int EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction = 1;
-		/** <i>native declaration : headers\openvr_capi.h:491</i> */
-		public static final int EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction_Timeout = 2;
-		/** <i>native declaration : headers\openvr_capi.h:492</i> */
-		public static final int EDeviceActivityLevel_k_EDeviceActivityLevel_Standby = 3;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:513</i><br>
-	 * enum values
-	 */
-	public static interface EVRButtonId {
-		/** <i>native declaration : headers\openvr_capi.h:495</i> */
-		public static final int EVRButtonId_k_EButton_System = 0;
-		/** <i>native declaration : headers\openvr_capi.h:496</i> */
-		public static final int EVRButtonId_k_EButton_ApplicationMenu = 1;
-		/** <i>native declaration : headers\openvr_capi.h:497</i> */
-		public static final int EVRButtonId_k_EButton_Grip = 2;
-		/** <i>native declaration : headers\openvr_capi.h:498</i> */
-		public static final int EVRButtonId_k_EButton_DPad_Left = 3;
-		/** <i>native declaration : headers\openvr_capi.h:499</i> */
-		public static final int EVRButtonId_k_EButton_DPad_Up = 4;
-		/** <i>native declaration : headers\openvr_capi.h:500</i> */
-		public static final int EVRButtonId_k_EButton_DPad_Right = 5;
-		/** <i>native declaration : headers\openvr_capi.h:501</i> */
-		public static final int EVRButtonId_k_EButton_DPad_Down = 6;
-		/** <i>native declaration : headers\openvr_capi.h:502</i> */
-		public static final int EVRButtonId_k_EButton_A = 7;
-		/** <i>native declaration : headers\openvr_capi.h:503</i> */
-		public static final int EVRButtonId_k_EButton_ProximitySensor = 31;
-		/** <i>native declaration : headers\openvr_capi.h:504</i> */
-		public static final int EVRButtonId_k_EButton_Axis0 = 32;
-		/** <i>native declaration : headers\openvr_capi.h:505</i> */
-		public static final int EVRButtonId_k_EButton_Axis1 = 33;
-		/** <i>native declaration : headers\openvr_capi.h:506</i> */
-		public static final int EVRButtonId_k_EButton_Axis2 = 34;
-		/** <i>native declaration : headers\openvr_capi.h:507</i> */
-		public static final int EVRButtonId_k_EButton_Axis3 = 35;
-		/** <i>native declaration : headers\openvr_capi.h:508</i> */
-		public static final int EVRButtonId_k_EButton_Axis4 = 36;
-		/** <i>native declaration : headers\openvr_capi.h:509</i> */
-		public static final int EVRButtonId_k_EButton_SteamVR_Touchpad = 32;
-		/** <i>native declaration : headers\openvr_capi.h:510</i> */
-		public static final int EVRButtonId_k_EButton_SteamVR_Trigger = 33;
-		/** <i>native declaration : headers\openvr_capi.h:511</i> */
-		public static final int EVRButtonId_k_EButton_Dashboard_Back = 2;
-		/** <i>native declaration : headers\openvr_capi.h:512</i> */
-		public static final int EVRButtonId_k_EButton_Max = 64;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:518</i><br>
-	 * enum values
-	 */
-	public static interface EVRMouseButton {
-		/** <i>native declaration : headers\openvr_capi.h:515</i> */
-		public static final int EVRMouseButton_VRMouseButton_Left = 1;
-		/** <i>native declaration : headers\openvr_capi.h:516</i> */
-		public static final int EVRMouseButton_VRMouseButton_Right = 2;
-		/** <i>native declaration : headers\openvr_capi.h:517</i> */
-		public static final int EVRMouseButton_VRMouseButton_Middle = 4;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:524</i><br>
-	 * enum values
-	 */
-	public static interface EHiddenAreaMeshType {
-		/** <i>native declaration : headers\openvr_capi.h:520</i> */
-		public static final int EHiddenAreaMeshType_k_eHiddenAreaMesh_Standard = 0;
-		/** <i>native declaration : headers\openvr_capi.h:521</i> */
-		public static final int EHiddenAreaMeshType_k_eHiddenAreaMesh_Inverse = 1;
-		/** <i>native declaration : headers\openvr_capi.h:522</i> */
-		public static final int EHiddenAreaMeshType_k_eHiddenAreaMesh_LineLoop = 2;
-		/** <i>native declaration : headers\openvr_capi.h:523</i> */
-		public static final int EHiddenAreaMeshType_k_eHiddenAreaMesh_Max = 3;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:530</i><br>
-	 * enum values
-	 */
-	public static interface EVRControllerAxisType {
-		/** <i>native declaration : headers\openvr_capi.h:526</i> */
-		public static final int EVRControllerAxisType_k_eControllerAxis_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:527</i> */
-		public static final int EVRControllerAxisType_k_eControllerAxis_TrackPad = 1;
-		/** <i>native declaration : headers\openvr_capi.h:528</i> */
-		public static final int EVRControllerAxisType_k_eControllerAxis_Joystick = 2;
-		/** <i>native declaration : headers\openvr_capi.h:529</i> */
-		public static final int EVRControllerAxisType_k_eControllerAxis_Trigger = 3;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:534</i><br>
-	 * enum values
-	 */
-	public static interface EVRControllerEventOutputType {
-		/** <i>native declaration : headers\openvr_capi.h:532</i> */
-		public static final int EVRControllerEventOutputType_ControllerEventOutput_OSEvents = 0;
-		/** <i>native declaration : headers\openvr_capi.h:533</i> */
-		public static final int EVRControllerEventOutputType_ControllerEventOutput_VREvents = 1;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:542</i><br>
-	 * enum values
-	 */
-	public static interface ECollisionBoundsStyle {
-		/** <i>native declaration : headers\openvr_capi.h:536</i> */
-		public static final int ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_BEGINNER = 0;
-		/** <i>native declaration : headers\openvr_capi.h:537</i> */
-		public static final int ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1;
-		/** <i>native declaration : headers\openvr_capi.h:538</i> */
-		public static final int ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_SQUARES = 2;
-		/** <i>native declaration : headers\openvr_capi.h:539</i> */
-		public static final int ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_ADVANCED = 3;
-		/** <i>native declaration : headers\openvr_capi.h:540</i> */
-		public static final int ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_NONE = 4;
-		/** <i>native declaration : headers\openvr_capi.h:541</i> */
-		public static final int ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_COUNT = 5;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:565</i><br>
-	 * enum values
-	 */
-	public static interface EVROverlayError {
-		/** <i>native declaration : headers\openvr_capi.h:544</i> */
-		public static final int EVROverlayError_VROverlayError_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:545</i> */
-		public static final int EVROverlayError_VROverlayError_UnknownOverlay = 10;
-		/** <i>native declaration : headers\openvr_capi.h:546</i> */
-		public static final int EVROverlayError_VROverlayError_InvalidHandle = 11;
-		/** <i>native declaration : headers\openvr_capi.h:547</i> */
-		public static final int EVROverlayError_VROverlayError_PermissionDenied = 12;
-		/** <i>native declaration : headers\openvr_capi.h:548</i> */
-		public static final int EVROverlayError_VROverlayError_OverlayLimitExceeded = 13;
-		/** <i>native declaration : headers\openvr_capi.h:549</i> */
-		public static final int EVROverlayError_VROverlayError_WrongVisibilityType = 14;
-		/** <i>native declaration : headers\openvr_capi.h:550</i> */
-		public static final int EVROverlayError_VROverlayError_KeyTooLong = 15;
-		/** <i>native declaration : headers\openvr_capi.h:551</i> */
-		public static final int EVROverlayError_VROverlayError_NameTooLong = 16;
-		/** <i>native declaration : headers\openvr_capi.h:552</i> */
-		public static final int EVROverlayError_VROverlayError_KeyInUse = 17;
-		/** <i>native declaration : headers\openvr_capi.h:553</i> */
-		public static final int EVROverlayError_VROverlayError_WrongTransformType = 18;
-		/** <i>native declaration : headers\openvr_capi.h:554</i> */
-		public static final int EVROverlayError_VROverlayError_InvalidTrackedDevice = 19;
-		/** <i>native declaration : headers\openvr_capi.h:555</i> */
-		public static final int EVROverlayError_VROverlayError_InvalidParameter = 20;
-		/** <i>native declaration : headers\openvr_capi.h:556</i> */
-		public static final int EVROverlayError_VROverlayError_ThumbnailCantBeDestroyed = 21;
-		/** <i>native declaration : headers\openvr_capi.h:557</i> */
-		public static final int EVROverlayError_VROverlayError_ArrayTooSmall = 22;
-		/** <i>native declaration : headers\openvr_capi.h:558</i> */
-		public static final int EVROverlayError_VROverlayError_RequestFailed = 23;
-		/** <i>native declaration : headers\openvr_capi.h:559</i> */
-		public static final int EVROverlayError_VROverlayError_InvalidTexture = 24;
-		/** <i>native declaration : headers\openvr_capi.h:560</i> */
-		public static final int EVROverlayError_VROverlayError_UnableToLoadFile = 25;
-		/** <i>native declaration : headers\openvr_capi.h:561</i> */
-		public static final int EVROverlayError_VROverlayError_KeyboardAlreadyInUse = 26;
-		/** <i>native declaration : headers\openvr_capi.h:562</i> */
-		public static final int EVROverlayError_VROverlayError_NoNeighbor = 27;
-		/** <i>native declaration : headers\openvr_capi.h:563</i> */
-		public static final int EVROverlayError_VROverlayError_TooManyMaskPrimitives = 29;
-		/** <i>native declaration : headers\openvr_capi.h:564</i> */
-		public static final int EVROverlayError_VROverlayError_BadMaskPrimitive = 30;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:576</i><br>
-	 * enum values
-	 */
-	public static interface EVRApplicationType {
-		/** <i>native declaration : headers\openvr_capi.h:567</i> */
-		public static final int EVRApplicationType_VRApplication_Other = 0;
-		/** <i>native declaration : headers\openvr_capi.h:568</i> */
-		public static final int EVRApplicationType_VRApplication_Scene = 1;
-		/** <i>native declaration : headers\openvr_capi.h:569</i> */
-		public static final int EVRApplicationType_VRApplication_Overlay = 2;
-		/** <i>native declaration : headers\openvr_capi.h:570</i> */
-		public static final int EVRApplicationType_VRApplication_Background = 3;
-		/** <i>native declaration : headers\openvr_capi.h:571</i> */
-		public static final int EVRApplicationType_VRApplication_Utility = 4;
-		/** <i>native declaration : headers\openvr_capi.h:572</i> */
-		public static final int EVRApplicationType_VRApplication_VRMonitor = 5;
-		/** <i>native declaration : headers\openvr_capi.h:573</i> */
-		public static final int EVRApplicationType_VRApplication_SteamWatchdog = 6;
-		/** <i>native declaration : headers\openvr_capi.h:574</i> */
-		public static final int EVRApplicationType_VRApplication_Bootstrapper = 7;
-		/** <i>native declaration : headers\openvr_capi.h:575</i> */
-		public static final int EVRApplicationType_VRApplication_Max = 8;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:581</i><br>
-	 * enum values
-	 */
-	public static interface EVRFirmwareError {
-		/** <i>native declaration : headers\openvr_capi.h:578</i> */
-		public static final int EVRFirmwareError_VRFirmwareError_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:579</i> */
-		public static final int EVRFirmwareError_VRFirmwareError_Success = 1;
-		/** <i>native declaration : headers\openvr_capi.h:580</i> */
-		public static final int EVRFirmwareError_VRFirmwareError_Fail = 2;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:588</i><br>
-	 * enum values
-	 */
-	public static interface EVRNotificationError {
-		/** <i>native declaration : headers\openvr_capi.h:583</i> */
-		public static final int EVRNotificationError_VRNotificationError_OK = 0;
-		/** <i>native declaration : headers\openvr_capi.h:584</i> */
-		public static final int EVRNotificationError_VRNotificationError_InvalidNotificationId = 100;
-		/** <i>native declaration : headers\openvr_capi.h:585</i> */
-		public static final int EVRNotificationError_VRNotificationError_NotificationQueueFull = 101;
-		/** <i>native declaration : headers\openvr_capi.h:586</i> */
-		public static final int EVRNotificationError_VRNotificationError_InvalidOverlayHandle = 102;
-		/** <i>native declaration : headers\openvr_capi.h:587</i> */
-		public static final int EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExists = 103;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:671</i><br>
-	 * enum values
-	 */
-	public static interface EVRInitError {
-		/** <i>native declaration : headers\openvr_capi.h:590</i> */
-		public static final int EVRInitError_VRInitError_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:591</i> */
-		public static final int EVRInitError_VRInitError_Unknown = 1;
-		/** <i>native declaration : headers\openvr_capi.h:592</i> */
-		public static final int EVRInitError_VRInitError_Init_InstallationNotFound = 100;
-		/** <i>native declaration : headers\openvr_capi.h:593</i> */
-		public static final int EVRInitError_VRInitError_Init_InstallationCorrupt = 101;
-		/** <i>native declaration : headers\openvr_capi.h:594</i> */
-		public static final int EVRInitError_VRInitError_Init_VRClientDLLNotFound = 102;
-		/** <i>native declaration : headers\openvr_capi.h:595</i> */
-		public static final int EVRInitError_VRInitError_Init_FileNotFound = 103;
-		/** <i>native declaration : headers\openvr_capi.h:596</i> */
-		public static final int EVRInitError_VRInitError_Init_FactoryNotFound = 104;
-		/** <i>native declaration : headers\openvr_capi.h:597</i> */
-		public static final int EVRInitError_VRInitError_Init_InterfaceNotFound = 105;
-		/** <i>native declaration : headers\openvr_capi.h:598</i> */
-		public static final int EVRInitError_VRInitError_Init_InvalidInterface = 106;
-		/** <i>native declaration : headers\openvr_capi.h:599</i> */
-		public static final int EVRInitError_VRInitError_Init_UserConfigDirectoryInvalid = 107;
-		/** <i>native declaration : headers\openvr_capi.h:600</i> */
-		public static final int EVRInitError_VRInitError_Init_HmdNotFound = 108;
-		/** <i>native declaration : headers\openvr_capi.h:601</i> */
-		public static final int EVRInitError_VRInitError_Init_NotInitialized = 109;
-		/** <i>native declaration : headers\openvr_capi.h:602</i> */
-		public static final int EVRInitError_VRInitError_Init_PathRegistryNotFound = 110;
-		/** <i>native declaration : headers\openvr_capi.h:603</i> */
-		public static final int EVRInitError_VRInitError_Init_NoConfigPath = 111;
-		/** <i>native declaration : headers\openvr_capi.h:604</i> */
-		public static final int EVRInitError_VRInitError_Init_NoLogPath = 112;
-		/** <i>native declaration : headers\openvr_capi.h:605</i> */
-		public static final int EVRInitError_VRInitError_Init_PathRegistryNotWritable = 113;
-		/** <i>native declaration : headers\openvr_capi.h:606</i> */
-		public static final int EVRInitError_VRInitError_Init_AppInfoInitFailed = 114;
-		/** <i>native declaration : headers\openvr_capi.h:607</i> */
-		public static final int EVRInitError_VRInitError_Init_Retry = 115;
-		/** <i>native declaration : headers\openvr_capi.h:608</i> */
-		public static final int EVRInitError_VRInitError_Init_InitCanceledByUser = 116;
-		/** <i>native declaration : headers\openvr_capi.h:609</i> */
-		public static final int EVRInitError_VRInitError_Init_AnotherAppLaunching = 117;
-		/** <i>native declaration : headers\openvr_capi.h:610</i> */
-		public static final int EVRInitError_VRInitError_Init_SettingsInitFailed = 118;
-		/** <i>native declaration : headers\openvr_capi.h:611</i> */
-		public static final int EVRInitError_VRInitError_Init_ShuttingDown = 119;
-		/** <i>native declaration : headers\openvr_capi.h:612</i> */
-		public static final int EVRInitError_VRInitError_Init_TooManyObjects = 120;
-		/** <i>native declaration : headers\openvr_capi.h:613</i> */
-		public static final int EVRInitError_VRInitError_Init_NoServerForBackgroundApp = 121;
-		/** <i>native declaration : headers\openvr_capi.h:614</i> */
-		public static final int EVRInitError_VRInitError_Init_NotSupportedWithCompositor = 122;
-		/** <i>native declaration : headers\openvr_capi.h:615</i> */
-		public static final int EVRInitError_VRInitError_Init_NotAvailableToUtilityApps = 123;
-		/** <i>native declaration : headers\openvr_capi.h:616</i> */
-		public static final int EVRInitError_VRInitError_Init_Internal = 124;
-		/** <i>native declaration : headers\openvr_capi.h:617</i> */
-		public static final int EVRInitError_VRInitError_Init_HmdDriverIdIsNone = 125;
-		/** <i>native declaration : headers\openvr_capi.h:618</i> */
-		public static final int EVRInitError_VRInitError_Init_HmdNotFoundPresenceFailed = 126;
-		/** <i>native declaration : headers\openvr_capi.h:619</i> */
-		public static final int EVRInitError_VRInitError_Init_VRMonitorNotFound = 127;
-		/** <i>native declaration : headers\openvr_capi.h:620</i> */
-		public static final int EVRInitError_VRInitError_Init_VRMonitorStartupFailed = 128;
-		/** <i>native declaration : headers\openvr_capi.h:621</i> */
-		public static final int EVRInitError_VRInitError_Init_LowPowerWatchdogNotSupported = 129;
-		/** <i>native declaration : headers\openvr_capi.h:622</i> */
-		public static final int EVRInitError_VRInitError_Init_InvalidApplicationType = 130;
-		/** <i>native declaration : headers\openvr_capi.h:623</i> */
-		public static final int EVRInitError_VRInitError_Init_NotAvailableToWatchdogApps = 131;
-		/** <i>native declaration : headers\openvr_capi.h:624</i> */
-		public static final int EVRInitError_VRInitError_Init_WatchdogDisabledInSettings = 132;
-		/** <i>native declaration : headers\openvr_capi.h:625</i> */
-		public static final int EVRInitError_VRInitError_Init_VRDashboardNotFound = 133;
-		/** <i>native declaration : headers\openvr_capi.h:626</i> */
-		public static final int EVRInitError_VRInitError_Init_VRDashboardStartupFailed = 134;
-		/** <i>native declaration : headers\openvr_capi.h:627</i> */
-		public static final int EVRInitError_VRInitError_Init_VRHomeNotFound = 135;
-		/** <i>native declaration : headers\openvr_capi.h:628</i> */
-		public static final int EVRInitError_VRInitError_Init_VRHomeStartupFailed = 136;
-		/** <i>native declaration : headers\openvr_capi.h:629</i> */
-		public static final int EVRInitError_VRInitError_Driver_Failed = 200;
-		/** <i>native declaration : headers\openvr_capi.h:630</i> */
-		public static final int EVRInitError_VRInitError_Driver_Unknown = 201;
-		/** <i>native declaration : headers\openvr_capi.h:631</i> */
-		public static final int EVRInitError_VRInitError_Driver_HmdUnknown = 202;
-		/** <i>native declaration : headers\openvr_capi.h:632</i> */
-		public static final int EVRInitError_VRInitError_Driver_NotLoaded = 203;
-		/** <i>native declaration : headers\openvr_capi.h:633</i> */
-		public static final int EVRInitError_VRInitError_Driver_RuntimeOutOfDate = 204;
-		/** <i>native declaration : headers\openvr_capi.h:634</i> */
-		public static final int EVRInitError_VRInitError_Driver_HmdInUse = 205;
-		/** <i>native declaration : headers\openvr_capi.h:635</i> */
-		public static final int EVRInitError_VRInitError_Driver_NotCalibrated = 206;
-		/** <i>native declaration : headers\openvr_capi.h:636</i> */
-		public static final int EVRInitError_VRInitError_Driver_CalibrationInvalid = 207;
-		/** <i>native declaration : headers\openvr_capi.h:637</i> */
-		public static final int EVRInitError_VRInitError_Driver_HmdDisplayNotFound = 208;
-		/** <i>native declaration : headers\openvr_capi.h:638</i> */
-		public static final int EVRInitError_VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209;
-		/** <i>native declaration : headers\openvr_capi.h:639</i> */
-		public static final int EVRInitError_VRInitError_Driver_HmdDriverIdOutOfBounds = 211;
-		/** <i>native declaration : headers\openvr_capi.h:640</i> */
-		public static final int EVRInitError_VRInitError_Driver_HmdDisplayMirrored = 212;
-		/** <i>native declaration : headers\openvr_capi.h:641</i> */
-		public static final int EVRInitError_VRInitError_IPC_ServerInitFailed = 300;
-		/** <i>native declaration : headers\openvr_capi.h:642</i> */
-		public static final int EVRInitError_VRInitError_IPC_ConnectFailed = 301;
-		/** <i>native declaration : headers\openvr_capi.h:643</i> */
-		public static final int EVRInitError_VRInitError_IPC_SharedStateInitFailed = 302;
-		/** <i>native declaration : headers\openvr_capi.h:644</i> */
-		public static final int EVRInitError_VRInitError_IPC_CompositorInitFailed = 303;
-		/** <i>native declaration : headers\openvr_capi.h:645</i> */
-		public static final int EVRInitError_VRInitError_IPC_MutexInitFailed = 304;
-		/** <i>native declaration : headers\openvr_capi.h:646</i> */
-		public static final int EVRInitError_VRInitError_IPC_Failed = 305;
-		/** <i>native declaration : headers\openvr_capi.h:647</i> */
-		public static final int EVRInitError_VRInitError_IPC_CompositorConnectFailed = 306;
-		/** <i>native declaration : headers\openvr_capi.h:648</i> */
-		public static final int EVRInitError_VRInitError_IPC_CompositorInvalidConnectResponse = 307;
-		/** <i>native declaration : headers\openvr_capi.h:649</i> */
-		public static final int EVRInitError_VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308;
-		/** <i>native declaration : headers\openvr_capi.h:650</i> */
-		public static final int EVRInitError_VRInitError_Compositor_Failed = 400;
-		/** <i>native declaration : headers\openvr_capi.h:651</i> */
-		public static final int EVRInitError_VRInitError_Compositor_D3D11HardwareRequired = 401;
-		/** <i>native declaration : headers\openvr_capi.h:652</i> */
-		public static final int EVRInitError_VRInitError_Compositor_FirmwareRequiresUpdate = 402;
-		/** <i>native declaration : headers\openvr_capi.h:653</i> */
-		public static final int EVRInitError_VRInitError_Compositor_OverlayInitFailed = 403;
-		/** <i>native declaration : headers\openvr_capi.h:654</i> */
-		public static final int EVRInitError_VRInitError_Compositor_ScreenshotsInitFailed = 404;
-		/** <i>native declaration : headers\openvr_capi.h:655</i> */
-		public static final int EVRInitError_VRInitError_Compositor_UnableToCreateDevice = 405;
-		/** <i>native declaration : headers\openvr_capi.h:656</i> */
-		public static final int EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000;
-		/** <i>native declaration : headers\openvr_capi.h:657</i> */
-		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101;
-		/** <i>native declaration : headers\openvr_capi.h:658</i> */
-		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102;
-		/** <i>native declaration : headers\openvr_capi.h:659</i> */
-		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103;
-		/** <i>native declaration : headers\openvr_capi.h:660</i> */
-		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104;
-		/** <i>native declaration : headers\openvr_capi.h:661</i> */
-		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105;
-		/** <i>native declaration : headers\openvr_capi.h:662</i> */
-		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106;
-		/** <i>native declaration : headers\openvr_capi.h:663</i> */
-		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107;
-		/** <i>native declaration : headers\openvr_capi.h:664</i> */
-		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108;
-		/** <i>native declaration : headers\openvr_capi.h:665</i> */
-		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109;
-		/** <i>native declaration : headers\openvr_capi.h:666</i> */
-		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110;
-		/** <i>native declaration : headers\openvr_capi.h:667</i> */
-		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111;
-		/** <i>native declaration : headers\openvr_capi.h:668</i> */
-		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError = 1112;
-		/** <i>native declaration : headers\openvr_capi.h:669</i> */
-		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113;
-		/** <i>native declaration : headers\openvr_capi.h:670</i> */
-		public static final int EVRInitError_VRInitError_Steam_SteamInstallationNotFound = 2000;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:679</i><br>
-	 * enum values
-	 */
-	public static interface EVRScreenshotType {
-		/** <i>native declaration : headers\openvr_capi.h:673</i> */
-		public static final int EVRScreenshotType_VRScreenshotType_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:674</i> */
-		public static final int EVRScreenshotType_VRScreenshotType_Mono = 1;
-		/** <i>native declaration : headers\openvr_capi.h:675</i> */
-		public static final int EVRScreenshotType_VRScreenshotType_Stereo = 2;
-		/** <i>native declaration : headers\openvr_capi.h:676</i> */
-		public static final int EVRScreenshotType_VRScreenshotType_Cubemap = 3;
-		/** <i>native declaration : headers\openvr_capi.h:677</i> */
-		public static final int EVRScreenshotType_VRScreenshotType_MonoPanorama = 4;
-		/** <i>native declaration : headers\openvr_capi.h:678</i> */
-		public static final int EVRScreenshotType_VRScreenshotType_StereoPanorama = 5;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:683</i><br>
-	 * enum values
-	 */
-	public static interface EVRScreenshotPropertyFilenames {
-		/** <i>native declaration : headers\openvr_capi.h:681</i> */
-		public static final int EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_Preview = 0;
-		/** <i>native declaration : headers\openvr_capi.h:682</i> */
-		public static final int EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_VR = 1;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:702</i><br>
-	 * enum values
-	 */
-	public static interface EVRTrackedCameraError {
-		/** <i>native declaration : headers\openvr_capi.h:685</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:686</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_OperationFailed = 100;
-		/** <i>native declaration : headers\openvr_capi.h:687</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_InvalidHandle = 101;
-		/** <i>native declaration : headers\openvr_capi.h:688</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameHeaderVersion = 102;
-		/** <i>native declaration : headers\openvr_capi.h:689</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_OutOfHandles = 103;
-		/** <i>native declaration : headers\openvr_capi.h:690</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_IPCFailure = 104;
-		/** <i>native declaration : headers\openvr_capi.h:691</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_NotSupportedForThisDevice = 105;
-		/** <i>native declaration : headers\openvr_capi.h:692</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_SharedMemoryFailure = 106;
-		/** <i>native declaration : headers\openvr_capi.h:693</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_FrameBufferingFailure = 107;
-		/** <i>native declaration : headers\openvr_capi.h:694</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_StreamSetupFailure = 108;
-		/** <i>native declaration : headers\openvr_capi.h:695</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_InvalidGLTextureId = 109;
-		/** <i>native declaration : headers\openvr_capi.h:696</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_InvalidSharedTextureHandle = 110;
-		/** <i>native declaration : headers\openvr_capi.h:697</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_FailedToGetGLTextureId = 111;
-		/** <i>native declaration : headers\openvr_capi.h:698</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_SharedTextureFailure = 112;
-		/** <i>native declaration : headers\openvr_capi.h:699</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_NoFrameAvailable = 113;
-		/** <i>native declaration : headers\openvr_capi.h:700</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_InvalidArgument = 114;
-		/** <i>native declaration : headers\openvr_capi.h:701</i> */
-		public static final int EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameBufferSize = 115;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:708</i><br>
-	 * enum values
-	 */
-	public static interface EVRTrackedCameraFrameType {
-		/** <i>native declaration : headers\openvr_capi.h:704</i> */
-		public static final int EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Distorted = 0;
-		/** <i>native declaration : headers\openvr_capi.h:705</i> */
-		public static final int EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Undistorted = 1;
-		/** <i>native declaration : headers\openvr_capi.h:706</i> */
-		public static final int EVRTrackedCameraFrameType_VRTrackedCameraFrameType_MaximumUndistorted = 2;
-		/** <i>native declaration : headers\openvr_capi.h:707</i> */
-		public static final int EVRTrackedCameraFrameType_MAX_CAMERA_FRAME_TYPES = 3;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:731</i><br>
-	 * enum values
-	 */
-	public static interface EVRApplicationError {
-		/** <i>native declaration : headers\openvr_capi.h:710</i> */
-		public static final int EVRApplicationError_VRApplicationError_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:711</i> */
-		public static final int EVRApplicationError_VRApplicationError_AppKeyAlreadyExists = 100;
-		/** <i>native declaration : headers\openvr_capi.h:712</i> */
-		public static final int EVRApplicationError_VRApplicationError_NoManifest = 101;
-		/** <i>native declaration : headers\openvr_capi.h:713</i> */
-		public static final int EVRApplicationError_VRApplicationError_NoApplication = 102;
-		/** <i>native declaration : headers\openvr_capi.h:714</i> */
-		public static final int EVRApplicationError_VRApplicationError_InvalidIndex = 103;
-		/** <i>native declaration : headers\openvr_capi.h:715</i> */
-		public static final int EVRApplicationError_VRApplicationError_UnknownApplication = 104;
-		/** <i>native declaration : headers\openvr_capi.h:716</i> */
-		public static final int EVRApplicationError_VRApplicationError_IPCFailed = 105;
-		/** <i>native declaration : headers\openvr_capi.h:717</i> */
-		public static final int EVRApplicationError_VRApplicationError_ApplicationAlreadyRunning = 106;
-		/** <i>native declaration : headers\openvr_capi.h:718</i> */
-		public static final int EVRApplicationError_VRApplicationError_InvalidManifest = 107;
-		/** <i>native declaration : headers\openvr_capi.h:719</i> */
-		public static final int EVRApplicationError_VRApplicationError_InvalidApplication = 108;
-		/** <i>native declaration : headers\openvr_capi.h:720</i> */
-		public static final int EVRApplicationError_VRApplicationError_LaunchFailed = 109;
-		/** <i>native declaration : headers\openvr_capi.h:721</i> */
-		public static final int EVRApplicationError_VRApplicationError_ApplicationAlreadyStarting = 110;
-		/** <i>native declaration : headers\openvr_capi.h:722</i> */
-		public static final int EVRApplicationError_VRApplicationError_LaunchInProgress = 111;
-		/** <i>native declaration : headers\openvr_capi.h:723</i> */
-		public static final int EVRApplicationError_VRApplicationError_OldApplicationQuitting = 112;
-		/** <i>native declaration : headers\openvr_capi.h:724</i> */
-		public static final int EVRApplicationError_VRApplicationError_TransitionAborted = 113;
-		/** <i>native declaration : headers\openvr_capi.h:725</i> */
-		public static final int EVRApplicationError_VRApplicationError_IsTemplate = 114;
-		/** <i>native declaration : headers\openvr_capi.h:726</i> */
-		public static final int EVRApplicationError_VRApplicationError_SteamVRIsExiting = 115;
-		/** <i>native declaration : headers\openvr_capi.h:727</i> */
-		public static final int EVRApplicationError_VRApplicationError_BufferTooSmall = 200;
-		/** <i>native declaration : headers\openvr_capi.h:728</i> */
-		public static final int EVRApplicationError_VRApplicationError_PropertyNotSet = 201;
-		/** <i>native declaration : headers\openvr_capi.h:729</i> */
-		public static final int EVRApplicationError_VRApplicationError_UnknownProperty = 202;
-		/** <i>native declaration : headers\openvr_capi.h:730</i> */
-		public static final int EVRApplicationError_VRApplicationError_InvalidParameter = 203;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:749</i><br>
-	 * enum values
-	 */
-	public static interface EVRApplicationProperty {
-		/** <i>native declaration : headers\openvr_capi.h:733</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_Name_String = 0;
-		/** <i>native declaration : headers\openvr_capi.h:734</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_LaunchType_String = 11;
-		/** <i>native declaration : headers\openvr_capi.h:735</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_WorkingDirectory_String = 12;
-		/** <i>native declaration : headers\openvr_capi.h:736</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_BinaryPath_String = 13;
-		/** <i>native declaration : headers\openvr_capi.h:737</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_Arguments_String = 14;
-		/** <i>native declaration : headers\openvr_capi.h:738</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_URL_String = 15;
-		/** <i>native declaration : headers\openvr_capi.h:739</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_Description_String = 50;
-		/** <i>native declaration : headers\openvr_capi.h:740</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_NewsURL_String = 51;
-		/** <i>native declaration : headers\openvr_capi.h:741</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_ImagePath_String = 52;
-		/** <i>native declaration : headers\openvr_capi.h:742</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_Source_String = 53;
-		/** <i>native declaration : headers\openvr_capi.h:743</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool = 60;
-		/** <i>native declaration : headers\openvr_capi.h:744</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool = 61;
-		/** <i>native declaration : headers\openvr_capi.h:745</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool = 62;
-		/** <i>native declaration : headers\openvr_capi.h:746</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_IsInternal_Bool = 63;
-		/** <i>native declaration : headers\openvr_capi.h:747</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_WantsCompositorPauseInStandby_Bool = 64;
-		/** <i>native declaration : headers\openvr_capi.h:748</i> */
-		public static final int EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64 = 70;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:755</i><br>
-	 * enum values
-	 */
-	public static interface EVRApplicationTransitionState {
-		/** <i>native declaration : headers\openvr_capi.h:751</i> */
-		public static final int EVRApplicationTransitionState_VRApplicationTransition_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:752</i> */
-		public static final int EVRApplicationTransitionState_VRApplicationTransition_OldAppQuitSent = 10;
-		/** <i>native declaration : headers\openvr_capi.h:753</i> */
-		public static final int EVRApplicationTransitionState_VRApplicationTransition_WaitingForExternalLaunch = 11;
-		/** <i>native declaration : headers\openvr_capi.h:754</i> */
-		public static final int EVRApplicationTransitionState_VRApplicationTransition_NewAppLaunched = 20;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:767</i><br>
-	 * enum values
-	 */
-	public static interface ChaperoneCalibrationState {
-		/** <i>native declaration : headers\openvr_capi.h:757</i> */
-		public static final int ChaperoneCalibrationState_OK = 1;
-		/** <i>native declaration : headers\openvr_capi.h:758</i> */
-		public static final int ChaperoneCalibrationState_Warning = 100;
-		/** <i>native declaration : headers\openvr_capi.h:759</i> */
-		public static final int ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101;
-		/** <i>native declaration : headers\openvr_capi.h:760</i> */
-		public static final int ChaperoneCalibrationState_Warning_BaseStationRemoved = 102;
-		/** <i>native declaration : headers\openvr_capi.h:761</i> */
-		public static final int ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103;
-		/** <i>native declaration : headers\openvr_capi.h:762</i> */
-		public static final int ChaperoneCalibrationState_Error = 200;
-		/** <i>native declaration : headers\openvr_capi.h:763</i> */
-		public static final int ChaperoneCalibrationState_Error_BaseStationUninitialized = 201;
-		/** <i>native declaration : headers\openvr_capi.h:764</i> */
-		public static final int ChaperoneCalibrationState_Error_BaseStationConflict = 202;
-		/** <i>native declaration : headers\openvr_capi.h:765</i> */
-		public static final int ChaperoneCalibrationState_Error_PlayAreaInvalid = 203;
-		/** <i>native declaration : headers\openvr_capi.h:766</i> */
-		public static final int ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:771</i><br>
-	 * enum values
-	 */
-	public static interface EChaperoneConfigFile {
-		/** <i>native declaration : headers\openvr_capi.h:769</i> */
-		public static final int EChaperoneConfigFile_Live = 1;
-		/** <i>native declaration : headers\openvr_capi.h:770</i> */
-		public static final int EChaperoneConfigFile_Temp = 2;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:774</i><br>
-	 * enum values
-	 */
-	public static interface EChaperoneImportFlags {
-		/** <i>native declaration : headers\openvr_capi.h:773</i> */
-		public static final int EChaperoneImportFlags_EChaperoneImport_BoundsOnly = 1;
-	};
+	 * <i>native declaration : headers\openvr_capi.h:229</i><br>
+	 * enum values
+	 */
+	public static interface EVREye {
+		/** <i>native declaration : headers\openvr_capi.h:227</i> */
+		public static final int EVREye_Eye_Left = 0;
+		/** <i>native declaration : headers\openvr_capi.h:228</i> */
+		public static final int EVREye_Eye_Right = 1;
+	};
 	/**
-	 * <i>native declaration : headers\openvr_capi.h:788</i><br>
-	 * enum values
-	 */
-	public static interface EVRCompositorError {
-		/** <i>native declaration : headers\openvr_capi.h:776</i> */
-		public static final int EVRCompositorError_VRCompositorError_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:777</i> */
-		public static final int EVRCompositorError_VRCompositorError_RequestFailed = 1;
-		/** <i>native declaration : headers\openvr_capi.h:778</i> */
-		public static final int EVRCompositorError_VRCompositorError_IncompatibleVersion = 100;
-		/** <i>native declaration : headers\openvr_capi.h:779</i> */
-		public static final int EVRCompositorError_VRCompositorError_DoNotHaveFocus = 101;
-		/** <i>native declaration : headers\openvr_capi.h:780</i> */
-		public static final int EVRCompositorError_VRCompositorError_InvalidTexture = 102;
-		/** <i>native declaration : headers\openvr_capi.h:781</i> */
-		public static final int EVRCompositorError_VRCompositorError_IsNotSceneApplication = 103;
-		/** <i>native declaration : headers\openvr_capi.h:782</i> */
-		public static final int EVRCompositorError_VRCompositorError_TextureIsOnWrongDevice = 104;
-		/** <i>native declaration : headers\openvr_capi.h:783</i> */
-		public static final int EVRCompositorError_VRCompositorError_TextureUsesUnsupportedFormat = 105;
-		/** <i>native declaration : headers\openvr_capi.h:784</i> */
-		public static final int EVRCompositorError_VRCompositorError_SharedTexturesNotSupported = 106;
-		/** <i>native declaration : headers\openvr_capi.h:785</i> */
-		public static final int EVRCompositorError_VRCompositorError_IndexOutOfRange = 107;
-		/** <i>native declaration : headers\openvr_capi.h:786</i> */
-		public static final int EVRCompositorError_VRCompositorError_AlreadySubmitted = 108;
-		/** <i>native declaration : headers\openvr_capi.h:787</i> */
-		public static final int EVRCompositorError_VRCompositorError_InvalidBounds = 109;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:792</i><br>
-	 * enum values
-	 */
-	public static interface VROverlayInputMethod {
-		/** <i>native declaration : headers\openvr_capi.h:790</i> */
-		public static final int VROverlayInputMethod_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:791</i> */
-		public static final int VROverlayInputMethod_Mouse = 1;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:798</i><br>
-	 * enum values
-	 */
-	public static interface VROverlayTransformType {
-		/** <i>native declaration : headers\openvr_capi.h:794</i> */
-		public static final int VROverlayTransformType_VROverlayTransform_Absolute = 0;
-		/** <i>native declaration : headers\openvr_capi.h:795</i> */
-		public static final int VROverlayTransformType_VROverlayTransform_TrackedDeviceRelative = 1;
-		/** <i>native declaration : headers\openvr_capi.h:796</i> */
-		public static final int VROverlayTransformType_VROverlayTransform_SystemOverlay = 2;
-		/** <i>native declaration : headers\openvr_capi.h:797</i> */
-		public static final int VROverlayTransformType_VROverlayTransform_TrackedComponent = 3;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:816</i><br>
-	 * enum values
-	 */
-	public static interface VROverlayFlags {
-		/** <i>native declaration : headers\openvr_capi.h:800</i> */
-		public static final int VROverlayFlags_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:801</i> */
-		public static final int VROverlayFlags_Curved = 1;
-		/** <i>native declaration : headers\openvr_capi.h:802</i> */
-		public static final int VROverlayFlags_RGSS4X = 2;
-		/** <i>native declaration : headers\openvr_capi.h:803</i> */
-		public static final int VROverlayFlags_NoDashboardTab = 3;
-		/** <i>native declaration : headers\openvr_capi.h:804</i> */
-		public static final int VROverlayFlags_AcceptsGamepadEvents = 4;
-		/** <i>native declaration : headers\openvr_capi.h:805</i> */
-		public static final int VROverlayFlags_ShowGamepadFocus = 5;
-		/** <i>native declaration : headers\openvr_capi.h:806</i> */
-		public static final int VROverlayFlags_SendVRScrollEvents = 6;
-		/** <i>native declaration : headers\openvr_capi.h:807</i> */
-		public static final int VROverlayFlags_SendVRTouchpadEvents = 7;
-		/** <i>native declaration : headers\openvr_capi.h:808</i> */
-		public static final int VROverlayFlags_ShowTouchPadScrollWheel = 8;
-		/** <i>native declaration : headers\openvr_capi.h:809</i> */
-		public static final int VROverlayFlags_TransferOwnershipToInternalProcess = 9;
-		/** <i>native declaration : headers\openvr_capi.h:810</i> */
-		public static final int VROverlayFlags_SideBySide_Parallel = 10;
-		/** <i>native declaration : headers\openvr_capi.h:811</i> */
-		public static final int VROverlayFlags_SideBySide_Crossed = 11;
-		/** <i>native declaration : headers\openvr_capi.h:812</i> */
-		public static final int VROverlayFlags_Panorama = 12;
-		/** <i>native declaration : headers\openvr_capi.h:813</i> */
-		public static final int VROverlayFlags_StereoPanorama = 13;
-		/** <i>native declaration : headers\openvr_capi.h:814</i> */
-		public static final int VROverlayFlags_SortWithNonSceneOverlays = 14;
-		/** <i>native declaration : headers\openvr_capi.h:815</i> */
-		public static final int VROverlayFlags_VisibleInDashboard = 15;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:825</i><br>
-	 * enum values
-	 */
-	public static interface VRMessageOverlayResponse {
-		/** <i>native declaration : headers\openvr_capi.h:818</i> */
-		public static final int VRMessageOverlayResponse_ButtonPress_0 = 0;
-		/** <i>native declaration : headers\openvr_capi.h:819</i> */
-		public static final int VRMessageOverlayResponse_ButtonPress_1 = 1;
-		/** <i>native declaration : headers\openvr_capi.h:820</i> */
-		public static final int VRMessageOverlayResponse_ButtonPress_2 = 2;
-		/** <i>native declaration : headers\openvr_capi.h:821</i> */
-		public static final int VRMessageOverlayResponse_ButtonPress_3 = 3;
-		/** <i>native declaration : headers\openvr_capi.h:822</i> */
-		public static final int VRMessageOverlayResponse_CouldntFindSystemOverlay = 4;
-		/** <i>native declaration : headers\openvr_capi.h:823</i> */
-		public static final int VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay = 5;
-		/** <i>native declaration : headers\openvr_capi.h:824</i> */
-		public static final int VRMessageOverlayResponse_ApplicationQuit = 6;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:830</i><br>
-	 * enum values
-	 */
-	public static interface EGamepadTextInputMode {
-		/** <i>native declaration : headers\openvr_capi.h:827</i> */
-		public static final int EGamepadTextInputMode_k_EGamepadTextInputModeNormal = 0;
-		/** <i>native declaration : headers\openvr_capi.h:828</i> */
-		public static final int EGamepadTextInputMode_k_EGamepadTextInputModePassword = 1;
-		/** <i>native declaration : headers\openvr_capi.h:829</i> */
-		public static final int EGamepadTextInputMode_k_EGamepadTextInputModeSubmit = 2;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:834</i><br>
-	 * enum values
-	 */
-	public static interface EGamepadTextInputLineMode {
-		/** <i>native declaration : headers\openvr_capi.h:832</i> */
-		public static final int EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine = 0;
-		/** <i>native declaration : headers\openvr_capi.h:833</i> */
-		public static final int EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines = 1;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:841</i><br>
-	 * enum values
-	 */
-	public static interface EOverlayDirection {
-		/** <i>native declaration : headers\openvr_capi.h:836</i> */
-		public static final int EOverlayDirection_OverlayDirection_Up = 0;
-		/** <i>native declaration : headers\openvr_capi.h:837</i> */
-		public static final int EOverlayDirection_OverlayDirection_Down = 1;
-		/** <i>native declaration : headers\openvr_capi.h:838</i> */
-		public static final int EOverlayDirection_OverlayDirection_Left = 2;
-		/** <i>native declaration : headers\openvr_capi.h:839</i> */
-		public static final int EOverlayDirection_OverlayDirection_Right = 3;
-		/** <i>native declaration : headers\openvr_capi.h:840</i> */
-		public static final int EOverlayDirection_OverlayDirection_Count = 4;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:845</i><br>
-	 * enum values
-	 */
-	public static interface EVROverlayIntersectionMaskPrimitiveType {
-		/** <i>native declaration : headers\openvr_capi.h:843</i> */
-		public static final int EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType_Rectangle = 0;
-		/** <i>native declaration : headers\openvr_capi.h:844</i> */
-		public static final int EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType_Circle = 1;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:860</i><br>
-	 * enum values
-	 */
-	public static interface EVRRenderModelError {
-		/** <i>native declaration : headers\openvr_capi.h:847</i> */
-		public static final int EVRRenderModelError_VRRenderModelError_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:848</i> */
-		public static final int EVRRenderModelError_VRRenderModelError_Loading = 100;
-		/** <i>native declaration : headers\openvr_capi.h:849</i> */
-		public static final int EVRRenderModelError_VRRenderModelError_NotSupported = 200;
-		/** <i>native declaration : headers\openvr_capi.h:850</i> */
-		public static final int EVRRenderModelError_VRRenderModelError_InvalidArg = 300;
-		/** <i>native declaration : headers\openvr_capi.h:851</i> */
-		public static final int EVRRenderModelError_VRRenderModelError_InvalidModel = 301;
-		/** <i>native declaration : headers\openvr_capi.h:852</i> */
-		public static final int EVRRenderModelError_VRRenderModelError_NoShapes = 302;
-		/** <i>native declaration : headers\openvr_capi.h:853</i> */
-		public static final int EVRRenderModelError_VRRenderModelError_MultipleShapes = 303;
-		/** <i>native declaration : headers\openvr_capi.h:854</i> */
-		public static final int EVRRenderModelError_VRRenderModelError_TooManyVertices = 304;
-		/** <i>native declaration : headers\openvr_capi.h:855</i> */
-		public static final int EVRRenderModelError_VRRenderModelError_MultipleTextures = 305;
-		/** <i>native declaration : headers\openvr_capi.h:856</i> */
-		public static final int EVRRenderModelError_VRRenderModelError_BufferTooSmall = 306;
-		/** <i>native declaration : headers\openvr_capi.h:857</i> */
-		public static final int EVRRenderModelError_VRRenderModelError_NotEnoughNormals = 307;
-		/** <i>native declaration : headers\openvr_capi.h:858</i> */
-		public static final int EVRRenderModelError_VRRenderModelError_NotEnoughTexCoords = 308;
-		/** <i>native declaration : headers\openvr_capi.h:859</i> */
-		public static final int EVRRenderModelError_VRRenderModelError_InvalidTexture = 400;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:867</i><br>
-	 * enum values
-	 */
-	public static interface EVRComponentProperty {
-		/** <i>native declaration : headers\openvr_capi.h:862</i> */
-		public static final int EVRComponentProperty_VRComponentProperty_IsStatic = 1;
-		/** <i>native declaration : headers\openvr_capi.h:863</i> */
-		public static final int EVRComponentProperty_VRComponentProperty_IsVisible = 2;
-		/** <i>native declaration : headers\openvr_capi.h:864</i> */
-		public static final int EVRComponentProperty_VRComponentProperty_IsTouched = 4;
-		/** <i>native declaration : headers\openvr_capi.h:865</i> */
-		public static final int EVRComponentProperty_VRComponentProperty_IsPressed = 8;
-		/** <i>native declaration : headers\openvr_capi.h:866</i> */
-		public static final int EVRComponentProperty_VRComponentProperty_IsScrolled = 16;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:872</i><br>
-	 * enum values
-	 */
-	public static interface EVRNotificationType {
-		/** <i>native declaration : headers\openvr_capi.h:869</i> */
-		public static final int EVRNotificationType_Transient = 0;
-		/** <i>native declaration : headers\openvr_capi.h:870</i> */
-		public static final int EVRNotificationType_Persistent = 1;
-		/** <i>native declaration : headers\openvr_capi.h:871</i> */
-		public static final int EVRNotificationType_Transient_SystemWithUserValue = 2;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:879</i><br>
-	 * enum values
-	 */
-	public static interface EVRNotificationStyle {
-		/** <i>native declaration : headers\openvr_capi.h:874</i> */
-		public static final int EVRNotificationStyle_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:875</i> */
-		public static final int EVRNotificationStyle_Application = 100;
-		/** <i>native declaration : headers\openvr_capi.h:876</i> */
-		public static final int EVRNotificationStyle_Contact_Disabled = 200;
-		/** <i>native declaration : headers\openvr_capi.h:877</i> */
-		public static final int EVRNotificationStyle_Contact_Enabled = 201;
-		/** <i>native declaration : headers\openvr_capi.h:878</i> */
-		public static final int EVRNotificationStyle_Contact_Active = 202;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:887</i><br>
-	 * enum values
-	 */
-	public static interface EVRSettingsError {
-		/** <i>native declaration : headers\openvr_capi.h:881</i> */
-		public static final int EVRSettingsError_VRSettingsError_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:882</i> */
-		public static final int EVRSettingsError_VRSettingsError_IPCFailed = 1;
-		/** <i>native declaration : headers\openvr_capi.h:883</i> */
-		public static final int EVRSettingsError_VRSettingsError_WriteFailed = 2;
-		/** <i>native declaration : headers\openvr_capi.h:884</i> */
-		public static final int EVRSettingsError_VRSettingsError_ReadFailed = 3;
-		/** <i>native declaration : headers\openvr_capi.h:885</i> */
-		public static final int EVRSettingsError_VRSettingsError_JsonParseFailed = 4;
-		/** <i>native declaration : headers\openvr_capi.h:886</i> */
-		public static final int EVRSettingsError_VRSettingsError_UnsetSettingHasNoDefault = 5;
-	};
-	/**
-	 * <i>native declaration : headers\openvr_capi.h:895</i><br>
-	 * enum values
-	 */
-	public static interface EVRScreenshotError {
-		/** <i>native declaration : headers\openvr_capi.h:889</i> */
-		public static final int EVRScreenshotError_VRScreenshotError_None = 0;
-		/** <i>native declaration : headers\openvr_capi.h:890</i> */
-		public static final int EVRScreenshotError_VRScreenshotError_RequestFailed = 1;
-		/** <i>native declaration : headers\openvr_capi.h:891</i> */
-		public static final int EVRScreenshotError_VRScreenshotError_IncompatibleVersion = 100;
-		/** <i>native declaration : headers\openvr_capi.h:892</i> */
-		public static final int EVRScreenshotError_VRScreenshotError_NotFound = 101;
-		/** <i>native declaration : headers\openvr_capi.h:893</i> */
-		public static final int EVRScreenshotError_VRScreenshotError_BufferTooSmall = 102;
-		/** <i>native declaration : headers\openvr_capi.h:894</i> */
-		public static final int EVRScreenshotError_VRScreenshotError_ScreenshotAlreadyInProgress = 108;
-	};
-	
-	/** OpenVR Constants */
-	public static final long k_nDriverNone = 4294967295L;
-	public static final int k_unMaxDriverDebugResponseSize = 32768;
-	public static final int k_unTrackedDeviceIndex_Hmd = 0;
-	public static final int k_unMaxTrackedDeviceCount = 16;
-	public static final int k_unTrackedDeviceIndexOther = -2;
-	public static final long k_unTrackedDeviceIndexInvalid = 4294967295L;
-	public static final long k_ulInvalidPropertyContainer = 0;
-	public static final int k_unInvalidPropertyTag = 0;
-	public static final int k_unFloatPropertyTag = 1;
-	public static final int k_unInt32PropertyTag = 2;
-	public static final int k_unUint64PropertyTag = 3;
-	public static final int k_unBoolPropertyTag = 4;
-	public static final int k_unStringPropertyTag = 5;
-	public static final int k_unHmdMatrix34PropertyTag = 20;
-	public static final int k_unHmdMatrix44PropertyTag = 21;
-	public static final int k_unHmdVector3PropertyTag = 22;
-	public static final int k_unHmdVector4PropertyTag = 23;
-	public static final int k_unHiddenAreaPropertyTag = 30;
-	public static final int k_unOpenVRInternalReserved_Start = 1000;
-	public static final int k_unOpenVRInternalReserved_End = 10000;
-	public static final int k_unMaxPropertyStringSize = 32768;
-	public static final int k_unControllerStateAxisCount = 5;
-	public static final long k_ulOverlayHandleInvalid = 0;
-	public static final int k_unScreenshotHandleInvalid = 0;
-
-	
-	public static final int k_unMaxApplicationKeyLength = 128;
-	
-	public static final String k_pch_MimeType_HomeApp     = "vr/home";
-	public static final String k_pch_MimeType_GameTheater = "vr/game_theater";
-
-	
-	public static final int k_unVROverlayMaxKeyLength = 128;
-	public static final int k_unVROverlayMaxNameLength = 128;
-	public static final int k_unMaxOverlayCount = 64;
-	public static final int k_unMaxOverlayIntersectionMaskPrimitivesCount = 32;
-	
-
-	public static final String k_pch_Controller_Component_GDC2015  = "gdc2015";
-	public static final String k_pch_Controller_Component_Base     = "base";
-	public static final String k_pch_Controller_Component_Tip      = "tip";
-	public static final String k_pch_Controller_Component_HandGrip = "handgrip";
-	public static final String k_pch_Controller_Component_Status   = "status";
-
-	
-	public static final int k_unNotificationTextMaxSize = 256;
-	
-	public static final int k_unMaxSettingsKeyLength = 128;
-	
-	public static final String k_pch_SteamVR_Section = "steamvr";
-	public static final String k_pch_SteamVR_RequireHmd_String = "requireHmd";
-	public static final String k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver";
-	public static final String k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd";
-	public static final String k_pch_SteamVR_DisplayDebug_Bool = "displayDebug";
-	public static final String k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe";
-	public static final String k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX";
-	public static final String k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY";
-	public static final String k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemButtonToAllApps";
-	public static final String k_pch_SteamVR_LogLevel_Int32 = "loglevel";
-	public static final String k_pch_SteamVR_IPD_Float = "ipd";
-	public static final String k_pch_SteamVR_Background_String = "background";
-	public static final String k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection";
-	public static final String k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight";
-	public static final String k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius";
-	public static final String k_pch_SteamVR_GridColor_String = "gridColor";
-	public static final String k_pch_SteamVR_PlayAreaColor_String = "playAreaColor";
-	public static final String k_pch_SteamVR_ShowStage_Bool = "showStage";
-	public static final String k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers";
-	public static final String k_pch_SteamVR_DirectMode_Bool = "directMode";
-	public static final String k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid";
-	public static final String k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid";
-	public static final String k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers";
-	public static final String k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees";
-	public static final String k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement";
-	public static final String k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses";
-	public static final String k_pch_SteamVR_SupersampleScale_Float = "supersampleScale";
-	public static final String k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncReprojection";
-	public static final String k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedReprojection";
-	public static final String k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection";
-	public static final String k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking";
-	public static final String k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView";
-	public static final String k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView";
-	public static final String k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry";
-	public static final String k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch";
-	public static final String k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch";
-	public static final String k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch";
-	public static final String k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard";
-	public static final String k_pch_SteamVR_EnableHomeApp = "enableHomeApp";
-	public static final String k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec";
-	public static final String k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
-	public static final String k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
-	public static final String k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
-	public static final String k_pch_Lighthouse_Section = "driver_lighthouse";
-	public static final String k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
-	public static final String k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
-	public static final String k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug";
-	public static final String k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation";
-	public static final String k_pch_Lighthouse_DBHistory_Bool = "dbhistory";
-	public static final String k_pch_Null_Section = "driver_null";
-	public static final String k_pch_Null_SerialNumber_String = "serialNumber";
-	public static final String k_pch_Null_ModelNumber_String = "modelNumber";
-	public static final String k_pch_Null_WindowX_Int32 = "windowX";
-	public static final String k_pch_Null_WindowY_Int32 = "windowY";
-	public static final String k_pch_Null_WindowWidth_Int32 = "windowWidth";
-	public static final String k_pch_Null_WindowHeight_Int32 = "windowHeight";
-	public static final String k_pch_Null_RenderWidth_Int32 = "renderWidth";
-	public static final String k_pch_Null_RenderHeight_Int32 = "renderHeight";
-	public static final String k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons";
-	public static final String k_pch_Null_DisplayFrequency_Float = "displayFrequency";
-	public static final String k_pch_UserInterface_Section = "userinterface";
-	public static final String k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop";
-	public static final String k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray";
-	public static final String k_pch_UserInterface_Screenshots_Bool = "screenshots";
-	public static final String k_pch_UserInterface_ScreenshotType_Int = "screenshotType";
-	public static final String k_pch_Notifications_Section = "notifications";
-	public static final String k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb";
-	public static final String k_pch_Keyboard_Section = "keyboard";
-	public static final String k_pch_Keyboard_TutorialCompletions = "TutorialCompletions";
-	public static final String k_pch_Keyboard_ScaleX = "ScaleX";
-	public static final String k_pch_Keyboard_ScaleY = "ScaleY";
-	public static final String k_pch_Keyboard_OffsetLeftX = "OffsetLeftX";
-	public static final String k_pch_Keyboard_OffsetRightX = "OffsetRightX";
-	public static final String k_pch_Keyboard_OffsetY = "OffsetY";
-	public static final String k_pch_Keyboard_Smoothing = "Smoothing";
-	public static final String k_pch_Perf_Section = "perfcheck";
-	public static final String k_pch_Perf_HeuristicActive_Bool = "heuristicActive";
-	public static final String k_pch_Perf_NotifyInHMD_Bool = "warnInHMD";
-	public static final String k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce";
-	public static final String k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore";
-	public static final String k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit";
-	public static final String k_pch_Perf_TestData_Float = "perfTestData";
-	public static final String k_pch_Perf_LinuxGPUProfiling_Bool = "linuxGPUProfiling";
-	public static final String k_pch_CollisionBounds_Section = "collisionBounds";
-	public static final String k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle";
-	public static final String k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn";
-	public static final String k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn";
-	public static final String k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn";
-	public static final String k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance";
-	public static final String k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR";
-	public static final String k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG";
-	public static final String k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB";
-	public static final String k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA";
-	public static final String k_pch_Camera_Section = "camera";
-	public static final String k_pch_Camera_EnableCamera_Bool = "enableCamera";
-	public static final String k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard";
-	public static final String k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds";
-	public static final String k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView";
-	public static final String k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR";
-	public static final String k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG";
-	public static final String k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB";
-	public static final String k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA";
-	public static final String k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength";
-	public static final String k_pch_audio_Section = "audio";
-	public static final String k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice";
-	public static final String k_pch_audio_OnRecordDevice_String = "onRecordDevice";
-	public static final String k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice";
-	public static final String k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice";
-	public static final String k_pch_audio_OffRecordDevice_String = "offRecordDevice";
-	public static final String k_pch_audio_VIVEHDMIGain = "viveHDMIGain";
-	public static final String k_pch_Power_Section = "power";
-	public static final String k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit";
-	public static final String k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout";
-	public static final String k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
-	public static final String k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
-	public static final String k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
-	public static final String k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
-	public static final String k_pch_Dashboard_Section = "dashboard";
-	public static final String k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";
-	public static final String k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
-	public static final String k_pch_modelskin_Section = "modelskins";
-	public static final String k_pch_Driver_Enable_Bool = "enable";
-
-	
-	public static final String IVRApplications_Version    = "FnTable:IVRApplications_006";
-	public static final String IVRChaperone_Version       = "FnTable:IVRChaperone_003";
-	public static final String IVRChaperoneSetup_Version  = "FnTable:IVRChaperoneSetup_005";
-	public static final String IVRCompositor_Version      = "FnTable:IVRCompositor_020";
-	public static final String IVRSystem_Version          = "FnTable:IVRSystem_016";
-	public static final String IVRExtendedDisplay_Version = "FnTable:IVRExtendedDisplay_001";
-	public static final String IVRTrackedCamera_Version   = "FnTable:IVRTrackedCamera_003";
-	public static final String IVROverlay_Version         = "FnTable:IVROverlay_016";
-	public static final String IVRRenderModels_Version    = "FnTable:IVRRenderModels_005";
-	public static final String IVRNotifications_Version   = "FnTable:IVRNotifications_002";
-	public static final String IVRSettings_Version        = "FnTable:IVRSettings_002";
-	public static final String IVRScreenshots_Version     = "FnTable:IVRScreenshots_001";
-	public static final String IVRResources_Version       = "FnTable:IVRResources_001";
-	public static final String IVRDriverManager_Version   = "FnTable:IVRDriverManager_001";
-	
+	 * <i>native declaration : headers\openvr_capi.h:239</i><br>
+	 * enum values
+	 */
+	public static interface ETextureType {
+		/** <i>native declaration : headers\openvr_capi.h:231</i> */
+		public static final int ETextureType_TextureType_Invalid = -1;
+		/** <i>native declaration : headers\openvr_capi.h:232</i> */
+		public static final int ETextureType_TextureType_DirectX = 0;
+		/** <i>native declaration : headers\openvr_capi.h:233</i> */
+		public static final int ETextureType_TextureType_OpenGL = 1;
+		/** <i>native declaration : headers\openvr_capi.h:234</i> */
+		public static final int ETextureType_TextureType_Vulkan = 2;
+		/** <i>native declaration : headers\openvr_capi.h:235</i> */
+		public static final int ETextureType_TextureType_IOSurface = 3;
+		/** <i>native declaration : headers\openvr_capi.h:236</i> */
+		public static final int ETextureType_TextureType_DirectX12 = 4;
+		/** <i>native declaration : headers\openvr_capi.h:237</i> */
+		public static final int ETextureType_TextureType_DXGISharedHandle = 5;
+		/** <i>native declaration : headers\openvr_capi.h:238</i> */
+		public static final int ETextureType_TextureType_Metal = 6;
+	};
 	/**
-	 * Global entry points<br>
-	 * Original signature : <code>intptr_t VR_InitInternal(EVRInitError*, EVRApplicationType)</code><br>
-	 * <i>native declaration : headers\openvr_capi.h:1923</i><br>
-	 * @deprecated use the safer methods {@link #VR_InitInternal(java.nio.IntBuffer, int)} and {@link #VR_InitInternal(com.sun.jna.ptr.IntByReference, int)} instead
-	 */
-	@Deprecated 
-	public static native IntByReference VR_InitInternal(IntByReference peError, int eType);
+	 * <i>native declaration : headers\openvr_capi.h:244</i><br>
+	 * enum values
+	 */
+	public static interface EColorSpace {
+		/** <i>native declaration : headers\openvr_capi.h:241</i> */
+		public static final int EColorSpace_ColorSpace_Auto = 0;
+		/** <i>native declaration : headers\openvr_capi.h:242</i> */
+		public static final int EColorSpace_ColorSpace_Gamma = 1;
+		/** <i>native declaration : headers\openvr_capi.h:243</i> */
+		public static final int EColorSpace_ColorSpace_Linear = 2;
+	};
 	/**
-	 * Global entry points<br>
-	 * Original signature : <code>intptr_t VR_InitInternal(EVRInitError*, EVRApplicationType)</code><br>
-	 * <i>native declaration : headers\openvr_capi.h:1923</i>
-	 */
-	public static native IntByReference VR_InitInternal(IntBuffer peError, int eType);
+	 * <i>native declaration : headers\openvr_capi.h:251</i><br>
+	 * enum values
+	 */
+	public static interface ETrackingResult {
+		/** <i>native declaration : headers\openvr_capi.h:246</i> */
+		public static final int ETrackingResult_TrackingResult_Uninitialized = 1;
+		/** <i>native declaration : headers\openvr_capi.h:247</i> */
+		public static final int ETrackingResult_TrackingResult_Calibrating_InProgress = 100;
+		/** <i>native declaration : headers\openvr_capi.h:248</i> */
+		public static final int ETrackingResult_TrackingResult_Calibrating_OutOfRange = 101;
+		/** <i>native declaration : headers\openvr_capi.h:249</i> */
+		public static final int ETrackingResult_TrackingResult_Running_OK = 200;
+		/** <i>native declaration : headers\openvr_capi.h:250</i> */
+		public static final int ETrackingResult_TrackingResult_Running_OutOfRange = 201;
+	};
 	/**
-	 * Original signature : <code>void VR_ShutdownInternal()</code><br>
-	 * <i>native declaration : headers\openvr_capi.h:1925</i>
-	 */
-	public static native void VR_ShutdownInternal();
+	 * <i>native declaration : headers\openvr_capi.h:260</i><br>
+	 * enum values
+	 */
+	public static interface ETrackedDeviceClass {
+		/** <i>native declaration : headers\openvr_capi.h:253</i> */
+		public static final int ETrackedDeviceClass_TrackedDeviceClass_Invalid = 0;
+		/** <i>native declaration : headers\openvr_capi.h:254</i> */
+		public static final int ETrackedDeviceClass_TrackedDeviceClass_HMD = 1;
+		/** <i>native declaration : headers\openvr_capi.h:255</i> */
+		public static final int ETrackedDeviceClass_TrackedDeviceClass_Controller = 2;
+		/** <i>native declaration : headers\openvr_capi.h:256</i> */
+		public static final int ETrackedDeviceClass_TrackedDeviceClass_GenericTracker = 3;
+		/** <i>native declaration : headers\openvr_capi.h:257</i> */
+		public static final int ETrackedDeviceClass_TrackedDeviceClass_TrackingReference = 4;
+		/** <i>native declaration : headers\openvr_capi.h:258</i> */
+		public static final int ETrackedDeviceClass_TrackedDeviceClass_DisplayRedirect = 5;
+		/** <i>native declaration : headers\openvr_capi.h:259</i> */
+		public static final int ETrackedDeviceClass_TrackedDeviceClass_Max = 6;
+	};
 	/**
-	 * Original signature : <code>bool VR_IsHmdPresent()</code><br>
-	 * <i>native declaration : headers\openvr_capi.h:1927</i>
-	 */
-	public static native byte VR_IsHmdPresent();
+	 * <i>native declaration : headers\openvr_capi.h:267</i><br>
+	 * enum values
+	 */
+	public static interface ETrackedControllerRole {
+		/** <i>native declaration : headers\openvr_capi.h:262</i> */
+		public static final int ETrackedControllerRole_TrackedControllerRole_Invalid = 0;
+		/** <i>native declaration : headers\openvr_capi.h:263</i> */
+		public static final int ETrackedControllerRole_TrackedControllerRole_LeftHand = 1;
+		/** <i>native declaration : headers\openvr_capi.h:264</i> */
+		public static final int ETrackedControllerRole_TrackedControllerRole_RightHand = 2;
+		/** <i>native declaration : headers\openvr_capi.h:265</i> */
+		public static final int ETrackedControllerRole_TrackedControllerRole_OptOut = 3;
+		/** <i>native declaration : headers\openvr_capi.h:266</i> */
+		public static final int ETrackedControllerRole_TrackedControllerRole_Max = 4;
+	};
 	/**
-	 * Original signature : <code>intptr_t VR_GetGenericInterface(const char*, EVRInitError*)</code><br>
-	 * <i>native declaration : headers\openvr_capi.h:1929</i><br>
-	 * @deprecated use the safer methods {@link #VR_GetGenericInterface(java.lang.String, java.nio.IntBuffer)} and {@link #VR_GetGenericInterface(com.sun.jna.Pointer, com.sun.jna.ptr.IntByReference)} instead
-	 */
-	@Deprecated 
-	public static native IntByReference VR_GetGenericInterface(Pointer pchInterfaceVersion, IntByReference peError);
+	 * <i>native declaration : headers\openvr_capi.h:272</i><br>
+	 * enum values
+	 */
+	public static interface ETrackingUniverseOrigin {
+		/** <i>native declaration : headers\openvr_capi.h:269</i> */
+		public static final int ETrackingUniverseOrigin_TrackingUniverseSeated = 0;
+		/** <i>native declaration : headers\openvr_capi.h:270</i> */
+		public static final int ETrackingUniverseOrigin_TrackingUniverseStanding = 1;
+		/** <i>native declaration : headers\openvr_capi.h:271</i> */
+		public static final int ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated = 2;
+	};
 	/**
-	 * Original signature : <code>intptr_t VR_GetGenericInterface(const char*, EVRInitError*)</code><br>
-	 * <i>native declaration : headers\openvr_capi.h:1929</i>
-	 */
-	public static native IntByReference VR_GetGenericInterface(String pchInterfaceVersion, IntByReference peError);
+	 * <i>native declaration : headers\openvr_capi.h:432</i><br>
+	 * enum values
+	 */
+	public static interface ETrackedDeviceProperty {
+		/** <i>native declaration : headers\openvr_capi.h:274</i> */
+		public static final int ETrackedDeviceProperty_Prop_Invalid = 0;
+		/** <i>native declaration : headers\openvr_capi.h:275</i> */
+		public static final int ETrackedDeviceProperty_Prop_TrackingSystemName_String = 1000;
+		/** <i>native declaration : headers\openvr_capi.h:276</i> */
+		public static final int ETrackedDeviceProperty_Prop_ModelNumber_String = 1001;
+		/** <i>native declaration : headers\openvr_capi.h:277</i> */
+		public static final int ETrackedDeviceProperty_Prop_SerialNumber_String = 1002;
+		/** <i>native declaration : headers\openvr_capi.h:278</i> */
+		public static final int ETrackedDeviceProperty_Prop_RenderModelName_String = 1003;
+		/** <i>native declaration : headers\openvr_capi.h:279</i> */
+		public static final int ETrackedDeviceProperty_Prop_WillDriftInYaw_Bool = 1004;
+		/** <i>native declaration : headers\openvr_capi.h:280</i> */
+		public static final int ETrackedDeviceProperty_Prop_ManufacturerName_String = 1005;
+		/** <i>native declaration : headers\openvr_capi.h:281</i> */
+		public static final int ETrackedDeviceProperty_Prop_TrackingFirmwareVersion_String = 1006;
+		/** <i>native declaration : headers\openvr_capi.h:282</i> */
+		public static final int ETrackedDeviceProperty_Prop_HardwareRevision_String = 1007;
+		/** <i>native declaration : headers\openvr_capi.h:283</i> */
+		public static final int ETrackedDeviceProperty_Prop_AllWirelessDongleDescriptions_String = 1008;
+		/** <i>native declaration : headers\openvr_capi.h:284</i> */
+		public static final int ETrackedDeviceProperty_Prop_ConnectedWirelessDongle_String = 1009;
+		/** <i>native declaration : headers\openvr_capi.h:285</i> */
+		public static final int ETrackedDeviceProperty_Prop_DeviceIsWireless_Bool = 1010;
+		/** <i>native declaration : headers\openvr_capi.h:286</i> */
+		public static final int ETrackedDeviceProperty_Prop_DeviceIsCharging_Bool = 1011;
+		/** <i>native declaration : headers\openvr_capi.h:287</i> */
+		public static final int ETrackedDeviceProperty_Prop_DeviceBatteryPercentage_Float = 1012;
+		/** <i>native declaration : headers\openvr_capi.h:288</i> */
+		public static final int ETrackedDeviceProperty_Prop_StatusDisplayTransform_Matrix34 = 1013;
+		/** <i>native declaration : headers\openvr_capi.h:289</i> */
+		public static final int ETrackedDeviceProperty_Prop_Firmware_UpdateAvailable_Bool = 1014;
+		/** <i>native declaration : headers\openvr_capi.h:290</i> */
+		public static final int ETrackedDeviceProperty_Prop_Firmware_ManualUpdate_Bool = 1015;
+		/** <i>native declaration : headers\openvr_capi.h:291</i> */
+		public static final int ETrackedDeviceProperty_Prop_Firmware_ManualUpdateURL_String = 1016;
+		/** <i>native declaration : headers\openvr_capi.h:292</i> */
+		public static final int ETrackedDeviceProperty_Prop_HardwareRevision_Uint64 = 1017;
+		/** <i>native declaration : headers\openvr_capi.h:293</i> */
+		public static final int ETrackedDeviceProperty_Prop_FirmwareVersion_Uint64 = 1018;
+		/** <i>native declaration : headers\openvr_capi.h:294</i> */
+		public static final int ETrackedDeviceProperty_Prop_FPGAVersion_Uint64 = 1019;
+		/** <i>native declaration : headers\openvr_capi.h:295</i> */
+		public static final int ETrackedDeviceProperty_Prop_VRCVersion_Uint64 = 1020;
+		/** <i>native declaration : headers\openvr_capi.h:296</i> */
+		public static final int ETrackedDeviceProperty_Prop_RadioVersion_Uint64 = 1021;
+		/** <i>native declaration : headers\openvr_capi.h:297</i> */
+		public static final int ETrackedDeviceProperty_Prop_DongleVersion_Uint64 = 1022;
+		/** <i>native declaration : headers\openvr_capi.h:298</i> */
+		public static final int ETrackedDeviceProperty_Prop_BlockServerShutdown_Bool = 1023;
+		/** <i>native declaration : headers\openvr_capi.h:299</i> */
+		public static final int ETrackedDeviceProperty_Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024;
+		/** <i>native declaration : headers\openvr_capi.h:300</i> */
+		public static final int ETrackedDeviceProperty_Prop_ContainsProximitySensor_Bool = 1025;
+		/** <i>native declaration : headers\openvr_capi.h:301</i> */
+		public static final int ETrackedDeviceProperty_Prop_DeviceProvidesBatteryStatus_Bool = 1026;
+		/** <i>native declaration : headers\openvr_capi.h:302</i> */
+		public static final int ETrackedDeviceProperty_Prop_DeviceCanPowerOff_Bool = 1027;
+		/** <i>native declaration : headers\openvr_capi.h:303</i> */
+		public static final int ETrackedDeviceProperty_Prop_Firmware_ProgrammingTarget_String = 1028;
+		/** <i>native declaration : headers\openvr_capi.h:304</i> */
+		public static final int ETrackedDeviceProperty_Prop_DeviceClass_Int32 = 1029;
+		/** <i>native declaration : headers\openvr_capi.h:305</i> */
+		public static final int ETrackedDeviceProperty_Prop_HasCamera_Bool = 1030;
+		/** <i>native declaration : headers\openvr_capi.h:306</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverVersion_String = 1031;
+		/** <i>native declaration : headers\openvr_capi.h:307</i> */
+		public static final int ETrackedDeviceProperty_Prop_Firmware_ForceUpdateRequired_Bool = 1032;
+		/** <i>native declaration : headers\openvr_capi.h:308</i> */
+		public static final int ETrackedDeviceProperty_Prop_ViveSystemButtonFixRequired_Bool = 1033;
+		/** <i>native declaration : headers\openvr_capi.h:309</i> */
+		public static final int ETrackedDeviceProperty_Prop_ParentDriver_Uint64 = 1034;
+		/** <i>native declaration : headers\openvr_capi.h:310</i> */
+		public static final int ETrackedDeviceProperty_Prop_ResourceRoot_String = 1035;
+		/** <i>native declaration : headers\openvr_capi.h:311</i> */
+		public static final int ETrackedDeviceProperty_Prop_RegisteredDeviceType_String = 1036;
+		/** <i>native declaration : headers\openvr_capi.h:312</i> */
+		public static final int ETrackedDeviceProperty_Prop_InputProfilePath_String = 1037;
+		/** <i>native declaration : headers\openvr_capi.h:313</i> */
+		public static final int ETrackedDeviceProperty_Prop_NeverTracked_Bool = 1038;
+		/** <i>native declaration : headers\openvr_capi.h:314</i> */
+		public static final int ETrackedDeviceProperty_Prop_NumCameras_Int32 = 1039;
+		/** <i>native declaration : headers\openvr_capi.h:315</i> */
+		public static final int ETrackedDeviceProperty_Prop_CameraFrameLayout_Int32 = 1040;
+		/** <i>native declaration : headers\openvr_capi.h:316</i> */
+		public static final int ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool = 2000;
+		/** <i>native declaration : headers\openvr_capi.h:317</i> */
+		public static final int ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001;
+		/** <i>native declaration : headers\openvr_capi.h:318</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002;
+		/** <i>native declaration : headers\openvr_capi.h:319</i> */
+		public static final int ETrackedDeviceProperty_Prop_UserIpdMeters_Float = 2003;
+		/** <i>native declaration : headers\openvr_capi.h:320</i> */
+		public static final int ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64 = 2004;
+		/** <i>native declaration : headers\openvr_capi.h:321</i> */
+		public static final int ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64 = 2005;
+		/** <i>native declaration : headers\openvr_capi.h:322</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64 = 2006;
+		/** <i>native declaration : headers\openvr_capi.h:323</i> */
+		public static final int ETrackedDeviceProperty_Prop_IsOnDesktop_Bool = 2007;
+		/** <i>native declaration : headers\openvr_capi.h:324</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayMCType_Int32 = 2008;
+		/** <i>native declaration : headers\openvr_capi.h:325</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayMCOffset_Float = 2009;
+		/** <i>native declaration : headers\openvr_capi.h:326</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayMCScale_Float = 2010;
+		/** <i>native declaration : headers\openvr_capi.h:327</i> */
+		public static final int ETrackedDeviceProperty_Prop_EdidVendorID_Int32 = 2011;
+		/** <i>native declaration : headers\openvr_capi.h:328</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayMCImageLeft_String = 2012;
+		/** <i>native declaration : headers\openvr_capi.h:329</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayMCImageRight_String = 2013;
+		/** <i>native declaration : headers\openvr_capi.h:330</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayGCBlackClamp_Float = 2014;
+		/** <i>native declaration : headers\openvr_capi.h:331</i> */
+		public static final int ETrackedDeviceProperty_Prop_EdidProductID_Int32 = 2015;
+		/** <i>native declaration : headers\openvr_capi.h:332</i> */
+		public static final int ETrackedDeviceProperty_Prop_CameraToHeadTransform_Matrix34 = 2016;
+		/** <i>native declaration : headers\openvr_capi.h:333</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayGCType_Int32 = 2017;
+		/** <i>native declaration : headers\openvr_capi.h:334</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayGCOffset_Float = 2018;
+		/** <i>native declaration : headers\openvr_capi.h:335</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayGCScale_Float = 2019;
+		/** <i>native declaration : headers\openvr_capi.h:336</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayGCPrescale_Float = 2020;
+		/** <i>native declaration : headers\openvr_capi.h:337</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayGCImage_String = 2021;
+		/** <i>native declaration : headers\openvr_capi.h:338</i> */
+		public static final int ETrackedDeviceProperty_Prop_LensCenterLeftU_Float = 2022;
+		/** <i>native declaration : headers\openvr_capi.h:339</i> */
+		public static final int ETrackedDeviceProperty_Prop_LensCenterLeftV_Float = 2023;
+		/** <i>native declaration : headers\openvr_capi.h:340</i> */
+		public static final int ETrackedDeviceProperty_Prop_LensCenterRightU_Float = 2024;
+		/** <i>native declaration : headers\openvr_capi.h:341</i> */
+		public static final int ETrackedDeviceProperty_Prop_LensCenterRightV_Float = 2025;
+		/** <i>native declaration : headers\openvr_capi.h:342</i> */
+		public static final int ETrackedDeviceProperty_Prop_UserHeadToEyeDepthMeters_Float = 2026;
+		/** <i>native declaration : headers\openvr_capi.h:343</i> */
+		public static final int ETrackedDeviceProperty_Prop_CameraFirmwareVersion_Uint64 = 2027;
+		/** <i>native declaration : headers\openvr_capi.h:344</i> */
+		public static final int ETrackedDeviceProperty_Prop_CameraFirmwareDescription_String = 2028;
+		/** <i>native declaration : headers\openvr_capi.h:345</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayFPGAVersion_Uint64 = 2029;
+		/** <i>native declaration : headers\openvr_capi.h:346</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayBootloaderVersion_Uint64 = 2030;
+		/** <i>native declaration : headers\openvr_capi.h:347</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayHardwareVersion_Uint64 = 2031;
+		/** <i>native declaration : headers\openvr_capi.h:348</i> */
+		public static final int ETrackedDeviceProperty_Prop_AudioFirmwareVersion_Uint64 = 2032;
+		/** <i>native declaration : headers\openvr_capi.h:349</i> */
+		public static final int ETrackedDeviceProperty_Prop_CameraCompatibilityMode_Int32 = 2033;
+		/** <i>native declaration : headers\openvr_capi.h:350</i> */
+		public static final int ETrackedDeviceProperty_Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034;
+		/** <i>native declaration : headers\openvr_capi.h:351</i> */
+		public static final int ETrackedDeviceProperty_Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035;
+		/** <i>native declaration : headers\openvr_capi.h:352</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplaySuppressed_Bool = 2036;
+		/** <i>native declaration : headers\openvr_capi.h:353</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayAllowNightMode_Bool = 2037;
+		/** <i>native declaration : headers\openvr_capi.h:354</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayMCImageWidth_Int32 = 2038;
+		/** <i>native declaration : headers\openvr_capi.h:355</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayMCImageHeight_Int32 = 2039;
+		/** <i>native declaration : headers\openvr_capi.h:356</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayMCImageNumChannels_Int32 = 2040;
+		/** <i>native declaration : headers\openvr_capi.h:357</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayMCImageData_Binary = 2041;
+		/** <i>native declaration : headers\openvr_capi.h:358</i> */
+		public static final int ETrackedDeviceProperty_Prop_SecondsFromPhotonsToVblank_Float = 2042;
+		/** <i>native declaration : headers\openvr_capi.h:359</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043;
+		/** <i>native declaration : headers\openvr_capi.h:360</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayDebugMode_Bool = 2044;
+		/** <i>native declaration : headers\openvr_capi.h:361</i> */
+		public static final int ETrackedDeviceProperty_Prop_GraphicsAdapterLuid_Uint64 = 2045;
+		/** <i>native declaration : headers\openvr_capi.h:362</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverProvidedChaperonePath_String = 2048;
+		/** <i>native declaration : headers\openvr_capi.h:363</i> */
+		public static final int ETrackedDeviceProperty_Prop_ExpectedTrackingReferenceCount_Int32 = 2049;
+		/** <i>native declaration : headers\openvr_capi.h:364</i> */
+		public static final int ETrackedDeviceProperty_Prop_ExpectedControllerCount_Int32 = 2050;
+		/** <i>native declaration : headers\openvr_capi.h:365</i> */
+		public static final int ETrackedDeviceProperty_Prop_NamedIconPathControllerLeftDeviceOff_String = 2051;
+		/** <i>native declaration : headers\openvr_capi.h:366</i> */
+		public static final int ETrackedDeviceProperty_Prop_NamedIconPathControllerRightDeviceOff_String = 2052;
+		/** <i>native declaration : headers\openvr_capi.h:367</i> */
+		public static final int ETrackedDeviceProperty_Prop_NamedIconPathTrackingReferenceDeviceOff_String = 2053;
+		/** <i>native declaration : headers\openvr_capi.h:368</i> */
+		public static final int ETrackedDeviceProperty_Prop_DoNotApplyPrediction_Bool = 2054;
+		/** <i>native declaration : headers\openvr_capi.h:369</i> */
+		public static final int ETrackedDeviceProperty_Prop_CameraToHeadTransforms_Matrix34_Array = 2055;
+		/** <i>native declaration : headers\openvr_capi.h:370</i> */
+		public static final int ETrackedDeviceProperty_Prop_DistortionMeshResolution_Int32 = 2056;
+		/** <i>native declaration : headers\openvr_capi.h:371</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverIsDrawingControllers_Bool = 2057;
+		/** <i>native declaration : headers\openvr_capi.h:372</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverRequestsApplicationPause_Bool = 2058;
+		/** <i>native declaration : headers\openvr_capi.h:373</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverRequestsReducedRendering_Bool = 2059;
+		/** <i>native declaration : headers\openvr_capi.h:374</i> */
+		public static final int ETrackedDeviceProperty_Prop_MinimumIpdStepMeters_Float = 2060;
+		/** <i>native declaration : headers\openvr_capi.h:375</i> */
+		public static final int ETrackedDeviceProperty_Prop_AudioBridgeFirmwareVersion_Uint64 = 2061;
+		/** <i>native declaration : headers\openvr_capi.h:376</i> */
+		public static final int ETrackedDeviceProperty_Prop_ImageBridgeFirmwareVersion_Uint64 = 2062;
+		/** <i>native declaration : headers\openvr_capi.h:377</i> */
+		public static final int ETrackedDeviceProperty_Prop_ImuToHeadTransform_Matrix34 = 2063;
+		/** <i>native declaration : headers\openvr_capi.h:378</i> */
+		public static final int ETrackedDeviceProperty_Prop_ImuFactoryGyroBias_Vector3 = 2064;
+		/** <i>native declaration : headers\openvr_capi.h:379</i> */
+		public static final int ETrackedDeviceProperty_Prop_ImuFactoryGyroScale_Vector3 = 2065;
+		/** <i>native declaration : headers\openvr_capi.h:380</i> */
+		public static final int ETrackedDeviceProperty_Prop_ImuFactoryAccelerometerBias_Vector3 = 2066;
+		/** <i>native declaration : headers\openvr_capi.h:381</i> */
+		public static final int ETrackedDeviceProperty_Prop_ImuFactoryAccelerometerScale_Vector3 = 2067;
+		/** <i>native declaration : headers\openvr_capi.h:382</i> */
+		public static final int ETrackedDeviceProperty_Prop_ConfigurationIncludesLighthouse20Features_Bool = 2069;
+		/** <i>native declaration : headers\openvr_capi.h:383</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200;
+		/** <i>native declaration : headers\openvr_capi.h:384</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerLeft_Int32 = 2201;
+		/** <i>native declaration : headers\openvr_capi.h:385</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerRight_Int32 = 2202;
+		/** <i>native declaration : headers\openvr_capi.h:386</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerTop_Int32 = 2203;
+		/** <i>native declaration : headers\openvr_capi.h:387</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerBottom_Int32 = 2204;
+		/** <i>native declaration : headers\openvr_capi.h:388</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_OuterLeft_Int32 = 2205;
+		/** <i>native declaration : headers\openvr_capi.h:389</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_OuterRight_Int32 = 2206;
+		/** <i>native declaration : headers\openvr_capi.h:390</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_OuterTop_Int32 = 2207;
+		/** <i>native declaration : headers\openvr_capi.h:391</i> */
+		public static final int ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_OuterBottom_Int32 = 2208;
+		/** <i>native declaration : headers\openvr_capi.h:392</i> */
+		public static final int ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000;
+		/** <i>native declaration : headers\openvr_capi.h:393</i> */
+		public static final int ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001;
+		/** <i>native declaration : headers\openvr_capi.h:394</i> */
+		public static final int ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002;
+		/** <i>native declaration : headers\openvr_capi.h:395</i> */
+		public static final int ETrackedDeviceProperty_Prop_Axis1Type_Int32 = 3003;
+		/** <i>native declaration : headers\openvr_capi.h:396</i> */
+		public static final int ETrackedDeviceProperty_Prop_Axis2Type_Int32 = 3004;
+		/** <i>native declaration : headers\openvr_capi.h:397</i> */
+		public static final int ETrackedDeviceProperty_Prop_Axis3Type_Int32 = 3005;
+		/** <i>native declaration : headers\openvr_capi.h:398</i> */
+		public static final int ETrackedDeviceProperty_Prop_Axis4Type_Int32 = 3006;
+		/** <i>native declaration : headers\openvr_capi.h:399</i> */
+		public static final int ETrackedDeviceProperty_Prop_ControllerRoleHint_Int32 = 3007;
+		/** <i>native declaration : headers\openvr_capi.h:400</i> */
+		public static final int ETrackedDeviceProperty_Prop_FieldOfViewLeftDegrees_Float = 4000;
+		/** <i>native declaration : headers\openvr_capi.h:401</i> */
+		public static final int ETrackedDeviceProperty_Prop_FieldOfViewRightDegrees_Float = 4001;
+		/** <i>native declaration : headers\openvr_capi.h:402</i> */
+		public static final int ETrackedDeviceProperty_Prop_FieldOfViewTopDegrees_Float = 4002;
+		/** <i>native declaration : headers\openvr_capi.h:403</i> */
+		public static final int ETrackedDeviceProperty_Prop_FieldOfViewBottomDegrees_Float = 4003;
+		/** <i>native declaration : headers\openvr_capi.h:404</i> */
+		public static final int ETrackedDeviceProperty_Prop_TrackingRangeMinimumMeters_Float = 4004;
+		/** <i>native declaration : headers\openvr_capi.h:405</i> */
+		public static final int ETrackedDeviceProperty_Prop_TrackingRangeMaximumMeters_Float = 4005;
+		/** <i>native declaration : headers\openvr_capi.h:406</i> */
+		public static final int ETrackedDeviceProperty_Prop_ModeLabel_String = 4006;
+		/** <i>native declaration : headers\openvr_capi.h:407</i> */
+		public static final int ETrackedDeviceProperty_Prop_IconPathName_String = 5000;
+		/** <i>native declaration : headers\openvr_capi.h:408</i> */
+		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceOff_String = 5001;
+		/** <i>native declaration : headers\openvr_capi.h:409</i> */
+		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearching_String = 5002;
+		/** <i>native declaration : headers\openvr_capi.h:410</i> */
+		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearchingAlert_String = 5003;
+		/** <i>native declaration : headers\openvr_capi.h:411</i> */
+		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceReady_String = 5004;
+		/** <i>native declaration : headers\openvr_capi.h:412</i> */
+		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceReadyAlert_String = 5005;
+		/** <i>native declaration : headers\openvr_capi.h:413</i> */
+		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceNotReady_String = 5006;
+		/** <i>native declaration : headers\openvr_capi.h:414</i> */
+		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceStandby_String = 5007;
+		/** <i>native declaration : headers\openvr_capi.h:415</i> */
+		public static final int ETrackedDeviceProperty_Prop_NamedIconPathDeviceAlertLow_String = 5008;
+		/** <i>native declaration : headers\openvr_capi.h:416</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_Start = 5100;
+		/** <i>native declaration : headers\openvr_capi.h:417</i> */
+		public static final int ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_End = 5150;
+		/** <i>native declaration : headers\openvr_capi.h:418</i> */
+		public static final int ETrackedDeviceProperty_Prop_ParentContainer = 5151;
+		/** <i>native declaration : headers\openvr_capi.h:419</i> */
+		public static final int ETrackedDeviceProperty_Prop_UserConfigPath_String = 6000;
+		/** <i>native declaration : headers\openvr_capi.h:420</i> */
+		public static final int ETrackedDeviceProperty_Prop_InstallPath_String = 6001;
+		/** <i>native declaration : headers\openvr_capi.h:421</i> */
+		public static final int ETrackedDeviceProperty_Prop_HasDisplayComponent_Bool = 6002;
+		/** <i>native declaration : headers\openvr_capi.h:422</i> */
+		public static final int ETrackedDeviceProperty_Prop_HasControllerComponent_Bool = 6003;
+		/** <i>native declaration : headers\openvr_capi.h:423</i> */
+		public static final int ETrackedDeviceProperty_Prop_HasCameraComponent_Bool = 6004;
+		/** <i>native declaration : headers\openvr_capi.h:424</i> */
+		public static final int ETrackedDeviceProperty_Prop_HasDriverDirectModeComponent_Bool = 6005;
+		/** <i>native declaration : headers\openvr_capi.h:425</i> */
+		public static final int ETrackedDeviceProperty_Prop_HasVirtualDisplayComponent_Bool = 6006;
+		/** <i>native declaration : headers\openvr_capi.h:426</i> */
+		public static final int ETrackedDeviceProperty_Prop_HasSpatialAnchorsSupport_Bool = 6007;
+		/** <i>native declaration : headers\openvr_capi.h:427</i> */
+		public static final int ETrackedDeviceProperty_Prop_ControllerType_String = 7000;
+		/** <i>native declaration : headers\openvr_capi.h:428</i> */
+		public static final int ETrackedDeviceProperty_Prop_LegacyInputProfile_String = 7001;
+		/** <i>native declaration : headers\openvr_capi.h:429</i> */
+		public static final int ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start = 10000;
+		/** <i>native declaration : headers\openvr_capi.h:430</i> */
+		public static final int ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End = 10999;
+		/** <i>native declaration : headers\openvr_capi.h:431</i> */
+		public static final int ETrackedDeviceProperty_Prop_TrackedDeviceProperty_Max = 1000000;
+	};
 	/**
-	 * Original signature : <code>bool VR_IsRuntimeInstalled()</code><br>
-	 * <i>native declaration : headers\openvr_capi.h:1931</i>
-	 */
-	public static native byte VR_IsRuntimeInstalled();
+	 * <i>native declaration : headers\openvr_capi.h:447</i><br>
+	 * enum values
+	 */
+	public static interface ETrackedPropertyError {
+		/** <i>native declaration : headers\openvr_capi.h:434</i> */
+		public static final int ETrackedPropertyError_TrackedProp_Success = 0;
+		/** <i>native declaration : headers\openvr_capi.h:435</i> */
+		public static final int ETrackedPropertyError_TrackedProp_WrongDataType = 1;
+		/** <i>native declaration : headers\openvr_capi.h:436</i> */
+		public static final int ETrackedPropertyError_TrackedProp_WrongDeviceClass = 2;
+		/** <i>native declaration : headers\openvr_capi.h:437</i> */
+		public static final int ETrackedPropertyError_TrackedProp_BufferTooSmall = 3;
+		/** <i>native declaration : headers\openvr_capi.h:438</i> */
+		public static final int ETrackedPropertyError_TrackedProp_UnknownProperty = 4;
+		/** <i>native declaration : headers\openvr_capi.h:439</i> */
+		public static final int ETrackedPropertyError_TrackedProp_InvalidDevice = 5;
+		/** <i>native declaration : headers\openvr_capi.h:440</i> */
+		public static final int ETrackedPropertyError_TrackedProp_CouldNotContactServer = 6;
+		/** <i>native declaration : headers\openvr_capi.h:441</i> */
+		public static final int ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice = 7;
+		/** <i>native declaration : headers\openvr_capi.h:442</i> */
+		public static final int ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength = 8;
+		/** <i>native declaration : headers\openvr_capi.h:443</i> */
+		public static final int ETrackedPropertyError_TrackedProp_NotYetAvailable = 9;
+		/** <i>native declaration : headers\openvr_capi.h:444</i> */
+		public static final int ETrackedPropertyError_TrackedProp_PermissionDenied = 10;
+		/** <i>native declaration : headers\openvr_capi.h:445</i> */
+		public static final int ETrackedPropertyError_TrackedProp_InvalidOperation = 11;
+		/** <i>native declaration : headers\openvr_capi.h:446</i> */
+		public static final int ETrackedPropertyError_TrackedProp_CannotWriteToWildcards = 12;
+	};
 	/**
-	 * Original signature : <code>char* VR_GetVRInitErrorAsSymbol(EVRInitError)</code><br>
-	 * <i>native declaration : headers\openvr_capi.h:1933</i>
-	 */
-	public static native Pointer VR_GetVRInitErrorAsSymbol(int error);
+	 * <i>native declaration : headers\openvr_capi.h:455</i><br>
+	 * enum values
+	 */
+	public static interface EVRSubmitFlags {
+		/** <i>native declaration : headers\openvr_capi.h:449</i> */
+		public static final int EVRSubmitFlags_Submit_Default = 0;
+		/** <i>native declaration : headers\openvr_capi.h:450</i> */
+		public static final int EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1;
+		/** <i>native declaration : headers\openvr_capi.h:451</i> */
+		public static final int EVRSubmitFlags_Submit_GlRenderBuffer = 2;
+		/** <i>native declaration : headers\openvr_capi.h:452</i> */
+		public static final int EVRSubmitFlags_Submit_Reserved = 4;
+		/** <i>native declaration : headers\openvr_capi.h:453</i> */
+		public static final int EVRSubmitFlags_Submit_TextureWithPose = 8;
+		/** <i>native declaration : headers\openvr_capi.h:454</i> */
+		public static final int EVRSubmitFlags_Submit_TextureWithDepth = 16;
+	};
 	/**
-	 * Original signature : <code>char* VR_GetVRInitErrorAsEnglishDescription(EVRInitError)</code><br>
-	 * <i>native declaration : headers\openvr_capi.h:1935</i>
-	 */
-	public static native Pointer VR_GetVRInitErrorAsEnglishDescription(int error);
-	public static class VkQueue_T extends PointerType {
-		public VkQueue_T(Pointer address) {
-			super(address);
-		}
-		public VkQueue_T() {
-			super();
-		}
-	};
-	public static class VkPhysicalDevice_T extends PointerType {
-		public VkPhysicalDevice_T(Pointer address) {
-			super(address);
-		}
-		public VkPhysicalDevice_T() {
-			super();
-		}
-	};
-	public static class VkInstance_T extends PointerType {
-		public VkInstance_T(Pointer address) {
-			super(address);
-		}
-		public VkInstance_T() {
-			super();
-		}
-	};
-	public static class ID3D12CommandQueue extends PointerType {
-		public ID3D12CommandQueue(Pointer address) {
-			super(address);
-		}
-		public ID3D12CommandQueue() {
-			super();
-		}
-	};
-	public static class ID3D12Resource extends PointerType {
-		public ID3D12Resource(Pointer address) {
-			super(address);
-		}
-		public ID3D12Resource() {
-			super();
-		}
-	};
-	public static class VkDevice_T extends PointerType {
-		public VkDevice_T(Pointer address) {
-			super(address);
-		}
-		public VkDevice_T() {
-			super();
-		}
-	};
+	 * <i>native declaration : headers\openvr_capi.h:466</i><br>
+	 * enum values
+	 */
+	public static interface EVRState {
+		/** <i>native declaration : headers\openvr_capi.h:457</i> */
+		public static final int EVRState_VRState_Undefined = -1;
+		/** <i>native declaration : headers\openvr_capi.h:458</i> */
+		public static final int EVRState_VRState_Off = 0;
+		/** <i>native declaration : headers\openvr_capi.h:459</i> */
+		public static final int EVRState_VRState_Searching = 1;
+		/** <i>native declaration : headers\openvr_capi.h:460</i> */
+		public static final int EVRState_VRState_Searching_Alert = 2;
+		/** <i>native declaration : headers\openvr_capi.h:461</i> */
+		public static final int EVRState_VRState_Ready = 3;
+		/** <i>native declaration : headers\openvr_capi.h:462</i> */
+		public static final int EVRState_VRState_Ready_Alert = 4;
+		/** <i>native declaration : headers\openvr_capi.h:463</i> */
+		public static final int EVRState_VRState_NotReady = 5;
+		/** <i>native declaration : headers\openvr_capi.h:464</i> */
+		public static final int EVRState_VRState_Standby = 6;
+		/** <i>native declaration : headers\openvr_capi.h:465</i> */
+		public static final int EVRState_VRState_Ready_Alert_Low = 7;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:616</i><br>
+	 * enum values
+	 */
+	public static interface EVREventType {
+		/** <i>native declaration : headers\openvr_capi.h:468</i> */
+		public static final int EVREventType_VREvent_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:469</i> */
+		public static final int EVREventType_VREvent_TrackedDeviceActivated = 100;
+		/** <i>native declaration : headers\openvr_capi.h:470</i> */
+		public static final int EVREventType_VREvent_TrackedDeviceDeactivated = 101;
+		/** <i>native declaration : headers\openvr_capi.h:471</i> */
+		public static final int EVREventType_VREvent_TrackedDeviceUpdated = 102;
+		/** <i>native declaration : headers\openvr_capi.h:472</i> */
+		public static final int EVREventType_VREvent_TrackedDeviceUserInteractionStarted = 103;
+		/** <i>native declaration : headers\openvr_capi.h:473</i> */
+		public static final int EVREventType_VREvent_TrackedDeviceUserInteractionEnded = 104;
+		/** <i>native declaration : headers\openvr_capi.h:474</i> */
+		public static final int EVREventType_VREvent_IpdChanged = 105;
+		/** <i>native declaration : headers\openvr_capi.h:475</i> */
+		public static final int EVREventType_VREvent_EnterStandbyMode = 106;
+		/** <i>native declaration : headers\openvr_capi.h:476</i> */
+		public static final int EVREventType_VREvent_LeaveStandbyMode = 107;
+		/** <i>native declaration : headers\openvr_capi.h:477</i> */
+		public static final int EVREventType_VREvent_TrackedDeviceRoleChanged = 108;
+		/** <i>native declaration : headers\openvr_capi.h:478</i> */
+		public static final int EVREventType_VREvent_WatchdogWakeUpRequested = 109;
+		/** <i>native declaration : headers\openvr_capi.h:479</i> */
+		public static final int EVREventType_VREvent_LensDistortionChanged = 110;
+		/** <i>native declaration : headers\openvr_capi.h:480</i> */
+		public static final int EVREventType_VREvent_PropertyChanged = 111;
+		/** <i>native declaration : headers\openvr_capi.h:481</i> */
+		public static final int EVREventType_VREvent_WirelessDisconnect = 112;
+		/** <i>native declaration : headers\openvr_capi.h:482</i> */
+		public static final int EVREventType_VREvent_WirelessReconnect = 113;
+		/** <i>native declaration : headers\openvr_capi.h:483</i> */
+		public static final int EVREventType_VREvent_ButtonPress = 200;
+		/** <i>native declaration : headers\openvr_capi.h:484</i> */
+		public static final int EVREventType_VREvent_ButtonUnpress = 201;
+		/** <i>native declaration : headers\openvr_capi.h:485</i> */
+		public static final int EVREventType_VREvent_ButtonTouch = 202;
+		/** <i>native declaration : headers\openvr_capi.h:486</i> */
+		public static final int EVREventType_VREvent_ButtonUntouch = 203;
+		/** <i>native declaration : headers\openvr_capi.h:487</i> */
+		public static final int EVREventType_VREvent_DualAnalog_Press = 250;
+		/** <i>native declaration : headers\openvr_capi.h:488</i> */
+		public static final int EVREventType_VREvent_DualAnalog_Unpress = 251;
+		/** <i>native declaration : headers\openvr_capi.h:489</i> */
+		public static final int EVREventType_VREvent_DualAnalog_Touch = 252;
+		/** <i>native declaration : headers\openvr_capi.h:490</i> */
+		public static final int EVREventType_VREvent_DualAnalog_Untouch = 253;
+		/** <i>native declaration : headers\openvr_capi.h:491</i> */
+		public static final int EVREventType_VREvent_DualAnalog_Move = 254;
+		/** <i>native declaration : headers\openvr_capi.h:492</i> */
+		public static final int EVREventType_VREvent_DualAnalog_ModeSwitch1 = 255;
+		/** <i>native declaration : headers\openvr_capi.h:493</i> */
+		public static final int EVREventType_VREvent_DualAnalog_ModeSwitch2 = 256;
+		/** <i>native declaration : headers\openvr_capi.h:494</i> */
+		public static final int EVREventType_VREvent_DualAnalog_Cancel = 257;
+		/** <i>native declaration : headers\openvr_capi.h:495</i> */
+		public static final int EVREventType_VREvent_MouseMove = 300;
+		/** <i>native declaration : headers\openvr_capi.h:496</i> */
+		public static final int EVREventType_VREvent_MouseButtonDown = 301;
+		/** <i>native declaration : headers\openvr_capi.h:497</i> */
+		public static final int EVREventType_VREvent_MouseButtonUp = 302;
+		/** <i>native declaration : headers\openvr_capi.h:498</i> */
+		public static final int EVREventType_VREvent_FocusEnter = 303;
+		/** <i>native declaration : headers\openvr_capi.h:499</i> */
+		public static final int EVREventType_VREvent_FocusLeave = 304;
+		/** <i>native declaration : headers\openvr_capi.h:500</i> */
+		public static final int EVREventType_VREvent_Scroll = 305;
+		/** <i>native declaration : headers\openvr_capi.h:501</i> */
+		public static final int EVREventType_VREvent_TouchPadMove = 306;
+		/** <i>native declaration : headers\openvr_capi.h:502</i> */
+		public static final int EVREventType_VREvent_OverlayFocusChanged = 307;
+		/** <i>native declaration : headers\openvr_capi.h:503</i> */
+		public static final int EVREventType_VREvent_InputFocusCaptured = 400;
+		/** <i>native declaration : headers\openvr_capi.h:504</i> */
+		public static final int EVREventType_VREvent_InputFocusReleased = 401;
+		/** <i>native declaration : headers\openvr_capi.h:505</i> */
+		public static final int EVREventType_VREvent_SceneFocusLost = 402;
+		/** <i>native declaration : headers\openvr_capi.h:506</i> */
+		public static final int EVREventType_VREvent_SceneFocusGained = 403;
+		/** <i>native declaration : headers\openvr_capi.h:507</i> */
+		public static final int EVREventType_VREvent_SceneApplicationChanged = 404;
+		/** <i>native declaration : headers\openvr_capi.h:508</i> */
+		public static final int EVREventType_VREvent_SceneFocusChanged = 405;
+		/** <i>native declaration : headers\openvr_capi.h:509</i> */
+		public static final int EVREventType_VREvent_InputFocusChanged = 406;
+		/** <i>native declaration : headers\openvr_capi.h:510</i> */
+		public static final int EVREventType_VREvent_SceneApplicationSecondaryRenderingStarted = 407;
+		/** <i>native declaration : headers\openvr_capi.h:511</i> */
+		public static final int EVREventType_VREvent_SceneApplicationUsingWrongGraphicsAdapter = 408;
+		/** <i>native declaration : headers\openvr_capi.h:512</i> */
+		public static final int EVREventType_VREvent_ActionBindingReloaded = 409;
+		/** <i>native declaration : headers\openvr_capi.h:513</i> */
+		public static final int EVREventType_VREvent_HideRenderModels = 410;
+		/** <i>native declaration : headers\openvr_capi.h:514</i> */
+		public static final int EVREventType_VREvent_ShowRenderModels = 411;
+		/** <i>native declaration : headers\openvr_capi.h:515</i> */
+		public static final int EVREventType_VREvent_ConsoleOpened = 420;
+		/** <i>native declaration : headers\openvr_capi.h:516</i> */
+		public static final int EVREventType_VREvent_ConsoleClosed = 421;
+		/** <i>native declaration : headers\openvr_capi.h:517</i> */
+		public static final int EVREventType_VREvent_OverlayShown = 500;
+		/** <i>native declaration : headers\openvr_capi.h:518</i> */
+		public static final int EVREventType_VREvent_OverlayHidden = 501;
+		/** <i>native declaration : headers\openvr_capi.h:519</i> */
+		public static final int EVREventType_VREvent_DashboardActivated = 502;
+		/** <i>native declaration : headers\openvr_capi.h:520</i> */
+		public static final int EVREventType_VREvent_DashboardDeactivated = 503;
+		/** <i>native declaration : headers\openvr_capi.h:521</i> */
+		public static final int EVREventType_VREvent_DashboardThumbSelected = 504;
+		/** <i>native declaration : headers\openvr_capi.h:522</i> */
+		public static final int EVREventType_VREvent_DashboardRequested = 505;
+		/** <i>native declaration : headers\openvr_capi.h:523</i> */
+		public static final int EVREventType_VREvent_ResetDashboard = 506;
+		/** <i>native declaration : headers\openvr_capi.h:524</i> */
+		public static final int EVREventType_VREvent_RenderToast = 507;
+		/** <i>native declaration : headers\openvr_capi.h:525</i> */
+		public static final int EVREventType_VREvent_ImageLoaded = 508;
+		/** <i>native declaration : headers\openvr_capi.h:526</i> */
+		public static final int EVREventType_VREvent_ShowKeyboard = 509;
+		/** <i>native declaration : headers\openvr_capi.h:527</i> */
+		public static final int EVREventType_VREvent_HideKeyboard = 510;
+		/** <i>native declaration : headers\openvr_capi.h:528</i> */
+		public static final int EVREventType_VREvent_OverlayGamepadFocusGained = 511;
+		/** <i>native declaration : headers\openvr_capi.h:529</i> */
+		public static final int EVREventType_VREvent_OverlayGamepadFocusLost = 512;
+		/** <i>native declaration : headers\openvr_capi.h:530</i> */
+		public static final int EVREventType_VREvent_OverlaySharedTextureChanged = 513;
+		/** <i>native declaration : headers\openvr_capi.h:531</i> */
+		public static final int EVREventType_VREvent_ScreenshotTriggered = 516;
+		/** <i>native declaration : headers\openvr_capi.h:532</i> */
+		public static final int EVREventType_VREvent_ImageFailed = 517;
+		/** <i>native declaration : headers\openvr_capi.h:533</i> */
+		public static final int EVREventType_VREvent_DashboardOverlayCreated = 518;
+		/** <i>native declaration : headers\openvr_capi.h:534</i> */
+		public static final int EVREventType_VREvent_SwitchGamepadFocus = 519;
+		/** <i>native declaration : headers\openvr_capi.h:535</i> */
+		public static final int EVREventType_VREvent_RequestScreenshot = 520;
+		/** <i>native declaration : headers\openvr_capi.h:536</i> */
+		public static final int EVREventType_VREvent_ScreenshotTaken = 521;
+		/** <i>native declaration : headers\openvr_capi.h:537</i> */
+		public static final int EVREventType_VREvent_ScreenshotFailed = 522;
+		/** <i>native declaration : headers\openvr_capi.h:538</i> */
+		public static final int EVREventType_VREvent_SubmitScreenshotToDashboard = 523;
+		/** <i>native declaration : headers\openvr_capi.h:539</i> */
+		public static final int EVREventType_VREvent_ScreenshotProgressToDashboard = 524;
+		/** <i>native declaration : headers\openvr_capi.h:540</i> */
+		public static final int EVREventType_VREvent_PrimaryDashboardDeviceChanged = 525;
+		/** <i>native declaration : headers\openvr_capi.h:541</i> */
+		public static final int EVREventType_VREvent_RoomViewShown = 526;
+		/** <i>native declaration : headers\openvr_capi.h:542</i> */
+		public static final int EVREventType_VREvent_RoomViewHidden = 527;
+		/** <i>native declaration : headers\openvr_capi.h:543</i> */
+		public static final int EVREventType_VREvent_Notification_Shown = 600;
+		/** <i>native declaration : headers\openvr_capi.h:544</i> */
+		public static final int EVREventType_VREvent_Notification_Hidden = 601;
+		/** <i>native declaration : headers\openvr_capi.h:545</i> */
+		public static final int EVREventType_VREvent_Notification_BeginInteraction = 602;
+		/** <i>native declaration : headers\openvr_capi.h:546</i> */
+		public static final int EVREventType_VREvent_Notification_Destroyed = 603;
+		/** <i>native declaration : headers\openvr_capi.h:547</i> */
+		public static final int EVREventType_VREvent_Quit = 700;
+		/** <i>native declaration : headers\openvr_capi.h:548</i> */
+		public static final int EVREventType_VREvent_ProcessQuit = 701;
+		/** <i>native declaration : headers\openvr_capi.h:549</i> */
+		public static final int EVREventType_VREvent_QuitAborted_UserPrompt = 702;
+		/** <i>native declaration : headers\openvr_capi.h:550</i> */
+		public static final int EVREventType_VREvent_QuitAcknowledged = 703;
+		/** <i>native declaration : headers\openvr_capi.h:551</i> */
+		public static final int EVREventType_VREvent_DriverRequestedQuit = 704;
+		/** <i>native declaration : headers\openvr_capi.h:552</i> */
+		public static final int EVREventType_VREvent_ChaperoneDataHasChanged = 800;
+		/** <i>native declaration : headers\openvr_capi.h:553</i> */
+		public static final int EVREventType_VREvent_ChaperoneUniverseHasChanged = 801;
+		/** <i>native declaration : headers\openvr_capi.h:554</i> */
+		public static final int EVREventType_VREvent_ChaperoneTempDataHasChanged = 802;
+		/** <i>native declaration : headers\openvr_capi.h:555</i> */
+		public static final int EVREventType_VREvent_ChaperoneSettingsHaveChanged = 803;
+		/** <i>native declaration : headers\openvr_capi.h:556</i> */
+		public static final int EVREventType_VREvent_SeatedZeroPoseReset = 804;
+		/** <i>native declaration : headers\openvr_capi.h:557</i> */
+		public static final int EVREventType_VREvent_AudioSettingsHaveChanged = 820;
+		/** <i>native declaration : headers\openvr_capi.h:558</i> */
+		public static final int EVREventType_VREvent_BackgroundSettingHasChanged = 850;
+		/** <i>native declaration : headers\openvr_capi.h:559</i> */
+		public static final int EVREventType_VREvent_CameraSettingsHaveChanged = 851;
+		/** <i>native declaration : headers\openvr_capi.h:560</i> */
+		public static final int EVREventType_VREvent_ReprojectionSettingHasChanged = 852;
+		/** <i>native declaration : headers\openvr_capi.h:561</i> */
+		public static final int EVREventType_VREvent_ModelSkinSettingsHaveChanged = 853;
+		/** <i>native declaration : headers\openvr_capi.h:562</i> */
+		public static final int EVREventType_VREvent_EnvironmentSettingsHaveChanged = 854;
+		/** <i>native declaration : headers\openvr_capi.h:563</i> */
+		public static final int EVREventType_VREvent_PowerSettingsHaveChanged = 855;
+		/** <i>native declaration : headers\openvr_capi.h:564</i> */
+		public static final int EVREventType_VREvent_EnableHomeAppSettingsHaveChanged = 856;
+		/** <i>native declaration : headers\openvr_capi.h:565</i> */
+		public static final int EVREventType_VREvent_SteamVRSectionSettingChanged = 857;
+		/** <i>native declaration : headers\openvr_capi.h:566</i> */
+		public static final int EVREventType_VREvent_LighthouseSectionSettingChanged = 858;
+		/** <i>native declaration : headers\openvr_capi.h:567</i> */
+		public static final int EVREventType_VREvent_NullSectionSettingChanged = 859;
+		/** <i>native declaration : headers\openvr_capi.h:568</i> */
+		public static final int EVREventType_VREvent_UserInterfaceSectionSettingChanged = 860;
+		/** <i>native declaration : headers\openvr_capi.h:569</i> */
+		public static final int EVREventType_VREvent_NotificationsSectionSettingChanged = 861;
+		/** <i>native declaration : headers\openvr_capi.h:570</i> */
+		public static final int EVREventType_VREvent_KeyboardSectionSettingChanged = 862;
+		/** <i>native declaration : headers\openvr_capi.h:571</i> */
+		public static final int EVREventType_VREvent_PerfSectionSettingChanged = 863;
+		/** <i>native declaration : headers\openvr_capi.h:572</i> */
+		public static final int EVREventType_VREvent_DashboardSectionSettingChanged = 864;
+		/** <i>native declaration : headers\openvr_capi.h:573</i> */
+		public static final int EVREventType_VREvent_WebInterfaceSectionSettingChanged = 865;
+		/** <i>native declaration : headers\openvr_capi.h:574</i> */
+		public static final int EVREventType_VREvent_TrackersSectionSettingChanged = 866;
+		/** <i>native declaration : headers\openvr_capi.h:575</i> */
+		public static final int EVREventType_VREvent_StatusUpdate = 900;
+		/** <i>native declaration : headers\openvr_capi.h:576</i> */
+		public static final int EVREventType_VREvent_WebInterface_InstallDriverCompleted = 950;
+		/** <i>native declaration : headers\openvr_capi.h:577</i> */
+		public static final int EVREventType_VREvent_MCImageUpdated = 1000;
+		/** <i>native declaration : headers\openvr_capi.h:578</i> */
+		public static final int EVREventType_VREvent_FirmwareUpdateStarted = 1100;
+		/** <i>native declaration : headers\openvr_capi.h:579</i> */
+		public static final int EVREventType_VREvent_FirmwareUpdateFinished = 1101;
+		/** <i>native declaration : headers\openvr_capi.h:580</i> */
+		public static final int EVREventType_VREvent_KeyboardClosed = 1200;
+		/** <i>native declaration : headers\openvr_capi.h:581</i> */
+		public static final int EVREventType_VREvent_KeyboardCharInput = 1201;
+		/** <i>native declaration : headers\openvr_capi.h:582</i> */
+		public static final int EVREventType_VREvent_KeyboardDone = 1202;
+		/** <i>native declaration : headers\openvr_capi.h:583</i> */
+		public static final int EVREventType_VREvent_ApplicationTransitionStarted = 1300;
+		/** <i>native declaration : headers\openvr_capi.h:584</i> */
+		public static final int EVREventType_VREvent_ApplicationTransitionAborted = 1301;
+		/** <i>native declaration : headers\openvr_capi.h:585</i> */
+		public static final int EVREventType_VREvent_ApplicationTransitionNewAppStarted = 1302;
+		/** <i>native declaration : headers\openvr_capi.h:586</i> */
+		public static final int EVREventType_VREvent_ApplicationListUpdated = 1303;
+		/** <i>native declaration : headers\openvr_capi.h:587</i> */
+		public static final int EVREventType_VREvent_ApplicationMimeTypeLoad = 1304;
+		/** <i>native declaration : headers\openvr_capi.h:588</i> */
+		public static final int EVREventType_VREvent_ApplicationTransitionNewAppLaunchComplete = 1305;
+		/** <i>native declaration : headers\openvr_capi.h:589</i> */
+		public static final int EVREventType_VREvent_ProcessConnected = 1306;
+		/** <i>native declaration : headers\openvr_capi.h:590</i> */
+		public static final int EVREventType_VREvent_ProcessDisconnected = 1307;
+		/** <i>native declaration : headers\openvr_capi.h:591</i> */
+		public static final int EVREventType_VREvent_Compositor_MirrorWindowShown = 1400;
+		/** <i>native declaration : headers\openvr_capi.h:592</i> */
+		public static final int EVREventType_VREvent_Compositor_MirrorWindowHidden = 1401;
+		/** <i>native declaration : headers\openvr_capi.h:593</i> */
+		public static final int EVREventType_VREvent_Compositor_ChaperoneBoundsShown = 1410;
+		/** <i>native declaration : headers\openvr_capi.h:594</i> */
+		public static final int EVREventType_VREvent_Compositor_ChaperoneBoundsHidden = 1411;
+		/** <i>native declaration : headers\openvr_capi.h:595</i> */
+		public static final int EVREventType_VREvent_TrackedCamera_StartVideoStream = 1500;
+		/** <i>native declaration : headers\openvr_capi.h:596</i> */
+		public static final int EVREventType_VREvent_TrackedCamera_StopVideoStream = 1501;
+		/** <i>native declaration : headers\openvr_capi.h:597</i> */
+		public static final int EVREventType_VREvent_TrackedCamera_PauseVideoStream = 1502;
+		/** <i>native declaration : headers\openvr_capi.h:598</i> */
+		public static final int EVREventType_VREvent_TrackedCamera_ResumeVideoStream = 1503;
+		/** <i>native declaration : headers\openvr_capi.h:599</i> */
+		public static final int EVREventType_VREvent_TrackedCamera_EditingSurface = 1550;
+		/** <i>native declaration : headers\openvr_capi.h:600</i> */
+		public static final int EVREventType_VREvent_PerformanceTest_EnableCapture = 1600;
+		/** <i>native declaration : headers\openvr_capi.h:601</i> */
+		public static final int EVREventType_VREvent_PerformanceTest_DisableCapture = 1601;
+		/** <i>native declaration : headers\openvr_capi.h:602</i> */
+		public static final int EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602;
+		/** <i>native declaration : headers\openvr_capi.h:603</i> */
+		public static final int EVREventType_VREvent_MessageOverlay_Closed = 1650;
+		/** <i>native declaration : headers\openvr_capi.h:604</i> */
+		public static final int EVREventType_VREvent_MessageOverlayCloseRequested = 1651;
+		/** <i>native declaration : headers\openvr_capi.h:605</i> */
+		public static final int EVREventType_VREvent_Input_HapticVibration = 1700;
+		/** <i>native declaration : headers\openvr_capi.h:606</i> */
+		public static final int EVREventType_VREvent_Input_BindingLoadFailed = 1701;
+		/** <i>native declaration : headers\openvr_capi.h:607</i> */
+		public static final int EVREventType_VREvent_Input_BindingLoadSuccessful = 1702;
+		/** <i>native declaration : headers\openvr_capi.h:608</i> */
+		public static final int EVREventType_VREvent_Input_ActionManifestReloaded = 1703;
+		/** <i>native declaration : headers\openvr_capi.h:609</i> */
+		public static final int EVREventType_VREvent_Input_ActionManifestLoadFailed = 1704;
+		/** <i>native declaration : headers\openvr_capi.h:610</i> */
+		public static final int EVREventType_VREvent_SpatialAnchors_PoseUpdated = 1800;
+		/** <i>native declaration : headers\openvr_capi.h:611</i> */
+		public static final int EVREventType_VREvent_SpatialAnchors_DescriptorUpdated = 1801;
+		/** <i>native declaration : headers\openvr_capi.h:612</i> */
+		public static final int EVREventType_VREvent_SpatialAnchors_RequestPoseUpdate = 1802;
+		/** <i>native declaration : headers\openvr_capi.h:613</i> */
+		public static final int EVREventType_VREvent_SpatialAnchors_RequestDescriptorUpdate = 1803;
+		/** <i>native declaration : headers\openvr_capi.h:614</i> */
+		public static final int EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000;
+		/** <i>native declaration : headers\openvr_capi.h:615</i> */
+		public static final int EVREventType_VREvent_VendorSpecific_Reserved_End = 19999;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:623</i><br>
+	 * enum values
+	 */
+	public static interface EDeviceActivityLevel {
+		/** <i>native declaration : headers\openvr_capi.h:618</i> */
+		public static final int EDeviceActivityLevel_k_EDeviceActivityLevel_Unknown = -1;
+		/** <i>native declaration : headers\openvr_capi.h:619</i> */
+		public static final int EDeviceActivityLevel_k_EDeviceActivityLevel_Idle = 0;
+		/** <i>native declaration : headers\openvr_capi.h:620</i> */
+		public static final int EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction = 1;
+		/** <i>native declaration : headers\openvr_capi.h:621</i> */
+		public static final int EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction_Timeout = 2;
+		/** <i>native declaration : headers\openvr_capi.h:622</i> */
+		public static final int EDeviceActivityLevel_k_EDeviceActivityLevel_Standby = 3;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:646</i><br>
+	 * enum values
+	 */
+	public static interface EVRButtonId {
+		/** <i>native declaration : headers\openvr_capi.h:625</i> */
+		public static final int EVRButtonId_k_EButton_System = 0;
+		/** <i>native declaration : headers\openvr_capi.h:626</i> */
+		public static final int EVRButtonId_k_EButton_ApplicationMenu = 1;
+		/** <i>native declaration : headers\openvr_capi.h:627</i> */
+		public static final int EVRButtonId_k_EButton_Grip = 2;
+		/** <i>native declaration : headers\openvr_capi.h:628</i> */
+		public static final int EVRButtonId_k_EButton_DPad_Left = 3;
+		/** <i>native declaration : headers\openvr_capi.h:629</i> */
+		public static final int EVRButtonId_k_EButton_DPad_Up = 4;
+		/** <i>native declaration : headers\openvr_capi.h:630</i> */
+		public static final int EVRButtonId_k_EButton_DPad_Right = 5;
+		/** <i>native declaration : headers\openvr_capi.h:631</i> */
+		public static final int EVRButtonId_k_EButton_DPad_Down = 6;
+		/** <i>native declaration : headers\openvr_capi.h:632</i> */
+		public static final int EVRButtonId_k_EButton_A = 7;
+		/** <i>native declaration : headers\openvr_capi.h:633</i> */
+		public static final int EVRButtonId_k_EButton_ProximitySensor = 31;
+		/** <i>native declaration : headers\openvr_capi.h:634</i> */
+		public static final int EVRButtonId_k_EButton_Axis0 = 32;
+		/** <i>native declaration : headers\openvr_capi.h:635</i> */
+		public static final int EVRButtonId_k_EButton_Axis1 = 33;
+		/** <i>native declaration : headers\openvr_capi.h:636</i> */
+		public static final int EVRButtonId_k_EButton_Axis2 = 34;
+		/** <i>native declaration : headers\openvr_capi.h:637</i> */
+		public static final int EVRButtonId_k_EButton_Axis3 = 35;
+		/** <i>native declaration : headers\openvr_capi.h:638</i> */
+		public static final int EVRButtonId_k_EButton_Axis4 = 36;
+		/** <i>native declaration : headers\openvr_capi.h:639</i> */
+		public static final int EVRButtonId_k_EButton_SteamVR_Touchpad = 32;
+		/** <i>native declaration : headers\openvr_capi.h:640</i> */
+		public static final int EVRButtonId_k_EButton_SteamVR_Trigger = 33;
+		/** <i>native declaration : headers\openvr_capi.h:641</i> */
+		public static final int EVRButtonId_k_EButton_Dashboard_Back = 2;
+		/** <i>native declaration : headers\openvr_capi.h:642</i> */
+		public static final int EVRButtonId_k_EButton_Knuckles_A = 2;
+		/** <i>native declaration : headers\openvr_capi.h:643</i> */
+		public static final int EVRButtonId_k_EButton_Knuckles_B = 1;
+		/** <i>native declaration : headers\openvr_capi.h:644</i> */
+		public static final int EVRButtonId_k_EButton_Knuckles_JoyStick = 35;
+		/** <i>native declaration : headers\openvr_capi.h:645</i> */
+		public static final int EVRButtonId_k_EButton_Max = 64;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:651</i><br>
+	 * enum values
+	 */
+	public static interface EVRMouseButton {
+		/** <i>native declaration : headers\openvr_capi.h:648</i> */
+		public static final int EVRMouseButton_VRMouseButton_Left = 1;
+		/** <i>native declaration : headers\openvr_capi.h:649</i> */
+		public static final int EVRMouseButton_VRMouseButton_Right = 2;
+		/** <i>native declaration : headers\openvr_capi.h:650</i> */
+		public static final int EVRMouseButton_VRMouseButton_Middle = 4;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:655</i><br>
+	 * enum values
+	 */
+	public static interface EDualAnalogWhich {
+		/** <i>native declaration : headers\openvr_capi.h:653</i> */
+		public static final int EDualAnalogWhich_k_EDualAnalog_Left = 0;
+		/** <i>native declaration : headers\openvr_capi.h:654</i> */
+		public static final int EDualAnalogWhich_k_EDualAnalog_Right = 1;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:674</i><br>
+	 * enum values
+	 */
+	public static interface EVRInputError {
+		/** <i>native declaration : headers\openvr_capi.h:657</i> */
+		public static final int EVRInputError_VRInputError_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:658</i> */
+		public static final int EVRInputError_VRInputError_NameNotFound = 1;
+		/** <i>native declaration : headers\openvr_capi.h:659</i> */
+		public static final int EVRInputError_VRInputError_WrongType = 2;
+		/** <i>native declaration : headers\openvr_capi.h:660</i> */
+		public static final int EVRInputError_VRInputError_InvalidHandle = 3;
+		/** <i>native declaration : headers\openvr_capi.h:661</i> */
+		public static final int EVRInputError_VRInputError_InvalidParam = 4;
+		/** <i>native declaration : headers\openvr_capi.h:662</i> */
+		public static final int EVRInputError_VRInputError_NoSteam = 5;
+		/** <i>native declaration : headers\openvr_capi.h:663</i> */
+		public static final int EVRInputError_VRInputError_MaxCapacityReached = 6;
+		/** <i>native declaration : headers\openvr_capi.h:664</i> */
+		public static final int EVRInputError_VRInputError_IPCError = 7;
+		/** <i>native declaration : headers\openvr_capi.h:665</i> */
+		public static final int EVRInputError_VRInputError_NoActiveActionSet = 8;
+		/** <i>native declaration : headers\openvr_capi.h:666</i> */
+		public static final int EVRInputError_VRInputError_InvalidDevice = 9;
+		/** <i>native declaration : headers\openvr_capi.h:667</i> */
+		public static final int EVRInputError_VRInputError_InvalidSkeleton = 10;
+		/** <i>native declaration : headers\openvr_capi.h:668</i> */
+		public static final int EVRInputError_VRInputError_InvalidBoneCount = 11;
+		/** <i>native declaration : headers\openvr_capi.h:669</i> */
+		public static final int EVRInputError_VRInputError_InvalidCompressedData = 12;
+		/** <i>native declaration : headers\openvr_capi.h:670</i> */
+		public static final int EVRInputError_VRInputError_NoData = 13;
+		/** <i>native declaration : headers\openvr_capi.h:671</i> */
+		public static final int EVRInputError_VRInputError_BufferTooSmall = 14;
+		/** <i>native declaration : headers\openvr_capi.h:672</i> */
+		public static final int EVRInputError_VRInputError_MismatchedActionManifest = 15;
+		/** <i>native declaration : headers\openvr_capi.h:673</i> */
+		public static final int EVRInputError_VRInputError_MissingSkeletonData = 16;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:690</i><br>
+	 * enum values
+	 */
+	public static interface EVRSpatialAnchorError {
+		/** <i>native declaration : headers\openvr_capi.h:676</i> */
+		public static final int EVRSpatialAnchorError_VRSpatialAnchorError_Success = 0;
+		/** <i>native declaration : headers\openvr_capi.h:677</i> */
+		public static final int EVRSpatialAnchorError_VRSpatialAnchorError_Internal = 1;
+		/** <i>native declaration : headers\openvr_capi.h:678</i> */
+		public static final int EVRSpatialAnchorError_VRSpatialAnchorError_UnknownHandle = 2;
+		/** <i>native declaration : headers\openvr_capi.h:679</i> */
+		public static final int EVRSpatialAnchorError_VRSpatialAnchorError_ArrayTooSmall = 3;
+		/** <i>native declaration : headers\openvr_capi.h:680</i> */
+		public static final int EVRSpatialAnchorError_VRSpatialAnchorError_InvalidDescriptorChar = 4;
+		/** <i>native declaration : headers\openvr_capi.h:681</i> */
+		public static final int EVRSpatialAnchorError_VRSpatialAnchorError_NotYetAvailable = 5;
+		/** <i>native declaration : headers\openvr_capi.h:682</i> */
+		public static final int EVRSpatialAnchorError_VRSpatialAnchorError_NotAvailableInThisUniverse = 6;
+		/** <i>native declaration : headers\openvr_capi.h:683</i> */
+		public static final int EVRSpatialAnchorError_VRSpatialAnchorError_PermanentlyUnavailable = 7;
+		/** <i>native declaration : headers\openvr_capi.h:684</i> */
+		public static final int EVRSpatialAnchorError_VRSpatialAnchorError_WrongDriver = 8;
+		/** <i>native declaration : headers\openvr_capi.h:685</i> */
+		public static final int EVRSpatialAnchorError_VRSpatialAnchorError_DescriptorTooLong = 9;
+		/** <i>native declaration : headers\openvr_capi.h:686</i> */
+		public static final int EVRSpatialAnchorError_VRSpatialAnchorError_Unknown = 10;
+		/** <i>native declaration : headers\openvr_capi.h:687</i> */
+		public static final int EVRSpatialAnchorError_VRSpatialAnchorError_NoRoomCalibration = 11;
+		/** <i>native declaration : headers\openvr_capi.h:688</i> */
+		public static final int EVRSpatialAnchorError_VRSpatialAnchorError_InvalidArgument = 12;
+		/** <i>native declaration : headers\openvr_capi.h:689</i> */
+		public static final int EVRSpatialAnchorError_VRSpatialAnchorError_UnknownDriver = 13;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:696</i><br>
+	 * enum values
+	 */
+	public static interface EHiddenAreaMeshType {
+		/** <i>native declaration : headers\openvr_capi.h:692</i> */
+		public static final int EHiddenAreaMeshType_k_eHiddenAreaMesh_Standard = 0;
+		/** <i>native declaration : headers\openvr_capi.h:693</i> */
+		public static final int EHiddenAreaMeshType_k_eHiddenAreaMesh_Inverse = 1;
+		/** <i>native declaration : headers\openvr_capi.h:694</i> */
+		public static final int EHiddenAreaMeshType_k_eHiddenAreaMesh_LineLoop = 2;
+		/** <i>native declaration : headers\openvr_capi.h:695</i> */
+		public static final int EHiddenAreaMeshType_k_eHiddenAreaMesh_Max = 3;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:702</i><br>
+	 * enum values
+	 */
+	public static interface EVRControllerAxisType {
+		/** <i>native declaration : headers\openvr_capi.h:698</i> */
+		public static final int EVRControllerAxisType_k_eControllerAxis_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:699</i> */
+		public static final int EVRControllerAxisType_k_eControllerAxis_TrackPad = 1;
+		/** <i>native declaration : headers\openvr_capi.h:700</i> */
+		public static final int EVRControllerAxisType_k_eControllerAxis_Joystick = 2;
+		/** <i>native declaration : headers\openvr_capi.h:701</i> */
+		public static final int EVRControllerAxisType_k_eControllerAxis_Trigger = 3;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:706</i><br>
+	 * enum values
+	 */
+	public static interface EVRControllerEventOutputType {
+		/** <i>native declaration : headers\openvr_capi.h:704</i> */
+		public static final int EVRControllerEventOutputType_ControllerEventOutput_OSEvents = 0;
+		/** <i>native declaration : headers\openvr_capi.h:705</i> */
+		public static final int EVRControllerEventOutputType_ControllerEventOutput_VREvents = 1;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:714</i><br>
+	 * enum values
+	 */
+	public static interface ECollisionBoundsStyle {
+		/** <i>native declaration : headers\openvr_capi.h:708</i> */
+		public static final int ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_BEGINNER = 0;
+		/** <i>native declaration : headers\openvr_capi.h:709</i> */
+		public static final int ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1;
+		/** <i>native declaration : headers\openvr_capi.h:710</i> */
+		public static final int ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_SQUARES = 2;
+		/** <i>native declaration : headers\openvr_capi.h:711</i> */
+		public static final int ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_ADVANCED = 3;
+		/** <i>native declaration : headers\openvr_capi.h:712</i> */
+		public static final int ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_NONE = 4;
+		/** <i>native declaration : headers\openvr_capi.h:713</i> */
+		public static final int ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_COUNT = 5;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:740</i><br>
+	 * enum values
+	 */
+	public static interface EVROverlayError {
+		/** <i>native declaration : headers\openvr_capi.h:716</i> */
+		public static final int EVROverlayError_VROverlayError_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:717</i> */
+		public static final int EVROverlayError_VROverlayError_UnknownOverlay = 10;
+		/** <i>native declaration : headers\openvr_capi.h:718</i> */
+		public static final int EVROverlayError_VROverlayError_InvalidHandle = 11;
+		/** <i>native declaration : headers\openvr_capi.h:719</i> */
+		public static final int EVROverlayError_VROverlayError_PermissionDenied = 12;
+		/** <i>native declaration : headers\openvr_capi.h:720</i> */
+		public static final int EVROverlayError_VROverlayError_OverlayLimitExceeded = 13;
+		/** <i>native declaration : headers\openvr_capi.h:721</i> */
+		public static final int EVROverlayError_VROverlayError_WrongVisibilityType = 14;
+		/** <i>native declaration : headers\openvr_capi.h:722</i> */
+		public static final int EVROverlayError_VROverlayError_KeyTooLong = 15;
+		/** <i>native declaration : headers\openvr_capi.h:723</i> */
+		public static final int EVROverlayError_VROverlayError_NameTooLong = 16;
+		/** <i>native declaration : headers\openvr_capi.h:724</i> */
+		public static final int EVROverlayError_VROverlayError_KeyInUse = 17;
+		/** <i>native declaration : headers\openvr_capi.h:725</i> */
+		public static final int EVROverlayError_VROverlayError_WrongTransformType = 18;
+		/** <i>native declaration : headers\openvr_capi.h:726</i> */
+		public static final int EVROverlayError_VROverlayError_InvalidTrackedDevice = 19;
+		/** <i>native declaration : headers\openvr_capi.h:727</i> */
+		public static final int EVROverlayError_VROverlayError_InvalidParameter = 20;
+		/** <i>native declaration : headers\openvr_capi.h:728</i> */
+		public static final int EVROverlayError_VROverlayError_ThumbnailCantBeDestroyed = 21;
+		/** <i>native declaration : headers\openvr_capi.h:729</i> */
+		public static final int EVROverlayError_VROverlayError_ArrayTooSmall = 22;
+		/** <i>native declaration : headers\openvr_capi.h:730</i> */
+		public static final int EVROverlayError_VROverlayError_RequestFailed = 23;
+		/** <i>native declaration : headers\openvr_capi.h:731</i> */
+		public static final int EVROverlayError_VROverlayError_InvalidTexture = 24;
+		/** <i>native declaration : headers\openvr_capi.h:732</i> */
+		public static final int EVROverlayError_VROverlayError_UnableToLoadFile = 25;
+		/** <i>native declaration : headers\openvr_capi.h:733</i> */
+		public static final int EVROverlayError_VROverlayError_KeyboardAlreadyInUse = 26;
+		/** <i>native declaration : headers\openvr_capi.h:734</i> */
+		public static final int EVROverlayError_VROverlayError_NoNeighbor = 27;
+		/** <i>native declaration : headers\openvr_capi.h:735</i> */
+		public static final int EVROverlayError_VROverlayError_TooManyMaskPrimitives = 29;
+		/** <i>native declaration : headers\openvr_capi.h:736</i> */
+		public static final int EVROverlayError_VROverlayError_BadMaskPrimitive = 30;
+		/** <i>native declaration : headers\openvr_capi.h:737</i> */
+		public static final int EVROverlayError_VROverlayError_TextureAlreadyLocked = 31;
+		/** <i>native declaration : headers\openvr_capi.h:738</i> */
+		public static final int EVROverlayError_VROverlayError_TextureLockCapacityReached = 32;
+		/** <i>native declaration : headers\openvr_capi.h:739</i> */
+		public static final int EVROverlayError_VROverlayError_TextureNotLocked = 33;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:751</i><br>
+	 * enum values
+	 */
+	public static interface EVRApplicationType {
+		/** <i>native declaration : headers\openvr_capi.h:742</i> */
+		public static final int EVRApplicationType_VRApplication_Other = 0;
+		/** <i>native declaration : headers\openvr_capi.h:743</i> */
+		public static final int EVRApplicationType_VRApplication_Scene = 1;
+		/** <i>native declaration : headers\openvr_capi.h:744</i> */
+		public static final int EVRApplicationType_VRApplication_Overlay = 2;
+		/** <i>native declaration : headers\openvr_capi.h:745</i> */
+		public static final int EVRApplicationType_VRApplication_Background = 3;
+		/** <i>native declaration : headers\openvr_capi.h:746</i> */
+		public static final int EVRApplicationType_VRApplication_Utility = 4;
+		/** <i>native declaration : headers\openvr_capi.h:747</i> */
+		public static final int EVRApplicationType_VRApplication_VRMonitor = 5;
+		/** <i>native declaration : headers\openvr_capi.h:748</i> */
+		public static final int EVRApplicationType_VRApplication_SteamWatchdog = 6;
+		/** <i>native declaration : headers\openvr_capi.h:749</i> */
+		public static final int EVRApplicationType_VRApplication_Bootstrapper = 7;
+		/** <i>native declaration : headers\openvr_capi.h:750</i> */
+		public static final int EVRApplicationType_VRApplication_Max = 8;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:756</i><br>
+	 * enum values
+	 */
+	public static interface EVRFirmwareError {
+		/** <i>native declaration : headers\openvr_capi.h:753</i> */
+		public static final int EVRFirmwareError_VRFirmwareError_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:754</i> */
+		public static final int EVRFirmwareError_VRFirmwareError_Success = 1;
+		/** <i>native declaration : headers\openvr_capi.h:755</i> */
+		public static final int EVRFirmwareError_VRFirmwareError_Fail = 2;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:763</i><br>
+	 * enum values
+	 */
+	public static interface EVRNotificationError {
+		/** <i>native declaration : headers\openvr_capi.h:758</i> */
+		public static final int EVRNotificationError_VRNotificationError_OK = 0;
+		/** <i>native declaration : headers\openvr_capi.h:759</i> */
+		public static final int EVRNotificationError_VRNotificationError_InvalidNotificationId = 100;
+		/** <i>native declaration : headers\openvr_capi.h:760</i> */
+		public static final int EVRNotificationError_VRNotificationError_NotificationQueueFull = 101;
+		/** <i>native declaration : headers\openvr_capi.h:761</i> */
+		public static final int EVRNotificationError_VRNotificationError_InvalidOverlayHandle = 102;
+		/** <i>native declaration : headers\openvr_capi.h:762</i> */
+		public static final int EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExists = 103;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:767</i><br>
+	 * enum values
+	 */
+	public static interface EVRSkeletalMotionRange {
+		/** <i>native declaration : headers\openvr_capi.h:765</i> */
+		public static final int EVRSkeletalMotionRange_VRSkeletalMotionRange_WithController = 0;
+		/** <i>native declaration : headers\openvr_capi.h:766</i> */
+		public static final int EVRSkeletalMotionRange_VRSkeletalMotionRange_WithoutController = 1;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:857</i><br>
+	 * enum values
+	 */
+	public static interface EVRInitError {
+		/** <i>native declaration : headers\openvr_capi.h:769</i> */
+		public static final int EVRInitError_VRInitError_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:770</i> */
+		public static final int EVRInitError_VRInitError_Unknown = 1;
+		/** <i>native declaration : headers\openvr_capi.h:771</i> */
+		public static final int EVRInitError_VRInitError_Init_InstallationNotFound = 100;
+		/** <i>native declaration : headers\openvr_capi.h:772</i> */
+		public static final int EVRInitError_VRInitError_Init_InstallationCorrupt = 101;
+		/** <i>native declaration : headers\openvr_capi.h:773</i> */
+		public static final int EVRInitError_VRInitError_Init_VRClientDLLNotFound = 102;
+		/** <i>native declaration : headers\openvr_capi.h:774</i> */
+		public static final int EVRInitError_VRInitError_Init_FileNotFound = 103;
+		/** <i>native declaration : headers\openvr_capi.h:775</i> */
+		public static final int EVRInitError_VRInitError_Init_FactoryNotFound = 104;
+		/** <i>native declaration : headers\openvr_capi.h:776</i> */
+		public static final int EVRInitError_VRInitError_Init_InterfaceNotFound = 105;
+		/** <i>native declaration : headers\openvr_capi.h:777</i> */
+		public static final int EVRInitError_VRInitError_Init_InvalidInterface = 106;
+		/** <i>native declaration : headers\openvr_capi.h:778</i> */
+		public static final int EVRInitError_VRInitError_Init_UserConfigDirectoryInvalid = 107;
+		/** <i>native declaration : headers\openvr_capi.h:779</i> */
+		public static final int EVRInitError_VRInitError_Init_HmdNotFound = 108;
+		/** <i>native declaration : headers\openvr_capi.h:780</i> */
+		public static final int EVRInitError_VRInitError_Init_NotInitialized = 109;
+		/** <i>native declaration : headers\openvr_capi.h:781</i> */
+		public static final int EVRInitError_VRInitError_Init_PathRegistryNotFound = 110;
+		/** <i>native declaration : headers\openvr_capi.h:782</i> */
+		public static final int EVRInitError_VRInitError_Init_NoConfigPath = 111;
+		/** <i>native declaration : headers\openvr_capi.h:783</i> */
+		public static final int EVRInitError_VRInitError_Init_NoLogPath = 112;
+		/** <i>native declaration : headers\openvr_capi.h:784</i> */
+		public static final int EVRInitError_VRInitError_Init_PathRegistryNotWritable = 113;
+		/** <i>native declaration : headers\openvr_capi.h:785</i> */
+		public static final int EVRInitError_VRInitError_Init_AppInfoInitFailed = 114;
+		/** <i>native declaration : headers\openvr_capi.h:786</i> */
+		public static final int EVRInitError_VRInitError_Init_Retry = 115;
+		/** <i>native declaration : headers\openvr_capi.h:787</i> */
+		public static final int EVRInitError_VRInitError_Init_InitCanceledByUser = 116;
+		/** <i>native declaration : headers\openvr_capi.h:788</i> */
+		public static final int EVRInitError_VRInitError_Init_AnotherAppLaunching = 117;
+		/** <i>native declaration : headers\openvr_capi.h:789</i> */
+		public static final int EVRInitError_VRInitError_Init_SettingsInitFailed = 118;
+		/** <i>native declaration : headers\openvr_capi.h:790</i> */
+		public static final int EVRInitError_VRInitError_Init_ShuttingDown = 119;
+		/** <i>native declaration : headers\openvr_capi.h:791</i> */
+		public static final int EVRInitError_VRInitError_Init_TooManyObjects = 120;
+		/** <i>native declaration : headers\openvr_capi.h:792</i> */
+		public static final int EVRInitError_VRInitError_Init_NoServerForBackgroundApp = 121;
+		/** <i>native declaration : headers\openvr_capi.h:793</i> */
+		public static final int EVRInitError_VRInitError_Init_NotSupportedWithCompositor = 122;
+		/** <i>native declaration : headers\openvr_capi.h:794</i> */
+		public static final int EVRInitError_VRInitError_Init_NotAvailableToUtilityApps = 123;
+		/** <i>native declaration : headers\openvr_capi.h:795</i> */
+		public static final int EVRInitError_VRInitError_Init_Internal = 124;
+		/** <i>native declaration : headers\openvr_capi.h:796</i> */
+		public static final int EVRInitError_VRInitError_Init_HmdDriverIdIsNone = 125;
+		/** <i>native declaration : headers\openvr_capi.h:797</i> */
+		public static final int EVRInitError_VRInitError_Init_HmdNotFoundPresenceFailed = 126;
+		/** <i>native declaration : headers\openvr_capi.h:798</i> */
+		public static final int EVRInitError_VRInitError_Init_VRMonitorNotFound = 127;
+		/** <i>native declaration : headers\openvr_capi.h:799</i> */
+		public static final int EVRInitError_VRInitError_Init_VRMonitorStartupFailed = 128;
+		/** <i>native declaration : headers\openvr_capi.h:800</i> */
+		public static final int EVRInitError_VRInitError_Init_LowPowerWatchdogNotSupported = 129;
+		/** <i>native declaration : headers\openvr_capi.h:801</i> */
+		public static final int EVRInitError_VRInitError_Init_InvalidApplicationType = 130;
+		/** <i>native declaration : headers\openvr_capi.h:802</i> */
+		public static final int EVRInitError_VRInitError_Init_NotAvailableToWatchdogApps = 131;
+		/** <i>native declaration : headers\openvr_capi.h:803</i> */
+		public static final int EVRInitError_VRInitError_Init_WatchdogDisabledInSettings = 132;
+		/** <i>native declaration : headers\openvr_capi.h:804</i> */
+		public static final int EVRInitError_VRInitError_Init_VRDashboardNotFound = 133;
+		/** <i>native declaration : headers\openvr_capi.h:805</i> */
+		public static final int EVRInitError_VRInitError_Init_VRDashboardStartupFailed = 134;
+		/** <i>native declaration : headers\openvr_capi.h:806</i> */
+		public static final int EVRInitError_VRInitError_Init_VRHomeNotFound = 135;
+		/** <i>native declaration : headers\openvr_capi.h:807</i> */
+		public static final int EVRInitError_VRInitError_Init_VRHomeStartupFailed = 136;
+		/** <i>native declaration : headers\openvr_capi.h:808</i> */
+		public static final int EVRInitError_VRInitError_Init_RebootingBusy = 137;
+		/** <i>native declaration : headers\openvr_capi.h:809</i> */
+		public static final int EVRInitError_VRInitError_Init_FirmwareUpdateBusy = 138;
+		/** <i>native declaration : headers\openvr_capi.h:810</i> */
+		public static final int EVRInitError_VRInitError_Init_FirmwareRecoveryBusy = 139;
+		/** <i>native declaration : headers\openvr_capi.h:811</i> */
+		public static final int EVRInitError_VRInitError_Init_USBServiceBusy = 140;
+		/** <i>native declaration : headers\openvr_capi.h:812</i> */
+		public static final int EVRInitError_VRInitError_Init_VRWebHelperStartupFailed = 141;
+		/** <i>native declaration : headers\openvr_capi.h:813</i> */
+		public static final int EVRInitError_VRInitError_Init_TrackerManagerInitFailed = 142;
+		/** <i>native declaration : headers\openvr_capi.h:814</i> */
+		public static final int EVRInitError_VRInitError_Driver_Failed = 200;
+		/** <i>native declaration : headers\openvr_capi.h:815</i> */
+		public static final int EVRInitError_VRInitError_Driver_Unknown = 201;
+		/** <i>native declaration : headers\openvr_capi.h:816</i> */
+		public static final int EVRInitError_VRInitError_Driver_HmdUnknown = 202;
+		/** <i>native declaration : headers\openvr_capi.h:817</i> */
+		public static final int EVRInitError_VRInitError_Driver_NotLoaded = 203;
+		/** <i>native declaration : headers\openvr_capi.h:818</i> */
+		public static final int EVRInitError_VRInitError_Driver_RuntimeOutOfDate = 204;
+		/** <i>native declaration : headers\openvr_capi.h:819</i> */
+		public static final int EVRInitError_VRInitError_Driver_HmdInUse = 205;
+		/** <i>native declaration : headers\openvr_capi.h:820</i> */
+		public static final int EVRInitError_VRInitError_Driver_NotCalibrated = 206;
+		/** <i>native declaration : headers\openvr_capi.h:821</i> */
+		public static final int EVRInitError_VRInitError_Driver_CalibrationInvalid = 207;
+		/** <i>native declaration : headers\openvr_capi.h:822</i> */
+		public static final int EVRInitError_VRInitError_Driver_HmdDisplayNotFound = 208;
+		/** <i>native declaration : headers\openvr_capi.h:823</i> */
+		public static final int EVRInitError_VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209;
+		/** <i>native declaration : headers\openvr_capi.h:824</i> */
+		public static final int EVRInitError_VRInitError_Driver_HmdDriverIdOutOfBounds = 211;
+		/** <i>native declaration : headers\openvr_capi.h:825</i> */
+		public static final int EVRInitError_VRInitError_Driver_HmdDisplayMirrored = 212;
+		/** <i>native declaration : headers\openvr_capi.h:826</i> */
+		public static final int EVRInitError_VRInitError_IPC_ServerInitFailed = 300;
+		/** <i>native declaration : headers\openvr_capi.h:827</i> */
+		public static final int EVRInitError_VRInitError_IPC_ConnectFailed = 301;
+		/** <i>native declaration : headers\openvr_capi.h:828</i> */
+		public static final int EVRInitError_VRInitError_IPC_SharedStateInitFailed = 302;
+		/** <i>native declaration : headers\openvr_capi.h:829</i> */
+		public static final int EVRInitError_VRInitError_IPC_CompositorInitFailed = 303;
+		/** <i>native declaration : headers\openvr_capi.h:830</i> */
+		public static final int EVRInitError_VRInitError_IPC_MutexInitFailed = 304;
+		/** <i>native declaration : headers\openvr_capi.h:831</i> */
+		public static final int EVRInitError_VRInitError_IPC_Failed = 305;
+		/** <i>native declaration : headers\openvr_capi.h:832</i> */
+		public static final int EVRInitError_VRInitError_IPC_CompositorConnectFailed = 306;
+		/** <i>native declaration : headers\openvr_capi.h:833</i> */
+		public static final int EVRInitError_VRInitError_IPC_CompositorInvalidConnectResponse = 307;
+		/** <i>native declaration : headers\openvr_capi.h:834</i> */
+		public static final int EVRInitError_VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308;
+		/** <i>native declaration : headers\openvr_capi.h:835</i> */
+		public static final int EVRInitError_VRInitError_Compositor_Failed = 400;
+		/** <i>native declaration : headers\openvr_capi.h:836</i> */
+		public static final int EVRInitError_VRInitError_Compositor_D3D11HardwareRequired = 401;
+		/** <i>native declaration : headers\openvr_capi.h:837</i> */
+		public static final int EVRInitError_VRInitError_Compositor_FirmwareRequiresUpdate = 402;
+		/** <i>native declaration : headers\openvr_capi.h:838</i> */
+		public static final int EVRInitError_VRInitError_Compositor_OverlayInitFailed = 403;
+		/** <i>native declaration : headers\openvr_capi.h:839</i> */
+		public static final int EVRInitError_VRInitError_Compositor_ScreenshotsInitFailed = 404;
+		/** <i>native declaration : headers\openvr_capi.h:840</i> */
+		public static final int EVRInitError_VRInitError_Compositor_UnableToCreateDevice = 405;
+		/** <i>native declaration : headers\openvr_capi.h:841</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000;
+		/** <i>native declaration : headers\openvr_capi.h:842</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_WindowsNotInDevMode = 1001;
+		/** <i>native declaration : headers\openvr_capi.h:843</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101;
+		/** <i>native declaration : headers\openvr_capi.h:844</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102;
+		/** <i>native declaration : headers\openvr_capi.h:845</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103;
+		/** <i>native declaration : headers\openvr_capi.h:846</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104;
+		/** <i>native declaration : headers\openvr_capi.h:847</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105;
+		/** <i>native declaration : headers\openvr_capi.h:848</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106;
+		/** <i>native declaration : headers\openvr_capi.h:849</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107;
+		/** <i>native declaration : headers\openvr_capi.h:850</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108;
+		/** <i>native declaration : headers\openvr_capi.h:851</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109;
+		/** <i>native declaration : headers\openvr_capi.h:852</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110;
+		/** <i>native declaration : headers\openvr_capi.h:853</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111;
+		/** <i>native declaration : headers\openvr_capi.h:854</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError = 1112;
+		/** <i>native declaration : headers\openvr_capi.h:855</i> */
+		public static final int EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113;
+		/** <i>native declaration : headers\openvr_capi.h:856</i> */
+		public static final int EVRInitError_VRInitError_Steam_SteamInstallationNotFound = 2000;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:865</i><br>
+	 * enum values
+	 */
+	public static interface EVRScreenshotType {
+		/** <i>native declaration : headers\openvr_capi.h:859</i> */
+		public static final int EVRScreenshotType_VRScreenshotType_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:860</i> */
+		public static final int EVRScreenshotType_VRScreenshotType_Mono = 1;
+		/** <i>native declaration : headers\openvr_capi.h:861</i> */
+		public static final int EVRScreenshotType_VRScreenshotType_Stereo = 2;
+		/** <i>native declaration : headers\openvr_capi.h:862</i> */
+		public static final int EVRScreenshotType_VRScreenshotType_Cubemap = 3;
+		/** <i>native declaration : headers\openvr_capi.h:863</i> */
+		public static final int EVRScreenshotType_VRScreenshotType_MonoPanorama = 4;
+		/** <i>native declaration : headers\openvr_capi.h:864</i> */
+		public static final int EVRScreenshotType_VRScreenshotType_StereoPanorama = 5;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:869</i><br>
+	 * enum values
+	 */
+	public static interface EVRScreenshotPropertyFilenames {
+		/** <i>native declaration : headers\openvr_capi.h:867</i> */
+		public static final int EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_Preview = 0;
+		/** <i>native declaration : headers\openvr_capi.h:868</i> */
+		public static final int EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_VR = 1;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:888</i><br>
+	 * enum values
+	 */
+	public static interface EVRTrackedCameraError {
+		/** <i>native declaration : headers\openvr_capi.h:871</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:872</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_OperationFailed = 100;
+		/** <i>native declaration : headers\openvr_capi.h:873</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_InvalidHandle = 101;
+		/** <i>native declaration : headers\openvr_capi.h:874</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameHeaderVersion = 102;
+		/** <i>native declaration : headers\openvr_capi.h:875</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_OutOfHandles = 103;
+		/** <i>native declaration : headers\openvr_capi.h:876</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_IPCFailure = 104;
+		/** <i>native declaration : headers\openvr_capi.h:877</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_NotSupportedForThisDevice = 105;
+		/** <i>native declaration : headers\openvr_capi.h:878</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_SharedMemoryFailure = 106;
+		/** <i>native declaration : headers\openvr_capi.h:879</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_FrameBufferingFailure = 107;
+		/** <i>native declaration : headers\openvr_capi.h:880</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_StreamSetupFailure = 108;
+		/** <i>native declaration : headers\openvr_capi.h:881</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_InvalidGLTextureId = 109;
+		/** <i>native declaration : headers\openvr_capi.h:882</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_InvalidSharedTextureHandle = 110;
+		/** <i>native declaration : headers\openvr_capi.h:883</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_FailedToGetGLTextureId = 111;
+		/** <i>native declaration : headers\openvr_capi.h:884</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_SharedTextureFailure = 112;
+		/** <i>native declaration : headers\openvr_capi.h:885</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_NoFrameAvailable = 113;
+		/** <i>native declaration : headers\openvr_capi.h:886</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_InvalidArgument = 114;
+		/** <i>native declaration : headers\openvr_capi.h:887</i> */
+		public static final int EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameBufferSize = 115;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:894</i><br>
+	 * enum values
+	 */
+	public static interface EVRTrackedCameraFrameLayout {
+		/** <i>native declaration : headers\openvr_capi.h:890</i> */
+		public static final int EVRTrackedCameraFrameLayout_Mono = 1;
+		/** <i>native declaration : headers\openvr_capi.h:891</i> */
+		public static final int EVRTrackedCameraFrameLayout_Stereo = 2;
+		/** <i>native declaration : headers\openvr_capi.h:892</i> */
+		public static final int EVRTrackedCameraFrameLayout_VerticalLayout = 16;
+		/** <i>native declaration : headers\openvr_capi.h:893</i> */
+		public static final int EVRTrackedCameraFrameLayout_HorizontalLayout = 32;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:900</i><br>
+	 * enum values
+	 */
+	public static interface EVRTrackedCameraFrameType {
+		/** <i>native declaration : headers\openvr_capi.h:896</i> */
+		public static final int EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Distorted = 0;
+		/** <i>native declaration : headers\openvr_capi.h:897</i> */
+		public static final int EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Undistorted = 1;
+		/** <i>native declaration : headers\openvr_capi.h:898</i> */
+		public static final int EVRTrackedCameraFrameType_VRTrackedCameraFrameType_MaximumUndistorted = 2;
+		/** <i>native declaration : headers\openvr_capi.h:899</i> */
+		public static final int EVRTrackedCameraFrameType_MAX_CAMERA_FRAME_TYPES = 3;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:905</i><br>
+	 * enum values
+	 */
+	public static interface EVSync {
+		/** <i>native declaration : headers\openvr_capi.h:902</i> */
+		public static final int EVSync_VSync_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:903</i> */
+		public static final int EVSync_VSync_WaitRender = 1;
+		/** <i>native declaration : headers\openvr_capi.h:904</i> */
+		public static final int EVSync_VSync_NoWaitRender = 2;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:909</i><br>
+	 * enum values
+	 */
+	public static interface EVRMuraCorrectionMode {
+		/** <i>native declaration : headers\openvr_capi.h:907</i> */
+		public static final int EVRMuraCorrectionMode_Default = 0;
+		/** <i>native declaration : headers\openvr_capi.h:908</i> */
+		public static final int EVRMuraCorrectionMode_NoCorrection = 1;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:917</i><br>
+	 * enum values
+	 */
+	public static interface Imu_OffScaleFlags {
+		/** <i>native declaration : headers\openvr_capi.h:911</i> */
+		public static final int Imu_OffScaleFlags_OffScale_AccelX = 1;
+		/** <i>native declaration : headers\openvr_capi.h:912</i> */
+		public static final int Imu_OffScaleFlags_OffScale_AccelY = 2;
+		/** <i>native declaration : headers\openvr_capi.h:913</i> */
+		public static final int Imu_OffScaleFlags_OffScale_AccelZ = 4;
+		/** <i>native declaration : headers\openvr_capi.h:914</i> */
+		public static final int Imu_OffScaleFlags_OffScale_GyroX = 8;
+		/** <i>native declaration : headers\openvr_capi.h:915</i> */
+		public static final int Imu_OffScaleFlags_OffScale_GyroY = 16;
+		/** <i>native declaration : headers\openvr_capi.h:916</i> */
+		public static final int Imu_OffScaleFlags_OffScale_GyroZ = 32;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:940</i><br>
+	 * enum values
+	 */
+	public static interface EVRApplicationError {
+		/** <i>native declaration : headers\openvr_capi.h:919</i> */
+		public static final int EVRApplicationError_VRApplicationError_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:920</i> */
+		public static final int EVRApplicationError_VRApplicationError_AppKeyAlreadyExists = 100;
+		/** <i>native declaration : headers\openvr_capi.h:921</i> */
+		public static final int EVRApplicationError_VRApplicationError_NoManifest = 101;
+		/** <i>native declaration : headers\openvr_capi.h:922</i> */
+		public static final int EVRApplicationError_VRApplicationError_NoApplication = 102;
+		/** <i>native declaration : headers\openvr_capi.h:923</i> */
+		public static final int EVRApplicationError_VRApplicationError_InvalidIndex = 103;
+		/** <i>native declaration : headers\openvr_capi.h:924</i> */
+		public static final int EVRApplicationError_VRApplicationError_UnknownApplication = 104;
+		/** <i>native declaration : headers\openvr_capi.h:925</i> */
+		public static final int EVRApplicationError_VRApplicationError_IPCFailed = 105;
+		/** <i>native declaration : headers\openvr_capi.h:926</i> */
+		public static final int EVRApplicationError_VRApplicationError_ApplicationAlreadyRunning = 106;
+		/** <i>native declaration : headers\openvr_capi.h:927</i> */
+		public static final int EVRApplicationError_VRApplicationError_InvalidManifest = 107;
+		/** <i>native declaration : headers\openvr_capi.h:928</i> */
+		public static final int EVRApplicationError_VRApplicationError_InvalidApplication = 108;
+		/** <i>native declaration : headers\openvr_capi.h:929</i> */
+		public static final int EVRApplicationError_VRApplicationError_LaunchFailed = 109;
+		/** <i>native declaration : headers\openvr_capi.h:930</i> */
+		public static final int EVRApplicationError_VRApplicationError_ApplicationAlreadyStarting = 110;
+		/** <i>native declaration : headers\openvr_capi.h:931</i> */
+		public static final int EVRApplicationError_VRApplicationError_LaunchInProgress = 111;
+		/** <i>native declaration : headers\openvr_capi.h:932</i> */
+		public static final int EVRApplicationError_VRApplicationError_OldApplicationQuitting = 112;
+		/** <i>native declaration : headers\openvr_capi.h:933</i> */
+		public static final int EVRApplicationError_VRApplicationError_TransitionAborted = 113;
+		/** <i>native declaration : headers\openvr_capi.h:934</i> */
+		public static final int EVRApplicationError_VRApplicationError_IsTemplate = 114;
+		/** <i>native declaration : headers\openvr_capi.h:935</i> */
+		public static final int EVRApplicationError_VRApplicationError_SteamVRIsExiting = 115;
+		/** <i>native declaration : headers\openvr_capi.h:936</i> */
+		public static final int EVRApplicationError_VRApplicationError_BufferTooSmall = 200;
+		/** <i>native declaration : headers\openvr_capi.h:937</i> */
+		public static final int EVRApplicationError_VRApplicationError_PropertyNotSet = 201;
+		/** <i>native declaration : headers\openvr_capi.h:938</i> */
+		public static final int EVRApplicationError_VRApplicationError_UnknownProperty = 202;
+		/** <i>native declaration : headers\openvr_capi.h:939</i> */
+		public static final int EVRApplicationError_VRApplicationError_InvalidParameter = 203;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:959</i><br>
+	 * enum values
+	 */
+	public static interface EVRApplicationProperty {
+		/** <i>native declaration : headers\openvr_capi.h:942</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_Name_String = 0;
+		/** <i>native declaration : headers\openvr_capi.h:943</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_LaunchType_String = 11;
+		/** <i>native declaration : headers\openvr_capi.h:944</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_WorkingDirectory_String = 12;
+		/** <i>native declaration : headers\openvr_capi.h:945</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_BinaryPath_String = 13;
+		/** <i>native declaration : headers\openvr_capi.h:946</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_Arguments_String = 14;
+		/** <i>native declaration : headers\openvr_capi.h:947</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_URL_String = 15;
+		/** <i>native declaration : headers\openvr_capi.h:948</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_Description_String = 50;
+		/** <i>native declaration : headers\openvr_capi.h:949</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_NewsURL_String = 51;
+		/** <i>native declaration : headers\openvr_capi.h:950</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_ImagePath_String = 52;
+		/** <i>native declaration : headers\openvr_capi.h:951</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_Source_String = 53;
+		/** <i>native declaration : headers\openvr_capi.h:952</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_ActionManifestURL_String = 54;
+		/** <i>native declaration : headers\openvr_capi.h:953</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool = 60;
+		/** <i>native declaration : headers\openvr_capi.h:954</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool = 61;
+		/** <i>native declaration : headers\openvr_capi.h:955</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool = 62;
+		/** <i>native declaration : headers\openvr_capi.h:956</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_IsInternal_Bool = 63;
+		/** <i>native declaration : headers\openvr_capi.h:957</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_WantsCompositorPauseInStandby_Bool = 64;
+		/** <i>native declaration : headers\openvr_capi.h:958</i> */
+		public static final int EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64 = 70;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:965</i><br>
+	 * enum values
+	 */
+	public static interface EVRApplicationTransitionState {
+		/** <i>native declaration : headers\openvr_capi.h:961</i> */
+		public static final int EVRApplicationTransitionState_VRApplicationTransition_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:962</i> */
+		public static final int EVRApplicationTransitionState_VRApplicationTransition_OldAppQuitSent = 10;
+		/** <i>native declaration : headers\openvr_capi.h:963</i> */
+		public static final int EVRApplicationTransitionState_VRApplicationTransition_WaitingForExternalLaunch = 11;
+		/** <i>native declaration : headers\openvr_capi.h:964</i> */
+		public static final int EVRApplicationTransitionState_VRApplicationTransition_NewAppLaunched = 20;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:977</i><br>
+	 * enum values
+	 */
+	public static interface ChaperoneCalibrationState {
+		/** <i>native declaration : headers\openvr_capi.h:967</i> */
+		public static final int ChaperoneCalibrationState_OK = 1;
+		/** <i>native declaration : headers\openvr_capi.h:968</i> */
+		public static final int ChaperoneCalibrationState_Warning = 100;
+		/** <i>native declaration : headers\openvr_capi.h:969</i> */
+		public static final int ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101;
+		/** <i>native declaration : headers\openvr_capi.h:970</i> */
+		public static final int ChaperoneCalibrationState_Warning_BaseStationRemoved = 102;
+		/** <i>native declaration : headers\openvr_capi.h:971</i> */
+		public static final int ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103;
+		/** <i>native declaration : headers\openvr_capi.h:972</i> */
+		public static final int ChaperoneCalibrationState_Error = 200;
+		/** <i>native declaration : headers\openvr_capi.h:973</i> */
+		public static final int ChaperoneCalibrationState_Error_BaseStationUninitialized = 201;
+		/** <i>native declaration : headers\openvr_capi.h:974</i> */
+		public static final int ChaperoneCalibrationState_Error_BaseStationConflict = 202;
+		/** <i>native declaration : headers\openvr_capi.h:975</i> */
+		public static final int ChaperoneCalibrationState_Error_PlayAreaInvalid = 203;
+		/** <i>native declaration : headers\openvr_capi.h:976</i> */
+		public static final int ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:981</i><br>
+	 * enum values
+	 */
+	public static interface EChaperoneConfigFile {
+		/** <i>native declaration : headers\openvr_capi.h:979</i> */
+		public static final int EChaperoneConfigFile_Live = 1;
+		/** <i>native declaration : headers\openvr_capi.h:980</i> */
+		public static final int EChaperoneConfigFile_Temp = 2;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:984</i><br>
+	 * enum values
+	 */
+	public static interface EChaperoneImportFlags {
+		/** <i>native declaration : headers\openvr_capi.h:983</i> */
+		public static final int EChaperoneImportFlags_EChaperoneImport_BoundsOnly = 1;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:998</i><br>
+	 * enum values
+	 */
+	public static interface EVRCompositorError {
+		/** <i>native declaration : headers\openvr_capi.h:986</i> */
+		public static final int EVRCompositorError_VRCompositorError_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:987</i> */
+		public static final int EVRCompositorError_VRCompositorError_RequestFailed = 1;
+		/** <i>native declaration : headers\openvr_capi.h:988</i> */
+		public static final int EVRCompositorError_VRCompositorError_IncompatibleVersion = 100;
+		/** <i>native declaration : headers\openvr_capi.h:989</i> */
+		public static final int EVRCompositorError_VRCompositorError_DoNotHaveFocus = 101;
+		/** <i>native declaration : headers\openvr_capi.h:990</i> */
+		public static final int EVRCompositorError_VRCompositorError_InvalidTexture = 102;
+		/** <i>native declaration : headers\openvr_capi.h:991</i> */
+		public static final int EVRCompositorError_VRCompositorError_IsNotSceneApplication = 103;
+		/** <i>native declaration : headers\openvr_capi.h:992</i> */
+		public static final int EVRCompositorError_VRCompositorError_TextureIsOnWrongDevice = 104;
+		/** <i>native declaration : headers\openvr_capi.h:993</i> */
+		public static final int EVRCompositorError_VRCompositorError_TextureUsesUnsupportedFormat = 105;
+		/** <i>native declaration : headers\openvr_capi.h:994</i> */
+		public static final int EVRCompositorError_VRCompositorError_SharedTexturesNotSupported = 106;
+		/** <i>native declaration : headers\openvr_capi.h:995</i> */
+		public static final int EVRCompositorError_VRCompositorError_IndexOutOfRange = 107;
+		/** <i>native declaration : headers\openvr_capi.h:996</i> */
+		public static final int EVRCompositorError_VRCompositorError_AlreadySubmitted = 108;
+		/** <i>native declaration : headers\openvr_capi.h:997</i> */
+		public static final int EVRCompositorError_VRCompositorError_InvalidBounds = 109;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1003</i><br>
+	 * enum values
+	 */
+	public static interface EVRCompositorTimingMode {
+		/** <i>native declaration : headers\openvr_capi.h:1000</i> */
+		public static final int EVRCompositorTimingMode_VRCompositorTimingMode_Implicit = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1001</i> */
+		public static final int EVRCompositorTimingMode_VRCompositorTimingMode_Explicit_RuntimePerformsPostPresentHandoff = 1;
+		/** <i>native declaration : headers\openvr_capi.h:1002</i> */
+		public static final int EVRCompositorTimingMode_VRCompositorTimingMode_Explicit_ApplicationPerformsPostPresentHandoff = 2;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1008</i><br>
+	 * enum values
+	 */
+	public static interface VROverlayInputMethod {
+		/** <i>native declaration : headers\openvr_capi.h:1005</i> */
+		public static final int VROverlayInputMethod_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1006</i> */
+		public static final int VROverlayInputMethod_Mouse = 1;
+		/** <i>native declaration : headers\openvr_capi.h:1007</i> */
+		public static final int VROverlayInputMethod_DualAnalog = 2;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1014</i><br>
+	 * enum values
+	 */
+	public static interface VROverlayTransformType {
+		/** <i>native declaration : headers\openvr_capi.h:1010</i> */
+		public static final int VROverlayTransformType_VROverlayTransform_Absolute = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1011</i> */
+		public static final int VROverlayTransformType_VROverlayTransform_TrackedDeviceRelative = 1;
+		/** <i>native declaration : headers\openvr_capi.h:1012</i> */
+		public static final int VROverlayTransformType_VROverlayTransform_SystemOverlay = 2;
+		/** <i>native declaration : headers\openvr_capi.h:1013</i> */
+		public static final int VROverlayTransformType_VROverlayTransform_TrackedComponent = 3;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1032</i><br>
+	 * enum values
+	 */
+	public static interface VROverlayFlags {
+		/** <i>native declaration : headers\openvr_capi.h:1016</i> */
+		public static final int VROverlayFlags_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1017</i> */
+		public static final int VROverlayFlags_Curved = 1;
+		/** <i>native declaration : headers\openvr_capi.h:1018</i> */
+		public static final int VROverlayFlags_RGSS4X = 2;
+		/** <i>native declaration : headers\openvr_capi.h:1019</i> */
+		public static final int VROverlayFlags_NoDashboardTab = 3;
+		/** <i>native declaration : headers\openvr_capi.h:1020</i> */
+		public static final int VROverlayFlags_AcceptsGamepadEvents = 4;
+		/** <i>native declaration : headers\openvr_capi.h:1021</i> */
+		public static final int VROverlayFlags_ShowGamepadFocus = 5;
+		/** <i>native declaration : headers\openvr_capi.h:1022</i> */
+		public static final int VROverlayFlags_SendVRScrollEvents = 6;
+		/** <i>native declaration : headers\openvr_capi.h:1023</i> */
+		public static final int VROverlayFlags_SendVRTouchpadEvents = 7;
+		/** <i>native declaration : headers\openvr_capi.h:1024</i> */
+		public static final int VROverlayFlags_ShowTouchPadScrollWheel = 8;
+		/** <i>native declaration : headers\openvr_capi.h:1025</i> */
+		public static final int VROverlayFlags_TransferOwnershipToInternalProcess = 9;
+		/** <i>native declaration : headers\openvr_capi.h:1026</i> */
+		public static final int VROverlayFlags_SideBySide_Parallel = 10;
+		/** <i>native declaration : headers\openvr_capi.h:1027</i> */
+		public static final int VROverlayFlags_SideBySide_Crossed = 11;
+		/** <i>native declaration : headers\openvr_capi.h:1028</i> */
+		public static final int VROverlayFlags_Panorama = 12;
+		/** <i>native declaration : headers\openvr_capi.h:1029</i> */
+		public static final int VROverlayFlags_StereoPanorama = 13;
+		/** <i>native declaration : headers\openvr_capi.h:1030</i> */
+		public static final int VROverlayFlags_SortWithNonSceneOverlays = 14;
+		/** <i>native declaration : headers\openvr_capi.h:1031</i> */
+		public static final int VROverlayFlags_VisibleInDashboard = 15;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1041</i><br>
+	 * enum values
+	 */
+	public static interface VRMessageOverlayResponse {
+		/** <i>native declaration : headers\openvr_capi.h:1034</i> */
+		public static final int VRMessageOverlayResponse_ButtonPress_0 = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1035</i> */
+		public static final int VRMessageOverlayResponse_ButtonPress_1 = 1;
+		/** <i>native declaration : headers\openvr_capi.h:1036</i> */
+		public static final int VRMessageOverlayResponse_ButtonPress_2 = 2;
+		/** <i>native declaration : headers\openvr_capi.h:1037</i> */
+		public static final int VRMessageOverlayResponse_ButtonPress_3 = 3;
+		/** <i>native declaration : headers\openvr_capi.h:1038</i> */
+		public static final int VRMessageOverlayResponse_CouldntFindSystemOverlay = 4;
+		/** <i>native declaration : headers\openvr_capi.h:1039</i> */
+		public static final int VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay = 5;
+		/** <i>native declaration : headers\openvr_capi.h:1040</i> */
+		public static final int VRMessageOverlayResponse_ApplicationQuit = 6;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1046</i><br>
+	 * enum values
+	 */
+	public static interface EGamepadTextInputMode {
+		/** <i>native declaration : headers\openvr_capi.h:1043</i> */
+		public static final int EGamepadTextInputMode_k_EGamepadTextInputModeNormal = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1044</i> */
+		public static final int EGamepadTextInputMode_k_EGamepadTextInputModePassword = 1;
+		/** <i>native declaration : headers\openvr_capi.h:1045</i> */
+		public static final int EGamepadTextInputMode_k_EGamepadTextInputModeSubmit = 2;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1050</i><br>
+	 * enum values
+	 */
+	public static interface EGamepadTextInputLineMode {
+		/** <i>native declaration : headers\openvr_capi.h:1048</i> */
+		public static final int EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1049</i> */
+		public static final int EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines = 1;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1057</i><br>
+	 * enum values
+	 */
+	public static interface EOverlayDirection {
+		/** <i>native declaration : headers\openvr_capi.h:1052</i> */
+		public static final int EOverlayDirection_OverlayDirection_Up = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1053</i> */
+		public static final int EOverlayDirection_OverlayDirection_Down = 1;
+		/** <i>native declaration : headers\openvr_capi.h:1054</i> */
+		public static final int EOverlayDirection_OverlayDirection_Left = 2;
+		/** <i>native declaration : headers\openvr_capi.h:1055</i> */
+		public static final int EOverlayDirection_OverlayDirection_Right = 3;
+		/** <i>native declaration : headers\openvr_capi.h:1056</i> */
+		public static final int EOverlayDirection_OverlayDirection_Count = 4;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1061</i><br>
+	 * enum values
+	 */
+	public static interface EVROverlayIntersectionMaskPrimitiveType {
+		/** <i>native declaration : headers\openvr_capi.h:1059</i> */
+		public static final int EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType_Rectangle = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1060</i> */
+		public static final int EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType_Circle = 1;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1076</i><br>
+	 * enum values
+	 */
+	public static interface EVRRenderModelError {
+		/** <i>native declaration : headers\openvr_capi.h:1063</i> */
+		public static final int EVRRenderModelError_VRRenderModelError_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1064</i> */
+		public static final int EVRRenderModelError_VRRenderModelError_Loading = 100;
+		/** <i>native declaration : headers\openvr_capi.h:1065</i> */
+		public static final int EVRRenderModelError_VRRenderModelError_NotSupported = 200;
+		/** <i>native declaration : headers\openvr_capi.h:1066</i> */
+		public static final int EVRRenderModelError_VRRenderModelError_InvalidArg = 300;
+		/** <i>native declaration : headers\openvr_capi.h:1067</i> */
+		public static final int EVRRenderModelError_VRRenderModelError_InvalidModel = 301;
+		/** <i>native declaration : headers\openvr_capi.h:1068</i> */
+		public static final int EVRRenderModelError_VRRenderModelError_NoShapes = 302;
+		/** <i>native declaration : headers\openvr_capi.h:1069</i> */
+		public static final int EVRRenderModelError_VRRenderModelError_MultipleShapes = 303;
+		/** <i>native declaration : headers\openvr_capi.h:1070</i> */
+		public static final int EVRRenderModelError_VRRenderModelError_TooManyVertices = 304;
+		/** <i>native declaration : headers\openvr_capi.h:1071</i> */
+		public static final int EVRRenderModelError_VRRenderModelError_MultipleTextures = 305;
+		/** <i>native declaration : headers\openvr_capi.h:1072</i> */
+		public static final int EVRRenderModelError_VRRenderModelError_BufferTooSmall = 306;
+		/** <i>native declaration : headers\openvr_capi.h:1073</i> */
+		public static final int EVRRenderModelError_VRRenderModelError_NotEnoughNormals = 307;
+		/** <i>native declaration : headers\openvr_capi.h:1074</i> */
+		public static final int EVRRenderModelError_VRRenderModelError_NotEnoughTexCoords = 308;
+		/** <i>native declaration : headers\openvr_capi.h:1075</i> */
+		public static final int EVRRenderModelError_VRRenderModelError_InvalidTexture = 400;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1083</i><br>
+	 * enum values
+	 */
+	public static interface EVRComponentProperty {
+		/** <i>native declaration : headers\openvr_capi.h:1078</i> */
+		public static final int EVRComponentProperty_VRComponentProperty_IsStatic = 1;
+		/** <i>native declaration : headers\openvr_capi.h:1079</i> */
+		public static final int EVRComponentProperty_VRComponentProperty_IsVisible = 2;
+		/** <i>native declaration : headers\openvr_capi.h:1080</i> */
+		public static final int EVRComponentProperty_VRComponentProperty_IsTouched = 4;
+		/** <i>native declaration : headers\openvr_capi.h:1081</i> */
+		public static final int EVRComponentProperty_VRComponentProperty_IsPressed = 8;
+		/** <i>native declaration : headers\openvr_capi.h:1082</i> */
+		public static final int EVRComponentProperty_VRComponentProperty_IsScrolled = 16;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1088</i><br>
+	 * enum values
+	 */
+	public static interface EVRNotificationType {
+		/** <i>native declaration : headers\openvr_capi.h:1085</i> */
+		public static final int EVRNotificationType_Transient = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1086</i> */
+		public static final int EVRNotificationType_Persistent = 1;
+		/** <i>native declaration : headers\openvr_capi.h:1087</i> */
+		public static final int EVRNotificationType_Transient_SystemWithUserValue = 2;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1095</i><br>
+	 * enum values
+	 */
+	public static interface EVRNotificationStyle {
+		/** <i>native declaration : headers\openvr_capi.h:1090</i> */
+		public static final int EVRNotificationStyle_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1091</i> */
+		public static final int EVRNotificationStyle_Application = 100;
+		/** <i>native declaration : headers\openvr_capi.h:1092</i> */
+		public static final int EVRNotificationStyle_Contact_Disabled = 200;
+		/** <i>native declaration : headers\openvr_capi.h:1093</i> */
+		public static final int EVRNotificationStyle_Contact_Enabled = 201;
+		/** <i>native declaration : headers\openvr_capi.h:1094</i> */
+		public static final int EVRNotificationStyle_Contact_Active = 202;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1103</i><br>
+	 * enum values
+	 */
+	public static interface EVRSettingsError {
+		/** <i>native declaration : headers\openvr_capi.h:1097</i> */
+		public static final int EVRSettingsError_VRSettingsError_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1098</i> */
+		public static final int EVRSettingsError_VRSettingsError_IPCFailed = 1;
+		/** <i>native declaration : headers\openvr_capi.h:1099</i> */
+		public static final int EVRSettingsError_VRSettingsError_WriteFailed = 2;
+		/** <i>native declaration : headers\openvr_capi.h:1100</i> */
+		public static final int EVRSettingsError_VRSettingsError_ReadFailed = 3;
+		/** <i>native declaration : headers\openvr_capi.h:1101</i> */
+		public static final int EVRSettingsError_VRSettingsError_JsonParseFailed = 4;
+		/** <i>native declaration : headers\openvr_capi.h:1102</i> */
+		public static final int EVRSettingsError_VRSettingsError_UnsetSettingHasNoDefault = 5;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1111</i><br>
+	 * enum values
+	 */
+	public static interface EVRScreenshotError {
+		/** <i>native declaration : headers\openvr_capi.h:1105</i> */
+		public static final int EVRScreenshotError_VRScreenshotError_None = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1106</i> */
+		public static final int EVRScreenshotError_VRScreenshotError_RequestFailed = 1;
+		/** <i>native declaration : headers\openvr_capi.h:1107</i> */
+		public static final int EVRScreenshotError_VRScreenshotError_IncompatibleVersion = 100;
+		/** <i>native declaration : headers\openvr_capi.h:1108</i> */
+		public static final int EVRScreenshotError_VRScreenshotError_NotFound = 101;
+		/** <i>native declaration : headers\openvr_capi.h:1109</i> */
+		public static final int EVRScreenshotError_VRScreenshotError_BufferTooSmall = 102;
+		/** <i>native declaration : headers\openvr_capi.h:1110</i> */
+		public static final int EVRScreenshotError_VRScreenshotError_ScreenshotAlreadyInProgress = 108;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1116</i><br>
+	 * enum values
+	 */
+	public static interface EVRSkeletalTransformSpace {
+		/** <i>native declaration : headers\openvr_capi.h:1113</i> */
+		public static final int EVRSkeletalTransformSpace_VRSkeletalTransformSpace_Model = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1114</i> */
+		public static final int EVRSkeletalTransformSpace_VRSkeletalTransformSpace_Parent = 1;
+		/** <i>native declaration : headers\openvr_capi.h:1115</i> */
+		public static final int EVRSkeletalTransformSpace_VRSkeletalTransformSpace_Additive = 2;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1120</i><br>
+	 * enum values
+	 */
+	public static interface EVRInputFilterCancelType {
+		/** <i>native declaration : headers\openvr_capi.h:1118</i> */
+		public static final int EVRInputFilterCancelType_VRInputFilterCancel_Timers = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1119</i> */
+		public static final int EVRInputFilterCancelType_VRInputFilterCancel_Momentum = 1;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1129</i><br>
+	 * enum values
+	 */
+	public static interface EIOBufferError {
+		/** <i>native declaration : headers\openvr_capi.h:1122</i> */
+		public static final int EIOBufferError_IOBuffer_Success = 0;
+		/** <i>native declaration : headers\openvr_capi.h:1123</i> */
+		public static final int EIOBufferError_IOBuffer_OperationFailed = 100;
+		/** <i>native declaration : headers\openvr_capi.h:1124</i> */
+		public static final int EIOBufferError_IOBuffer_InvalidHandle = 101;
+		/** <i>native declaration : headers\openvr_capi.h:1125</i> */
+		public static final int EIOBufferError_IOBuffer_InvalidArgument = 102;
+		/** <i>native declaration : headers\openvr_capi.h:1126</i> */
+		public static final int EIOBufferError_IOBuffer_PathExists = 103;
+		/** <i>native declaration : headers\openvr_capi.h:1127</i> */
+		public static final int EIOBufferError_IOBuffer_PathDoesNotExist = 104;
+		/** <i>native declaration : headers\openvr_capi.h:1128</i> */
+		public static final int EIOBufferError_IOBuffer_Permission = 105;
+	};
+	/**
+	 * <i>native declaration : headers\openvr_capi.h:1134</i><br>
+	 * enum values
+	 */
+	public static interface EIOBufferMode {
+		/** <i>native declaration : headers\openvr_capi.h:1131</i> */
+		public static final int EIOBufferMode_IOBufferMode_Read = 1;
+		/** <i>native declaration : headers\openvr_capi.h:1132</i> */
+		public static final int EIOBufferMode_IOBufferMode_Write = 2;
+		/** <i>native declaration : headers\openvr_capi.h:1133</i> */
+		public static final int EIOBufferMode_IOBufferMode_Create = 512;
+	};
+	/** OpenVR Constants */
+	public static final long k_nDriverNone = 4294967295L;
+	public static final int k_unMaxDriverDebugResponseSize = 32768;
+	public static final int k_unTrackedDeviceIndex_Hmd = 0;
+	public static final int k_unMaxTrackedDeviceCount = 64;
+	public static final int k_unTrackedDeviceIndexOther = -2;
+	public static final long k_unTrackedDeviceIndexInvalid = 4294967295L;
+	public static final long k_ulInvalidPropertyContainer = 0;
+	public static final int k_unInvalidPropertyTag = 0;
+	public static final long k_ulInvalidDriverHandle = 0;
+	public static final int k_unFloatPropertyTag = 1;
+	public static final int k_unInt32PropertyTag = 2;
+	public static final int k_unUint64PropertyTag = 3;
+	public static final int k_unBoolPropertyTag = 4;
+	public static final int k_unStringPropertyTag = 5;
+	public static final int k_unHmdMatrix34PropertyTag = 20;
+	public static final int k_unHmdMatrix44PropertyTag = 21;
+	public static final int k_unHmdVector3PropertyTag = 22;
+	public static final int k_unHmdVector4PropertyTag = 23;
+	public static final int k_unHiddenAreaPropertyTag = 30;
+	public static final int k_unPathHandleInfoTag = 31;
+	public static final int k_unActionPropertyTag = 32;
+	public static final int k_unInputValuePropertyTag = 33;
+	public static final int k_unWildcardPropertyTag = 34;
+	public static final int k_unHapticVibrationPropertyTag = 35;
+	public static final int k_unSkeletonPropertyTag = 36;
+	public static final int k_unSpatialAnchorPosePropertyTag = 40;
+	public static final int k_unOpenVRInternalReserved_Start = 1000;
+	public static final int k_unOpenVRInternalReserved_End = 10000;
+	public static final int k_unMaxPropertyStringSize = 32768;
+	public static final long k_ulInvalidActionHandle = 0;
+	public static final long k_ulInvalidActionSetHandle = 0;
+	public static final long k_ulInvalidInputValueHandle = 0;
+	public static final int k_unControllerStateAxisCount = 5;
+	public static final long k_ulOverlayHandleInvalid = 0;
+	public static final int k_unScreenshotHandleInvalid = 0;
+	public static final int k_unMaxApplicationKeyLength = 128;
+	public static final int k_unVROverlayMaxKeyLength = 128;
+	public static final int k_unVROverlayMaxNameLength = 128;
+	public static final int k_unMaxOverlayCount = 64;
+	public static final int k_unMaxOverlayIntersectionMaskPrimitivesCount = 32;
+	public static final int k_unNotificationTextMaxSize = 256;
+	public static final int k_unMaxSettingsKeyLength = 128;
+	public static final int k_unMaxActionNameLength = 64;
+	public static final int k_unMaxActionSetNameLength = 64;
+	public static final int k_unMaxActionOriginCount = 16;
+	public static final long k_ulInvalidIOBufferHandle = 0;
+	public static final int k_ulInvalidSpatialAnchorHandle = 0;
+    
+    
+    public static final String IVRSystem_Version = "IVRSystem_019";
+    public static final String IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
+    public static final String IVRTrackedCamera_Version = "IVRTrackedCamera_003";
+    public static final String k_pch_MimeType_HomeApp = "vr/home";
+    public static final String k_pch_MimeType_GameTheater = "vr/game_theater";
+    public static final String IVRApplications_Version = "IVRApplications_006";
+    public static final String IVRChaperone_Version = "IVRChaperone_003";
+    public static final String IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
+    public static final String IVRCompositor_Version = "IVRCompositor_022";
+    public static final String IVROverlay_Version = "IVROverlay_018";
+    public static final String k_pch_Controller_Component_GDC2015 = "gdc2015";
+    public static final String k_pch_Controller_Component_Base = "base";
+    public static final String k_pch_Controller_Component_Tip = "tip";
+    public static final String k_pch_Controller_Component_HandGrip = "handgrip";
+    public static final String k_pch_Controller_Component_Status = "status";
+    public static final String IVRRenderModels_Version = "IVRRenderModels_006";
+    public static final String IVRNotifications_Version = "IVRNotifications_002";
+    public static final String IVRSettings_Version = "IVRSettings_002";
+    public static final String k_pch_SteamVR_Section = "steamvr";
+    public static final String k_pch_SteamVR_RequireHmd_String = "requireHmd";
+    public static final String k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver";
+    public static final String k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd";
+    public static final String k_pch_SteamVR_DisplayDebug_Bool = "displayDebug";
+    public static final String k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe";
+    public static final String k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX";
+    public static final String k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY";
+    public static final String k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemButtonToAllApps";
+    public static final String k_pch_SteamVR_LogLevel_Int32 = "loglevel";
+    public static final String k_pch_SteamVR_IPD_Float = "ipd";
+    public static final String k_pch_SteamVR_Background_String = "background";
+    public static final String k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection";
+    public static final String k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight";
+    public static final String k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius";
+    public static final String k_pch_SteamVR_GridColor_String = "gridColor";
+    public static final String k_pch_SteamVR_PlayAreaColor_String = "playAreaColor";
+    public static final String k_pch_SteamVR_ShowStage_Bool = "showStage";
+    public static final String k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers";
+    public static final String k_pch_SteamVR_DirectMode_Bool = "directMode";
+    public static final String k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid";
+    public static final String k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid";
+    public static final String k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers";
+    public static final String k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees";
+    public static final String k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement";
+    public static final String k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses";
+    public static final String k_pch_SteamVR_SupersampleScale_Float = "supersampleScale";
+    public static final String k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncReprojection";
+    public static final String k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedReprojection";
+    public static final String k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection";
+    public static final String k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking";
+    public static final String k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView";
+    public static final String k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView";
+    public static final String k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry";
+    public static final String k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch";
+    public static final String k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch";
+    public static final String k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch";
+    public static final String k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard";
+    public static final String k_pch_SteamVR_EnableHomeApp = "enableHomeApp";
+    public static final String k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec";
+    public static final String k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
+    public static final String k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
+    public static final String k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
+    public static final String k_pch_SteamVR_SupersampleManualOverride_Bool = "supersampleManualOverride";
+    public static final String k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
+    public static final String k_pch_SteamVR_AllowDisplayLockedMode_Bool = "allowDisplayLockedMode";
+    public static final String k_pch_SteamVR_HaveStartedTutorialForNativeChaperoneDriver_Bool = "haveStartedTutorialForNativeChaperoneDriver";
+    public static final String k_pch_SteamVR_ForceWindows32bitVRMonitor = "forceWindows32BitVRMonitor";
+    public static final String k_pch_SteamVR_DebugInput = "debugInput";
+    public static final String k_pch_SteamVR_LegacyInputRebinding = "legacyInputRebinding";
+    public static final String k_pch_SteamVR_DebugInputBinding = "debugInputBinding";
+    public static final String k_pch_SteamVR_InputBindingUIBlock = "inputBindingUI";
+    public static final String k_pch_SteamVR_RenderCameraMode = "renderCameraMode";
+    public static final String k_pch_Lighthouse_Section = "driver_lighthouse";
+    public static final String k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
+    public static final String k_pch_Lighthouse_DisableIMUExceptHMD_Bool = "disableimuexcepthmd";
+    public static final String k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
+    public static final String k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug";
+    public static final String k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation";
+    public static final String k_pch_Lighthouse_DBHistory_Bool = "dbhistory";
+    public static final String k_pch_Lighthouse_EnableBluetooth_Bool = "enableBluetooth";
+    public static final String k_pch_Lighthouse_PowerManagedBaseStations_String = "PowerManagedBaseStations";
+    public static final String k_pch_Null_Section = "driver_null";
+    public static final String k_pch_Null_SerialNumber_String = "serialNumber";
+    public static final String k_pch_Null_ModelNumber_String = "modelNumber";
+    public static final String k_pch_Null_WindowX_Int32 = "windowX";
+    public static final String k_pch_Null_WindowY_Int32 = "windowY";
+    public static final String k_pch_Null_WindowWidth_Int32 = "windowWidth";
+    public static final String k_pch_Null_WindowHeight_Int32 = "windowHeight";
+    public static final String k_pch_Null_RenderWidth_Int32 = "renderWidth";
+    public static final String k_pch_Null_RenderHeight_Int32 = "renderHeight";
+    public static final String k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons";
+    public static final String k_pch_Null_DisplayFrequency_Float = "displayFrequency";
+    public static final String k_pch_UserInterface_Section = "userinterface";
+    public static final String k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop";
+    public static final String k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray";
+    public static final String k_pch_UserInterface_Screenshots_Bool = "screenshots";
+    public static final String k_pch_UserInterface_ScreenshotType_Int = "screenshotType";
+    public static final String k_pch_Notifications_Section = "notifications";
+    public static final String k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb";
+    public static final String k_pch_Keyboard_Section = "keyboard";
+    public static final String k_pch_Keyboard_TutorialCompletions = "TutorialCompletions";
+    public static final String k_pch_Keyboard_ScaleX = "ScaleX";
+    public static final String k_pch_Keyboard_ScaleY = "ScaleY";
+    public static final String k_pch_Keyboard_OffsetLeftX = "OffsetLeftX";
+    public static final String k_pch_Keyboard_OffsetRightX = "OffsetRightX";
+    public static final String k_pch_Keyboard_OffsetY = "OffsetY";
+    public static final String k_pch_Keyboard_Smoothing = "Smoothing";
+    public static final String k_pch_Perf_Section = "perfcheck";
+    public static final String k_pch_Perf_HeuristicActive_Bool = "heuristicActive";
+    public static final String k_pch_Perf_NotifyInHMD_Bool = "warnInHMD";
+    public static final String k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce";
+    public static final String k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore";
+    public static final String k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit";
+    public static final String k_pch_Perf_TestData_Float = "perfTestData";
+    public static final String k_pch_Perf_LinuxGPUProfiling_Bool = "linuxGPUProfiling";
+    public static final String k_pch_CollisionBounds_Section = "collisionBounds";
+    public static final String k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle";
+    public static final String k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn";
+    public static final String k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn";
+    public static final String k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn";
+    public static final String k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance";
+    public static final String k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR";
+    public static final String k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG";
+    public static final String k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB";
+    public static final String k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA";
+    public static final String k_pch_Camera_Section = "camera";
+    public static final String k_pch_Camera_EnableCamera_Bool = "enableCamera";
+    public static final String k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard";
+    public static final String k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds";
+    public static final String k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView";
+    public static final String k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR";
+    public static final String k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG";
+    public static final String k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB";
+    public static final String k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA";
+    public static final String k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength";
+    public static final String k_pch_Camera_RoomViewMode_Int32 = "cameraRoomViewMode";
+    public static final String k_pch_audio_Section = "audio";
+    public static final String k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice";
+    public static final String k_pch_audio_OnRecordDevice_String = "onRecordDevice";
+    public static final String k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice";
+    public static final String k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice";
+    public static final String k_pch_audio_OffRecordDevice_String = "offRecordDevice";
+    public static final String k_pch_audio_VIVEHDMIGain = "viveHDMIGain";
+    public static final String k_pch_Power_Section = "power";
+    public static final String k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit";
+    public static final String k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout";
+    public static final String k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
+    public static final String k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
+    public static final String k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
+    public static final String k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
+    public static final String k_pch_Dashboard_Section = "dashboard";
+    public static final String k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";
+    public static final String k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
+    public static final String k_pch_Dashboard_EnableWebUI = "webUI";
+    public static final String k_pch_Dashboard_EnableWebUIDevTools = "webUIDevTools";
+    public static final String k_pch_Dashboard_EnableWebUIDashboardReplacement = "webUIDashboard";
+    public static final String k_pch_modelskin_Section = "modelskins";
+    public static final String k_pch_Driver_Enable_Bool = "enable";
+    public static final String k_pch_WebInterface_Section = "WebInterface";
+    public static final String k_pch_WebInterface_WebEnable_Bool = "WebEnable";
+    public static final String k_pch_WebInterface_WebPort_String = "WebPort";
+    public static final String k_pch_TrackingOverride_Section = "TrackingOverrides";
+    public static final String k_pch_App_BindingAutosaveURLSuffix_String = "AutosaveURL";
+    public static final String k_pch_App_BindingCurrentURLSuffix_String = "CurrentURL";
+    public static final String k_pch_App_NeedToUpdateAutosaveSuffix_Bool = "NeedToUpdateAutosave";
+    public static final String k_pch_App_ActionManifestURL_String = "ActionManifestURL";
+    public static final String k_pch_Trackers_Section = "trackers";
+    public static final String IVRScreenshots_Version = "IVRScreenshots_001";
+    public static final String IVRResources_Version = "IVRResources_001";
+    public static final String IVRDriverManager_Version = "IVRDriverManager_001";
+    public static final String IVRInput_Version = "IVRInput_004";
+    public static final String IVRIOBuffer_Version = "IVRIOBuffer_001";
+    public static final String IVRSpatialAnchors_Version = "IVRSpatialAnchors_001";
+ 
+    
+	/**
+	 * Global entry points<br>
+	 * Original signature : <code>intptr_t VR_InitInternal(EVRInitError*, EVRApplicationType)</code><br>
+	 * <i>native declaration : headers\openvr_capi.h:2378</i><br>
+	 * @deprecated use the safer methods {@link #VR_InitInternal(java.nio.IntBuffer, int)} and {@link #VR_InitInternal(com.sun.jna.ptr.IntByReference, int)} instead
+	 */
+	@Deprecated 
+	public static native IntByReference VR_InitInternal(IntByReference peError, int eType);
+	/**
+	 * Global entry points<br>
+	 * Original signature : <code>intptr_t VR_InitInternal(EVRInitError*, EVRApplicationType)</code><br>
+	 * <i>native declaration : headers\openvr_capi.h:2378</i>
+	 */
+	public static native IntByReference VR_InitInternal(IntBuffer peError, int eType);
+	/**
+	 * Original signature : <code>void VR_ShutdownInternal()</code><br>
+	 * <i>native declaration : headers\openvr_capi.h:2380</i>
+	 */
+	public static native void VR_ShutdownInternal();
+	/**
+	 * Original signature : <code>bool VR_IsHmdPresent()</code><br>
+	 * <i>native declaration : headers\openvr_capi.h:2382</i>
+	 */
+	public static native byte VR_IsHmdPresent();
+	/**
+	 * Original signature : <code>intptr_t VR_GetGenericInterface(const char*, EVRInitError*)</code><br>
+	 * <i>native declaration : headers\openvr_capi.h:2384</i><br>
+	 * @deprecated use the safer methods {@link #VR_GetGenericInterface(java.lang.String, java.nio.IntBuffer)} and {@link #VR_GetGenericInterface(com.sun.jna.Pointer, com.sun.jna.ptr.IntByReference)} instead
+	 */
+	@Deprecated 
+	public static native IntByReference VR_GetGenericInterface(Pointer pchInterfaceVersion, IntByReference peError);
+	/**
+	 * Original signature : <code>intptr_t VR_GetGenericInterface(const char*, EVRInitError*)</code><br>
+	 * <i>native declaration : headers\openvr_capi.h:2384</i>
+	 */
+	public static native IntByReference VR_GetGenericInterface(String pchInterfaceVersion, IntByReference peError);
+	/**
+	 * Original signature : <code>bool VR_IsRuntimeInstalled()</code><br>
+	 * <i>native declaration : headers\openvr_capi.h:2386</i>
+	 */
+	public static native byte VR_IsRuntimeInstalled();
+	/**
+	 * Original signature : <code>char* VR_GetVRInitErrorAsSymbol(EVRInitError)</code><br>
+	 * <i>native declaration : headers\openvr_capi.h:2388</i>
+	 */
+	public static native Pointer VR_GetVRInitErrorAsSymbol(int error);
+	/**
+	 * Original signature : <code>char* VR_GetVRInitErrorAsEnglishDescription(EVRInitError)</code><br>
+	 * <i>native declaration : headers\openvr_capi.h:2390</i>
+	 */
+	public static native Pointer VR_GetVRInitErrorAsEnglishDescription(int error);
+	public static class VkQueue_T extends PointerType {
+		public VkQueue_T(Pointer address) {
+			super(address);
+		}
+		public VkQueue_T() {
+			super();
+		}
+	};
+	public static class VkPhysicalDevice_T extends PointerType {
+		public VkPhysicalDevice_T(Pointer address) {
+			super(address);
+		}
+		public VkPhysicalDevice_T() {
+			super();
+		}
+	};
+	public static class VkInstance_T extends PointerType {
+		public VkInstance_T(Pointer address) {
+			super(address);
+		}
+		public VkInstance_T() {
+			super();
+		}
+	};
+	public static class ID3D12CommandQueue extends PointerType {
+		public ID3D12CommandQueue(Pointer address) {
+			super(address);
+		}
+		public ID3D12CommandQueue() {
+			super();
+		}
+	};
+	public static class ID3D12Resource extends PointerType {
+		public ID3D12Resource(Pointer address) {
+			super(address);
+		}
+		public ID3D12Resource() {
+			super();
+		}
+	};
+	public static class VkDevice_T extends PointerType {
+		public VkDevice_T(Pointer address) {
+			super(address);
+		}
+		public VkDevice_T() {
+			super();
+		}
+	};
 }

+ 38 - 38
jme3-vr/src/main/java/com/jme3/system/jopenvr/NotificationBitmap_t.java

@@ -4,44 +4,44 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1263</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class NotificationBitmap_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1588</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class NotificationBitmap_t extends Structure {
 	/**
-	 * void *<br>
-	 * C type : void*
-	 */
-	public Pointer m_pImageData;
-	public int m_nWidth;
-	public int m_nHeight;
-	public int m_nBytesPerPixel;
-	public NotificationBitmap_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("m_pImageData", "m_nWidth", "m_nHeight", "m_nBytesPerPixel");
-	}
+	 * void *<br>
+	 * C type : void*
+	 */
+	public Pointer m_pImageData;
+	public int m_nWidth;
+	public int m_nHeight;
+	public int m_nBytesPerPixel;
+	public NotificationBitmap_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m_pImageData", "m_nWidth", "m_nHeight", "m_nBytesPerPixel");
+	}
 	/**
-	 * @param m_pImageData void *<br>
-	 * C type : void*
-	 */
-	public NotificationBitmap_t(Pointer m_pImageData, int m_nWidth, int m_nHeight, int m_nBytesPerPixel) {
-		super();
-		this.m_pImageData = m_pImageData;
-		this.m_nWidth = m_nWidth;
-		this.m_nHeight = m_nHeight;
-		this.m_nBytesPerPixel = m_nBytesPerPixel;
-	}
-	public NotificationBitmap_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends NotificationBitmap_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends NotificationBitmap_t implements Structure.ByValue {
-		
-	};
+	 * @param m_pImageData void *<br>
+	 * C type : void*
+	 */
+	public NotificationBitmap_t(Pointer m_pImageData, int m_nWidth, int m_nHeight, int m_nBytesPerPixel) {
+		super();
+		this.m_pImageData = m_pImageData;
+		this.m_nWidth = m_nWidth;
+		this.m_nHeight = m_nHeight;
+		this.m_nBytesPerPixel = m_nBytesPerPixel;
+	}
+	public NotificationBitmap_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends NotificationBitmap_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends NotificationBitmap_t implements Structure.ByValue {
+		
+	};
 }

+ 37 - 37
jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_ComponentState_t.java

@@ -4,42 +4,42 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1232</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class RenderModel_ComponentState_t extends Structure {
-	/** C type : HmdMatrix34_t */
-	public HmdMatrix34_t mTrackingToComponentRenderModel;
-	/** C type : HmdMatrix34_t */
-	public HmdMatrix34_t mTrackingToComponentLocal;
-	/** C type : VRComponentProperties */
-	public int uProperties;
-	public RenderModel_ComponentState_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("mTrackingToComponentRenderModel", "mTrackingToComponentLocal", "uProperties");
-	}
+ * <i>native declaration : headers\openvr_capi.h:1557</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class RenderModel_ComponentState_t extends Structure {
+	/** C type : HmdMatrix34_t */
+	public HmdMatrix34_t mTrackingToComponentRenderModel;
+	/** C type : HmdMatrix34_t */
+	public HmdMatrix34_t mTrackingToComponentLocal;
+	/** C type : VRComponentProperties */
+	public int uProperties;
+	public RenderModel_ComponentState_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("mTrackingToComponentRenderModel", "mTrackingToComponentLocal", "uProperties");
+	}
 	/**
-	 * @param mTrackingToComponentRenderModel C type : HmdMatrix34_t<br>
-	 * @param mTrackingToComponentLocal C type : HmdMatrix34_t<br>
-	 * @param uProperties C type : VRComponentProperties
-	 */
-	public RenderModel_ComponentState_t(HmdMatrix34_t mTrackingToComponentRenderModel, HmdMatrix34_t mTrackingToComponentLocal, int uProperties) {
-		super();
-		this.mTrackingToComponentRenderModel = mTrackingToComponentRenderModel;
-		this.mTrackingToComponentLocal = mTrackingToComponentLocal;
-		this.uProperties = uProperties;
-	}
-	public RenderModel_ComponentState_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends RenderModel_ComponentState_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends RenderModel_ComponentState_t implements Structure.ByValue {
-		
-	};
+	 * @param mTrackingToComponentRenderModel C type : HmdMatrix34_t<br>
+	 * @param mTrackingToComponentLocal C type : HmdMatrix34_t<br>
+	 * @param uProperties C type : VRComponentProperties
+	 */
+	public RenderModel_ComponentState_t(HmdMatrix34_t mTrackingToComponentRenderModel, HmdMatrix34_t mTrackingToComponentLocal, int uProperties) {
+		super();
+		this.mTrackingToComponentRenderModel = mTrackingToComponentRenderModel;
+		this.mTrackingToComponentLocal = mTrackingToComponentLocal;
+		this.uProperties = uProperties;
+	}
+	public RenderModel_ComponentState_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends RenderModel_ComponentState_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends RenderModel_ComponentState_t implements Structure.ByValue {
+		
+	};
 }

+ 26 - 26
jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_ControllerMode_State_t.java

@@ -4,30 +4,30 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1256</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class RenderModel_ControllerMode_State_t extends Structure {
-	public byte bScrollWheelVisible;
-	public RenderModel_ControllerMode_State_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("bScrollWheelVisible");
-	}
-	public RenderModel_ControllerMode_State_t(byte bScrollWheelVisible) {
-		super();
-		this.bScrollWheelVisible = bScrollWheelVisible;
-	}
-	public RenderModel_ControllerMode_State_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends RenderModel_ControllerMode_State_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends RenderModel_ControllerMode_State_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1581</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class RenderModel_ControllerMode_State_t extends Structure {
+	public byte bScrollWheelVisible;
+	public RenderModel_ControllerMode_State_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("bScrollWheelVisible");
+	}
+	public RenderModel_ControllerMode_State_t(byte bScrollWheelVisible) {
+		super();
+		this.bScrollWheelVisible = bScrollWheelVisible;
+	}
+	public RenderModel_ControllerMode_State_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends RenderModel_ControllerMode_State_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends RenderModel_ControllerMode_State_t implements Structure.ByValue {
+		
+	};
 }

+ 36 - 36
jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_TextureMap_t.java

@@ -4,42 +4,42 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1244</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class RenderModel_TextureMap_t extends Structure {
-	public short unWidth;
-	public short unHeight;
+ * <i>native declaration : headers\openvr_capi.h:1569</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class RenderModel_TextureMap_t extends Structure {
+	public short unWidth;
+	public short unHeight;
 	/**
-	 * const uint8_t *<br>
-	 * C type : uint8_t*
-	 */
-	public Pointer rubTextureMapData;
-	public RenderModel_TextureMap_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("unWidth", "unHeight", "rubTextureMapData");
-	}
+	 * const uint8_t *<br>
+	 * C type : uint8_t*
+	 */
+	public Pointer rubTextureMapData;
+	public RenderModel_TextureMap_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("unWidth", "unHeight", "rubTextureMapData");
+	}
 	/**
-	 * @param rubTextureMapData const uint8_t *<br>
-	 * C type : uint8_t*
-	 */
-	public RenderModel_TextureMap_t(short unWidth, short unHeight, Pointer rubTextureMapData) {
-		super();
-		this.unWidth = unWidth;
-		this.unHeight = unHeight;
-		this.rubTextureMapData = rubTextureMapData;
-	}
-	public RenderModel_TextureMap_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends RenderModel_TextureMap_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends RenderModel_TextureMap_t implements Structure.ByValue {
-		
-	};
+	 * @param rubTextureMapData const uint8_t *<br>
+	 * C type : uint8_t*
+	 */
+	public RenderModel_TextureMap_t(short unWidth, short unHeight, Pointer rubTextureMapData) {
+		super();
+		this.unWidth = unWidth;
+		this.unHeight = unHeight;
+		this.rubTextureMapData = rubTextureMapData;
+	}
+	public RenderModel_TextureMap_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends RenderModel_TextureMap_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends RenderModel_TextureMap_t implements Structure.ByValue {
+		
+	};
 }

+ 42 - 42
jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_Vertex_t.java

@@ -4,48 +4,48 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1238</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class RenderModel_Vertex_t extends Structure {
-	/** C type : HmdVector3_t */
-	public HmdVector3_t vPosition;
-	/** C type : HmdVector3_t */
-	public HmdVector3_t vNormal;
+ * <i>native declaration : headers\openvr_capi.h:1563</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class RenderModel_Vertex_t extends Structure {
+	/** C type : HmdVector3_t */
+	public HmdVector3_t vPosition;
+	/** C type : HmdVector3_t */
+	public HmdVector3_t vNormal;
 	/**
-	 * float[2]<br>
-	 * C type : float[2]
-	 */
-	public float[] rfTextureCoord = new float[2];
-	public RenderModel_Vertex_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("vPosition", "vNormal", "rfTextureCoord");
-	}
+	 * float[2]<br>
+	 * C type : float[2]
+	 */
+	public float[] rfTextureCoord = new float[2];
+	public RenderModel_Vertex_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("vPosition", "vNormal", "rfTextureCoord");
+	}
 	/**
-	 * @param vPosition C type : HmdVector3_t<br>
-	 * @param vNormal C type : HmdVector3_t<br>
-	 * @param rfTextureCoord float[2]<br>
-	 * C type : float[2]
-	 */
-	public RenderModel_Vertex_t(HmdVector3_t vPosition, HmdVector3_t vNormal, float rfTextureCoord[]) {
-		super();
-		this.vPosition = vPosition;
-		this.vNormal = vNormal;
-		if ((rfTextureCoord.length != this.rfTextureCoord.length)) 
-			throw new IllegalArgumentException("Wrong array size !");
-		this.rfTextureCoord = rfTextureCoord;
-	}
-	public RenderModel_Vertex_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends RenderModel_Vertex_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends RenderModel_Vertex_t implements Structure.ByValue {
-		
-	};
+	 * @param vPosition C type : HmdVector3_t<br>
+	 * @param vNormal C type : HmdVector3_t<br>
+	 * @param rfTextureCoord float[2]<br>
+	 * C type : float[2]
+	 */
+	public RenderModel_Vertex_t(HmdVector3_t vPosition, HmdVector3_t vNormal, float rfTextureCoord[]) {
+		super();
+		this.vPosition = vPosition;
+		this.vNormal = vNormal;
+		if ((rfTextureCoord.length != this.rfTextureCoord.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.rfTextureCoord = rfTextureCoord;
+	}
+	public RenderModel_Vertex_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends RenderModel_Vertex_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends RenderModel_Vertex_t implements Structure.ByValue {
+		
+	};
 }

+ 47 - 47
jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_t.java

@@ -5,54 +5,54 @@ import com.sun.jna.ptr.ShortByReference;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1253</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class RenderModel_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1578</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class RenderModel_t extends Structure {
 	/**
-	 * const struct vr::RenderModel_Vertex_t *<br>
-	 * C type : RenderModel_Vertex_t*
-	 */
-	public com.jme3.system.jopenvr.RenderModel_Vertex_t.ByReference rVertexData;
-	public int unVertexCount;
+	 * const struct vr::RenderModel_Vertex_t *<br>
+	 * C type : RenderModel_Vertex_t*
+	 */
+	public com.jme3.system.jopenvr.RenderModel_Vertex_t.ByReference rVertexData;
+	public int unVertexCount;
 	/**
-	 * const uint16_t *<br>
-	 * C type : uint16_t*
-	 */
-	public ShortByReference rIndexData;
-	public int unTriangleCount;
-	/** C type : TextureID_t */
-	public int diffuseTextureId;
-	public RenderModel_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("rVertexData", "unVertexCount", "rIndexData", "unTriangleCount", "diffuseTextureId");
-	}
+	 * const uint16_t *<br>
+	 * C type : uint16_t*
+	 */
+	public ShortByReference rIndexData;
+	public int unTriangleCount;
+	/** C type : TextureID_t */
+	public int diffuseTextureId;
+	public RenderModel_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("rVertexData", "unVertexCount", "rIndexData", "unTriangleCount", "diffuseTextureId");
+	}
 	/**
-	 * @param rVertexData const struct vr::RenderModel_Vertex_t *<br>
-	 * C type : RenderModel_Vertex_t*<br>
-	 * @param rIndexData const uint16_t *<br>
-	 * C type : uint16_t*<br>
-	 * @param diffuseTextureId C type : TextureID_t
-	 */
-	public RenderModel_t(com.jme3.system.jopenvr.RenderModel_Vertex_t.ByReference rVertexData, int unVertexCount, ShortByReference rIndexData, int unTriangleCount, int diffuseTextureId) {
-		super();
-		this.rVertexData = rVertexData;
-		this.unVertexCount = unVertexCount;
-		this.rIndexData = rIndexData;
-		this.unTriangleCount = unTriangleCount;
-		this.diffuseTextureId = diffuseTextureId;
-	}
-	public RenderModel_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends RenderModel_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends RenderModel_t implements Structure.ByValue {
-		
-	};
+	 * @param rVertexData const struct vr::RenderModel_Vertex_t *<br>
+	 * C type : RenderModel_Vertex_t*<br>
+	 * @param rIndexData const uint16_t *<br>
+	 * C type : uint16_t*<br>
+	 * @param diffuseTextureId C type : TextureID_t
+	 */
+	public RenderModel_t(com.jme3.system.jopenvr.RenderModel_Vertex_t.ByReference rVertexData, int unVertexCount, ShortByReference rIndexData, int unTriangleCount, int diffuseTextureId) {
+		super();
+		this.rVertexData = rVertexData;
+		this.unVertexCount = unVertexCount;
+		this.rIndexData = rIndexData;
+		this.unTriangleCount = unTriangleCount;
+		this.diffuseTextureId = diffuseTextureId;
+	}
+	public RenderModel_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends RenderModel_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends RenderModel_t implements Structure.ByValue {
+		
+	};
 }

+ 35 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/SpatialAnchorPose_t.java

@@ -0,0 +1,35 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1636</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class SpatialAnchorPose_t extends Structure {
+	/** C type : HmdMatrix34_t */
+	public HmdMatrix34_t mAnchorToAbsoluteTracking;
+	public SpatialAnchorPose_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("mAnchorToAbsoluteTracking");
+	}
+	/** @param mAnchorToAbsoluteTracking C type : HmdMatrix34_t */
+	public SpatialAnchorPose_t(HmdMatrix34_t mAnchorToAbsoluteTracking) {
+		super();
+		this.mAnchorToAbsoluteTracking = mAnchorToAbsoluteTracking;
+	}
+	public SpatialAnchorPose_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends SpatialAnchorPose_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends SpatialAnchorPose_t implements Structure.ByValue {
+		
+	};
+}

+ 46 - 46
jme3-vr/src/main/java/com/jme3/system/jopenvr/Texture_t.java

@@ -4,54 +4,54 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:991</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class Texture_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1247</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class Texture_t extends Structure {
 	/**
-	 * void *<br>
-	 * C type : void*
-	 */
-	public int handle;
+	 * void *<br>
+	 * C type : void*
+	 */
+	public int handle;
 	/**
-	 * @see ETextureType<br>
-	 * C type : ETextureType
-	 */
-	public int eType;
+	 * @see ETextureType<br>
+	 * C type : ETextureType
+	 */
+	public int eType;
 	/**
-	 * @see EColorSpace<br>
-	 * C type : EColorSpace
-	 */
-	public int eColorSpace;
-	public Texture_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("handle", "eType", "eColorSpace");
-	}
+	 * @see EColorSpace<br>
+	 * C type : EColorSpace
+	 */
+	public int eColorSpace;
+	public Texture_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("handle", "eType", "eColorSpace");
+	}
 	/**
-	 * @param handle void *<br>
-	 * C type : void*<br>
-	 * @param eType @see ETextureType<br>
-	 * C type : ETextureType<br>
-	 * @param eColorSpace @see EColorSpace<br>
-	 * C type : EColorSpace
-	 */
-	public Texture_t(int handle, int eType, int eColorSpace) {
-		super();
-		this.handle = handle;
-		this.eType = eType;
-		this.eColorSpace = eColorSpace;
-	}
-	public Texture_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends Texture_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends Texture_t implements Structure.ByValue {
-		
-	};
+	 * @param handle void *<br>
+	 * C type : void*<br>
+	 * @param eType @see ETextureType<br>
+	 * C type : ETextureType<br>
+	 * @param eColorSpace @see EColorSpace<br>
+	 * C type : EColorSpace
+	 */
+	public Texture_t(int handle, int eType, int eColorSpace) {
+		super();
+		this.handle = handle;
+		this.eType = eType;
+		this.eColorSpace = eColorSpace;
+	}
+	public Texture_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends Texture_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends Texture_t implements Structure.ByValue {
+		
+	};
 }

+ 48 - 48
jme3-vr/src/main/java/com/jme3/system/jopenvr/TrackedDevicePose_t.java

@@ -4,54 +4,54 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1001</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class TrackedDevicePose_t extends Structure {
-	/** C type : HmdMatrix34_t */
-	public HmdMatrix34_t mDeviceToAbsoluteTracking;
-	/** C type : HmdVector3_t */
-	public HmdVector3_t vVelocity;
-	/** C type : HmdVector3_t */
-	public HmdVector3_t vAngularVelocity;
+ * <i>native declaration : headers\openvr_capi.h:1257</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class TrackedDevicePose_t extends Structure {
+	/** C type : HmdMatrix34_t */
+	public HmdMatrix34_t mDeviceToAbsoluteTracking;
+	/** C type : HmdVector3_t */
+	public HmdVector3_t vVelocity;
+	/** C type : HmdVector3_t */
+	public HmdVector3_t vAngularVelocity;
 	/**
-	 * @see ETrackingResult<br>
-	 * C type : ETrackingResult
-	 */
-	public int eTrackingResult;
-	public byte bPoseIsValid;
-	public byte bDeviceIsConnected;
-	public TrackedDevicePose_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("mDeviceToAbsoluteTracking", "vVelocity", "vAngularVelocity", "eTrackingResult", "bPoseIsValid", "bDeviceIsConnected");
-	}
+	 * @see ETrackingResult<br>
+	 * C type : ETrackingResult
+	 */
+	public int eTrackingResult;
+	public byte bPoseIsValid;
+	public byte bDeviceIsConnected;
+	public TrackedDevicePose_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("mDeviceToAbsoluteTracking", "vVelocity", "vAngularVelocity", "eTrackingResult", "bPoseIsValid", "bDeviceIsConnected");
+	}
 	/**
-	 * @param mDeviceToAbsoluteTracking C type : HmdMatrix34_t<br>
-	 * @param vVelocity C type : HmdVector3_t<br>
-	 * @param vAngularVelocity C type : HmdVector3_t<br>
-	 * @param eTrackingResult @see ETrackingResult<br>
-	 * C type : ETrackingResult
-	 */
-	public TrackedDevicePose_t(HmdMatrix34_t mDeviceToAbsoluteTracking, HmdVector3_t vVelocity, HmdVector3_t vAngularVelocity, int eTrackingResult, byte bPoseIsValid, byte bDeviceIsConnected) {
-		super();
-		this.mDeviceToAbsoluteTracking = mDeviceToAbsoluteTracking;
-		this.vVelocity = vVelocity;
-		this.vAngularVelocity = vAngularVelocity;
-		this.eTrackingResult = eTrackingResult;
-		this.bPoseIsValid = bPoseIsValid;
-		this.bDeviceIsConnected = bDeviceIsConnected;
-	}
-	public TrackedDevicePose_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends TrackedDevicePose_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends TrackedDevicePose_t implements Structure.ByValue {
-		
-	};
+	 * @param mDeviceToAbsoluteTracking C type : HmdMatrix34_t<br>
+	 * @param vVelocity C type : HmdVector3_t<br>
+	 * @param vAngularVelocity C type : HmdVector3_t<br>
+	 * @param eTrackingResult @see ETrackingResult<br>
+	 * C type : ETrackingResult
+	 */
+	public TrackedDevicePose_t(HmdMatrix34_t mDeviceToAbsoluteTracking, HmdVector3_t vVelocity, HmdVector3_t vAngularVelocity, int eTrackingResult, byte bPoseIsValid, byte bDeviceIsConnected) {
+		super();
+		this.mDeviceToAbsoluteTracking = mDeviceToAbsoluteTracking;
+		this.vVelocity = vVelocity;
+		this.vAngularVelocity = vAngularVelocity;
+		this.eTrackingResult = eTrackingResult;
+		this.bPoseIsValid = bPoseIsValid;
+		this.bDeviceIsConnected = bDeviceIsConnected;
+	}
+	public TrackedDevicePose_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends TrackedDevicePose_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends TrackedDevicePose_t implements Structure.ByValue {
+		
+	};
 }

+ 49 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/VRActiveActionSet_t.java

@@ -0,0 +1,49 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1633</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VRActiveActionSet_t extends Structure {
+	/** C type : VRActionSetHandle_t */
+	public long ulActionSet;
+	/** C type : VRInputValueHandle_t */
+	public long ulRestrictedToDevice;
+	/** C type : VRActionSetHandle_t */
+	public long ulSecondaryActionSet;
+	public int unPadding;
+	public int nPriority;
+	public VRActiveActionSet_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("ulActionSet", "ulRestrictedToDevice", "ulSecondaryActionSet", "unPadding", "nPriority");
+	}
+	/**
+	 * @param ulActionSet C type : VRActionSetHandle_t<br>
+	 * @param ulRestrictedToDevice C type : VRInputValueHandle_t<br>
+	 * @param ulSecondaryActionSet C type : VRActionSetHandle_t
+	 */
+	public VRActiveActionSet_t(long ulActionSet, long ulRestrictedToDevice, long ulSecondaryActionSet, int unPadding, int nPriority) {
+		super();
+		this.ulActionSet = ulActionSet;
+		this.ulRestrictedToDevice = ulRestrictedToDevice;
+		this.ulSecondaryActionSet = ulSecondaryActionSet;
+		this.unPadding = unPadding;
+		this.nPriority = nPriority;
+	}
+	public VRActiveActionSet_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VRActiveActionSet_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VRActiveActionSet_t implements Structure.ByValue {
+		
+	};
+}

+ 41 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/VRBoneTransform_t.java

@@ -0,0 +1,41 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1456</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VRBoneTransform_t extends Structure {
+	/** C type : HmdVector4_t */
+	public HmdVector4_t position;
+	/** C type : HmdQuaternionf_t */
+	public HmdQuaternionf_t orientation;
+	public VRBoneTransform_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("position", "orientation");
+	}
+	/**
+	 * @param position C type : HmdVector4_t<br>
+	 * @param orientation C type : HmdQuaternionf_t
+	 */
+	public VRBoneTransform_t(HmdVector4_t position, HmdQuaternionf_t orientation) {
+		super();
+		this.position = position;
+		this.orientation = orientation;
+	}
+	public VRBoneTransform_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VRBoneTransform_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VRBoneTransform_t implements Structure.ByValue {
+		
+	};
+}

+ 28 - 28
jme3-vr/src/main/java/com/jme3/system/jopenvr/VRControllerAxis_t.java

@@ -4,32 +4,32 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1121</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VRControllerAxis_t extends Structure {
-	public float x;
-	public float y;
-	public VRControllerAxis_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("x", "y");
-	}
-	public VRControllerAxis_t(float x, float y) {
-		super();
-		this.x = x;
-		this.y = y;
-	}
-	public VRControllerAxis_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VRControllerAxis_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VRControllerAxis_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1429</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VRControllerAxis_t extends Structure {
+	public float x;
+	public float y;
+	public VRControllerAxis_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("x", "y");
+	}
+	public VRControllerAxis_t(float x, float y) {
+		super();
+		this.x = x;
+		this.y = y;
+	}
+	public VRControllerAxis_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VRControllerAxis_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VRControllerAxis_t implements Structure.ByValue {
+		
+	};
 }

+ 40 - 40
jme3-vr/src/main/java/com/jme3/system/jopenvr/VRControllerState_t.java

@@ -4,46 +4,46 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1128</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VRControllerState_t extends Structure {
-	public int unPacketNum;
-	public long ulButtonPressed;
-	public long ulButtonTouched;
+ * <i>native declaration : headers\openvr_capi.h:1436</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VRControllerState_t extends Structure {
+	public int unPacketNum;
+	public long ulButtonPressed;
+	public long ulButtonTouched;
 	/**
-	 * struct vr::VRControllerAxis_t[5]<br>
-	 * C type : VRControllerAxis_t[5]
-	 */
-	public VRControllerAxis_t[] rAxis = new VRControllerAxis_t[5];
-	public VRControllerState_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("unPacketNum", "ulButtonPressed", "ulButtonTouched", "rAxis");
-	}
+	 * struct vr::VRControllerAxis_t[5]<br>
+	 * C type : VRControllerAxis_t[5]
+	 */
+	public VRControllerAxis_t[] rAxis = new VRControllerAxis_t[5];
+	public VRControllerState_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("unPacketNum", "ulButtonPressed", "ulButtonTouched", "rAxis");
+	}
 	/**
-	 * @param rAxis struct vr::VRControllerAxis_t[5]<br>
-	 * C type : VRControllerAxis_t[5]
-	 */
-	public VRControllerState_t(int unPacketNum, long ulButtonPressed, long ulButtonTouched, VRControllerAxis_t rAxis[]) {
-		super();
-		this.unPacketNum = unPacketNum;
-		this.ulButtonPressed = ulButtonPressed;
-		this.ulButtonTouched = ulButtonTouched;
-		if ((rAxis.length != this.rAxis.length)) 
-			throw new IllegalArgumentException("Wrong array size !");
-		this.rAxis = rAxis;
-	}
-	public VRControllerState_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VRControllerState_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VRControllerState_t implements Structure.ByValue {
-		
-	};
+	 * @param rAxis struct vr::VRControllerAxis_t[5]<br>
+	 * C type : VRControllerAxis_t[5]
+	 */
+	public VRControllerState_t(int unPacketNum, long ulButtonPressed, long ulButtonTouched, VRControllerAxis_t rAxis[]) {
+		super();
+		this.unPacketNum = unPacketNum;
+		this.ulButtonPressed = ulButtonPressed;
+		this.ulButtonTouched = ulButtonTouched;
+		if ((rAxis.length != this.rAxis.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.rAxis = rAxis;
+	}
+	public VRControllerState_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VRControllerState_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VRControllerState_t implements Structure.ByValue {
+		
+	};
 }

+ 28 - 28
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_ApplicationLaunch_t.java

@@ -4,32 +4,32 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1099</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_ApplicationLaunch_t extends Structure {
-	public int pid;
-	public int unArgsHandle;
-	public VREvent_ApplicationLaunch_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("pid", "unArgsHandle");
-	}
-	public VREvent_ApplicationLaunch_t(int pid, int unArgsHandle) {
-		super();
-		this.pid = pid;
-		this.unArgsHandle = unArgsHandle;
-	}
-	public VREvent_ApplicationLaunch_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_ApplicationLaunch_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_ApplicationLaunch_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1373</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_ApplicationLaunch_t extends Structure {
+	public int pid;
+	public int unArgsHandle;
+	public VREvent_ApplicationLaunch_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("pid", "unArgsHandle");
+	}
+	public VREvent_ApplicationLaunch_t(int pid, int unArgsHandle) {
+		super();
+		this.pid = pid;
+		this.unArgsHandle = unArgsHandle;
+	}
+	public VREvent_ApplicationLaunch_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_ApplicationLaunch_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_ApplicationLaunch_t implements Structure.ByValue {
+		
+	};
 }

+ 28 - 28
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Chaperone_t.java

@@ -4,32 +4,32 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1078</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_Chaperone_t extends Structure {
-	public long m_nPreviousUniverse;
-	public long m_nCurrentUniverse;
-	public VREvent_Chaperone_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("m_nPreviousUniverse", "m_nCurrentUniverse");
-	}
-	public VREvent_Chaperone_t(long m_nPreviousUniverse, long m_nCurrentUniverse) {
-		super();
-		this.m_nPreviousUniverse = m_nPreviousUniverse;
-		this.m_nCurrentUniverse = m_nCurrentUniverse;
-	}
-	public VREvent_Chaperone_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_Chaperone_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_Chaperone_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1350</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_Chaperone_t extends Structure {
+	public long m_nPreviousUniverse;
+	public long m_nCurrentUniverse;
+	public VREvent_Chaperone_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m_nPreviousUniverse", "m_nCurrentUniverse");
+	}
+	public VREvent_Chaperone_t(long m_nPreviousUniverse, long m_nCurrentUniverse) {
+		super();
+		this.m_nPreviousUniverse = m_nPreviousUniverse;
+		this.m_nCurrentUniverse = m_nCurrentUniverse;
+	}
+	public VREvent_Chaperone_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_Chaperone_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_Chaperone_t implements Structure.ByValue {
+		
+	};
 }

+ 26 - 26
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Controller_t.java

@@ -4,30 +4,30 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1033</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_Controller_t extends Structure {
-	public int button;
-	public VREvent_Controller_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("button");
-	}
-	public VREvent_Controller_t(int button) {
-		super();
-		this.button = button;
-	}
-	public VREvent_Controller_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_Controller_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_Controller_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1304</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_Controller_t extends Structure {
+	public int button;
+	public VREvent_Controller_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("button");
+	}
+	public VREvent_Controller_t(int button) {
+		super();
+		this.button = button;
+	}
+	public VREvent_Controller_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_Controller_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_Controller_t implements Structure.ByValue {
+		
+	};
 }

+ 130 - 130
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Data_t.java

@@ -2,134 +2,134 @@ package com.jme3.system.jopenvr;
 import com.sun.jna.Pointer;
 import com.sun.jna.Union;
 /**
- * <i>native declaration : headers\openvr_capi.h:1307</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_Data_t extends Union {
-	/** C type : VREvent_Reserved_t */
-	public VREvent_Reserved_t reserved;
-	/** C type : VREvent_Controller_t */
-	public VREvent_Controller_t controller;
-	/** C type : VREvent_Mouse_t */
-	public VREvent_Mouse_t mouse;
-	/** C type : VREvent_Scroll_t */
-	public VREvent_Scroll_t scroll;
-	/** C type : VREvent_Process_t */
-	public VREvent_Process_t process;
-	/** C type : VREvent_Notification_t */
-	public VREvent_Notification_t notification;
-	/** C type : VREvent_Overlay_t */
-	public VREvent_Overlay_t overlay;
-	/** C type : VREvent_Status_t */
-	public VREvent_Status_t status;
-	/** C type : VREvent_Keyboard_t */
-	public VREvent_Keyboard_t keyboard;
-	/** C type : VREvent_Ipd_t */
-	public VREvent_Ipd_t ipd;
-	/** C type : VREvent_Chaperone_t */
-	public VREvent_Chaperone_t chaperone;
-	/** C type : VREvent_PerformanceTest_t */
-	public VREvent_PerformanceTest_t performanceTest;
-	/** C type : VREvent_TouchPadMove_t */
-	public VREvent_TouchPadMove_t touchPadMove;
-	/** C type : VREvent_SeatedZeroPoseReset_t */
-	public VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset;
-	public VREvent_Data_t() {
-		super();
-	}
-	/** @param reserved C type : VREvent_Reserved_t */
-	public VREvent_Data_t(VREvent_Reserved_t reserved) {
-		super();
-		this.reserved = reserved;
-		setType(VREvent_Reserved_t.class);
-	}
-	/** @param controller C type : VREvent_Controller_t */
-	public VREvent_Data_t(VREvent_Controller_t controller) {
-		super();
-		this.controller = controller;
-		setType(VREvent_Controller_t.class);
-	}
-	/** @param mouse C type : VREvent_Mouse_t */
-	public VREvent_Data_t(VREvent_Mouse_t mouse) {
-		super();
-		this.mouse = mouse;
-		setType(VREvent_Mouse_t.class);
-	}
-	/** @param scroll C type : VREvent_Scroll_t */
-	public VREvent_Data_t(VREvent_Scroll_t scroll) {
-		super();
-		this.scroll = scroll;
-		setType(VREvent_Scroll_t.class);
-	}
-	/** @param process C type : VREvent_Process_t */
-	public VREvent_Data_t(VREvent_Process_t process) {
-		super();
-		this.process = process;
-		setType(VREvent_Process_t.class);
-	}
-	/** @param notification C type : VREvent_Notification_t */
-	public VREvent_Data_t(VREvent_Notification_t notification) {
-		super();
-		this.notification = notification;
-		setType(VREvent_Notification_t.class);
-	}
-	/** @param overlay C type : VREvent_Overlay_t */
-	public VREvent_Data_t(VREvent_Overlay_t overlay) {
-		super();
-		this.overlay = overlay;
-		setType(VREvent_Overlay_t.class);
-	}
-	/** @param status C type : VREvent_Status_t */
-	public VREvent_Data_t(VREvent_Status_t status) {
-		super();
-		this.status = status;
-		setType(VREvent_Status_t.class);
-	}
-	/** @param keyboard C type : VREvent_Keyboard_t */
-	public VREvent_Data_t(VREvent_Keyboard_t keyboard) {
-		super();
-		this.keyboard = keyboard;
-		setType(VREvent_Keyboard_t.class);
-	}
-	/** @param ipd C type : VREvent_Ipd_t */
-	public VREvent_Data_t(VREvent_Ipd_t ipd) {
-		super();
-		this.ipd = ipd;
-		setType(VREvent_Ipd_t.class);
-	}
-	/** @param chaperone C type : VREvent_Chaperone_t */
-	public VREvent_Data_t(VREvent_Chaperone_t chaperone) {
-		super();
-		this.chaperone = chaperone;
-		setType(VREvent_Chaperone_t.class);
-	}
-	/** @param performanceTest C type : VREvent_PerformanceTest_t */
-	public VREvent_Data_t(VREvent_PerformanceTest_t performanceTest) {
-		super();
-		this.performanceTest = performanceTest;
-		setType(VREvent_PerformanceTest_t.class);
-	}
-	/** @param touchPadMove C type : VREvent_TouchPadMove_t */
-	public VREvent_Data_t(VREvent_TouchPadMove_t touchPadMove) {
-		super();
-		this.touchPadMove = touchPadMove;
-		setType(VREvent_TouchPadMove_t.class);
-	}
-	/** @param seatedZeroPoseReset C type : VREvent_SeatedZeroPoseReset_t */
-	public VREvent_Data_t(VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset) {
-		super();
-		this.seatedZeroPoseReset = seatedZeroPoseReset;
-		setType(VREvent_SeatedZeroPoseReset_t.class);
-	}
-	public VREvent_Data_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_Data_t implements com.sun.jna.Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_Data_t implements com.sun.jna.Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1686</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_Data_t extends Union {
+	/** C type : VREvent_Reserved_t */
+	public VREvent_Reserved_t reserved;
+	/** C type : VREvent_Controller_t */
+	public VREvent_Controller_t controller;
+	/** C type : VREvent_Mouse_t */
+	public VREvent_Mouse_t mouse;
+	/** C type : VREvent_Scroll_t */
+	public VREvent_Scroll_t scroll;
+	/** C type : VREvent_Process_t */
+	public VREvent_Process_t process;
+	/** C type : VREvent_Notification_t */
+	public VREvent_Notification_t notification;
+	/** C type : VREvent_Overlay_t */
+	public VREvent_Overlay_t overlay;
+	/** C type : VREvent_Status_t */
+	public VREvent_Status_t status;
+	/** C type : VREvent_Keyboard_t */
+	public VREvent_Keyboard_t keyboard;
+	/** C type : VREvent_Ipd_t */
+	public VREvent_Ipd_t ipd;
+	/** C type : VREvent_Chaperone_t */
+	public VREvent_Chaperone_t chaperone;
+	/** C type : VREvent_PerformanceTest_t */
+	public VREvent_PerformanceTest_t performanceTest;
+	/** C type : VREvent_TouchPadMove_t */
+	public VREvent_TouchPadMove_t touchPadMove;
+	/** C type : VREvent_SeatedZeroPoseReset_t */
+	public VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset;
+	public VREvent_Data_t() {
+		super();
+	}
+	/** @param reserved C type : VREvent_Reserved_t */
+	public VREvent_Data_t(VREvent_Reserved_t reserved) {
+		super();
+		this.reserved = reserved;
+		setType(VREvent_Reserved_t.class);
+	}
+	/** @param controller C type : VREvent_Controller_t */
+	public VREvent_Data_t(VREvent_Controller_t controller) {
+		super();
+		this.controller = controller;
+		setType(VREvent_Controller_t.class);
+	}
+	/** @param mouse C type : VREvent_Mouse_t */
+	public VREvent_Data_t(VREvent_Mouse_t mouse) {
+		super();
+		this.mouse = mouse;
+		setType(VREvent_Mouse_t.class);
+	}
+	/** @param scroll C type : VREvent_Scroll_t */
+	public VREvent_Data_t(VREvent_Scroll_t scroll) {
+		super();
+		this.scroll = scroll;
+		setType(VREvent_Scroll_t.class);
+	}
+	/** @param process C type : VREvent_Process_t */
+	public VREvent_Data_t(VREvent_Process_t process) {
+		super();
+		this.process = process;
+		setType(VREvent_Process_t.class);
+	}
+	/** @param notification C type : VREvent_Notification_t */
+	public VREvent_Data_t(VREvent_Notification_t notification) {
+		super();
+		this.notification = notification;
+		setType(VREvent_Notification_t.class);
+	}
+	/** @param overlay C type : VREvent_Overlay_t */
+	public VREvent_Data_t(VREvent_Overlay_t overlay) {
+		super();
+		this.overlay = overlay;
+		setType(VREvent_Overlay_t.class);
+	}
+	/** @param status C type : VREvent_Status_t */
+	public VREvent_Data_t(VREvent_Status_t status) {
+		super();
+		this.status = status;
+		setType(VREvent_Status_t.class);
+	}
+	/** @param keyboard C type : VREvent_Keyboard_t */
+	public VREvent_Data_t(VREvent_Keyboard_t keyboard) {
+		super();
+		this.keyboard = keyboard;
+		setType(VREvent_Keyboard_t.class);
+	}
+	/** @param ipd C type : VREvent_Ipd_t */
+	public VREvent_Data_t(VREvent_Ipd_t ipd) {
+		super();
+		this.ipd = ipd;
+		setType(VREvent_Ipd_t.class);
+	}
+	/** @param chaperone C type : VREvent_Chaperone_t */
+	public VREvent_Data_t(VREvent_Chaperone_t chaperone) {
+		super();
+		this.chaperone = chaperone;
+		setType(VREvent_Chaperone_t.class);
+	}
+	/** @param performanceTest C type : VREvent_PerformanceTest_t */
+	public VREvent_Data_t(VREvent_PerformanceTest_t performanceTest) {
+		super();
+		this.performanceTest = performanceTest;
+		setType(VREvent_PerformanceTest_t.class);
+	}
+	/** @param touchPadMove C type : VREvent_TouchPadMove_t */
+	public VREvent_Data_t(VREvent_TouchPadMove_t touchPadMove) {
+		super();
+		this.touchPadMove = touchPadMove;
+		setType(VREvent_TouchPadMove_t.class);
+	}
+	/** @param seatedZeroPoseReset C type : VREvent_SeatedZeroPoseReset_t */
+	public VREvent_Data_t(VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset) {
+		super();
+		this.seatedZeroPoseReset = seatedZeroPoseReset;
+		setType(VREvent_SeatedZeroPoseReset_t.class);
+	}
+	public VREvent_Data_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_Data_t implements com.sun.jna.Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_Data_t implements com.sun.jna.Structure.ByValue {
+		
+	};
 }

+ 49 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_DualAnalog_t.java

@@ -0,0 +1,49 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1395</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_DualAnalog_t extends Structure {
+	public float x;
+	public float y;
+	public float transformedX;
+	public float transformedY;
+	/**
+	 * @see EDualAnalogWhich<br>
+	 * C type : EDualAnalogWhich
+	 */
+	public int which;
+	public VREvent_DualAnalog_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("x", "y", "transformedX", "transformedY", "which");
+	}
+	/**
+	 * @param which @see EDualAnalogWhich<br>
+	 * C type : EDualAnalogWhich
+	 */
+	public VREvent_DualAnalog_t(float x, float y, float transformedX, float transformedY, int which) {
+		super();
+		this.x = x;
+		this.y = y;
+		this.transformedX = transformedX;
+		this.transformedY = transformedY;
+		this.which = which;
+	}
+	public VREvent_DualAnalog_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_DualAnalog_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_DualAnalog_t implements Structure.ByValue {
+		
+	};
+}

+ 28 - 28
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_EditingCameraSurface_t.java

@@ -4,32 +4,32 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1103</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_EditingCameraSurface_t extends Structure {
-	public long overlayHandle;
-	public int nVisualMode;
-	public VREvent_EditingCameraSurface_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("overlayHandle", "nVisualMode");
-	}
-	public VREvent_EditingCameraSurface_t(long overlayHandle, int nVisualMode) {
-		super();
-		this.overlayHandle = overlayHandle;
-		this.nVisualMode = nVisualMode;
-	}
-	public VREvent_EditingCameraSurface_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_EditingCameraSurface_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_EditingCameraSurface_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1377</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_EditingCameraSurface_t extends Structure {
+	public long overlayHandle;
+	public int nVisualMode;
+	public VREvent_EditingCameraSurface_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("overlayHandle", "nVisualMode");
+	}
+	public VREvent_EditingCameraSurface_t(long overlayHandle, int nVisualMode) {
+		super();
+		this.overlayHandle = overlayHandle;
+		this.nVisualMode = nVisualMode;
+	}
+	public VREvent_EditingCameraSurface_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_EditingCameraSurface_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_EditingCameraSurface_t implements Structure.ByValue {
+		
+	};
 }

+ 41 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_HapticVibration_t.java

@@ -0,0 +1,41 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1402</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_HapticVibration_t extends Structure {
+	public long containerHandle;
+	public long componentHandle;
+	public float fDurationSeconds;
+	public float fFrequency;
+	public float fAmplitude;
+	public VREvent_HapticVibration_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("containerHandle", "componentHandle", "fDurationSeconds", "fFrequency", "fAmplitude");
+	}
+	public VREvent_HapticVibration_t(long containerHandle, long componentHandle, float fDurationSeconds, float fFrequency, float fAmplitude) {
+		super();
+		this.containerHandle = containerHandle;
+		this.componentHandle = componentHandle;
+		this.fDurationSeconds = fDurationSeconds;
+		this.fFrequency = fFrequency;
+		this.fAmplitude = fAmplitude;
+	}
+	public VREvent_HapticVibration_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_HapticVibration_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_HapticVibration_t implements Structure.ByValue {
+		
+	};
+}

+ 39 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_InputActionManifestLoad_t.java

@@ -0,0 +1,39 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1417</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_InputActionManifestLoad_t extends Structure {
+	public long pathAppKey;
+	public long pathMessage;
+	public long pathMessageParam;
+	public long pathManifestPath;
+	public VREvent_InputActionManifestLoad_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("pathAppKey", "pathMessage", "pathMessageParam", "pathManifestPath");
+	}
+	public VREvent_InputActionManifestLoad_t(long pathAppKey, long pathMessage, long pathMessageParam, long pathManifestPath) {
+		super();
+		this.pathAppKey = pathAppKey;
+		this.pathMessage = pathMessage;
+		this.pathMessageParam = pathMessageParam;
+		this.pathManifestPath = pathManifestPath;
+	}
+	public VREvent_InputActionManifestLoad_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_InputActionManifestLoad_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_InputActionManifestLoad_t implements Structure.ByValue {
+		
+	};
+}

+ 41 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_InputBindingLoad_t.java

@@ -0,0 +1,41 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1411</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_InputBindingLoad_t extends Structure {
+	/** C type : PropertyContainerHandle_t */
+	public long ulAppContainer;
+	public long pathMessage;
+	public long pathUrl;
+	public long pathControllerType;
+	public VREvent_InputBindingLoad_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("ulAppContainer", "pathMessage", "pathUrl", "pathControllerType");
+	}
+	/** @param ulAppContainer C type : PropertyContainerHandle_t */
+	public VREvent_InputBindingLoad_t(long ulAppContainer, long pathMessage, long pathUrl, long pathControllerType) {
+		super();
+		this.ulAppContainer = ulAppContainer;
+		this.pathMessage = pathMessage;
+		this.pathUrl = pathUrl;
+		this.pathControllerType = pathControllerType;
+	}
+	public VREvent_InputBindingLoad_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_InputBindingLoad_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_InputBindingLoad_t implements Structure.ByValue {
+		
+	};
+}

+ 26 - 26
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Ipd_t.java

@@ -4,30 +4,30 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1074</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_Ipd_t extends Structure {
-	public float ipdMeters;
-	public VREvent_Ipd_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("ipdMeters");
-	}
-	public VREvent_Ipd_t(float ipdMeters) {
-		super();
-		this.ipdMeters = ipdMeters;
-	}
-	public VREvent_Ipd_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_Ipd_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_Ipd_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1346</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_Ipd_t extends Structure {
+	public float ipdMeters;
+	public VREvent_Ipd_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("ipdMeters");
+	}
+	public VREvent_Ipd_t(float ipdMeters) {
+		super();
+		this.ipdMeters = ipdMeters;
+	}
+	public VREvent_Ipd_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_Ipd_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_Ipd_t implements Structure.ByValue {
+		
+	};
 }

+ 36 - 36
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Keyboard_t.java

@@ -4,42 +4,42 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1071</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_Keyboard_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1343</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_Keyboard_t extends Structure {
 	/**
-	 * char[8]<br>
-	 * C type : char*[8]
-	 */
-	public Pointer[] cNewInput = new Pointer[8];
-	public long uUserValue;
-	public VREvent_Keyboard_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("cNewInput", "uUserValue");
-	}
+	 * char[8]<br>
+	 * C type : char*[8]
+	 */
+	public Pointer[] cNewInput = new Pointer[8];
+	public long uUserValue;
+	public VREvent_Keyboard_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("cNewInput", "uUserValue");
+	}
 	/**
-	 * @param cNewInput char[8]<br>
-	 * C type : char*[8]
-	 */
-	public VREvent_Keyboard_t(Pointer cNewInput[], long uUserValue) {
-		super();
-		if ((cNewInput.length != this.cNewInput.length)) 
-			throw new IllegalArgumentException("Wrong array size !");
-		this.cNewInput = cNewInput;
-		this.uUserValue = uUserValue;
-	}
-	public VREvent_Keyboard_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_Keyboard_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_Keyboard_t implements Structure.ByValue {
-		
-	};
+	 * @param cNewInput char[8]<br>
+	 * C type : char*[8]
+	 */
+	public VREvent_Keyboard_t(Pointer cNewInput[], long uUserValue) {
+		super();
+		if ((cNewInput.length != this.cNewInput.length)) 
+			throw new IllegalArgumentException("Wrong array size !");
+		this.cNewInput = cNewInput;
+		this.uUserValue = uUserValue;
+	}
+	public VREvent_Keyboard_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_Keyboard_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_Keyboard_t implements Structure.ByValue {
+		
+	};
 }

+ 26 - 26
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_MessageOverlay_t.java

@@ -4,30 +4,30 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1106</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_MessageOverlay_t extends Structure {
-	public int unVRMessageOverlayResponse;
-	public VREvent_MessageOverlay_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("unVRMessageOverlayResponse");
-	}
-	public VREvent_MessageOverlay_t(int unVRMessageOverlayResponse) {
-		super();
-		this.unVRMessageOverlayResponse = unVRMessageOverlayResponse;
-	}
-	public VREvent_MessageOverlay_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_MessageOverlay_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_MessageOverlay_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1380</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_MessageOverlay_t extends Structure {
+	public int unVRMessageOverlayResponse;
+	public VREvent_MessageOverlay_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("unVRMessageOverlayResponse");
+	}
+	public VREvent_MessageOverlay_t(int unVRMessageOverlayResponse) {
+		super();
+		this.unVRMessageOverlayResponse = unVRMessageOverlayResponse;
+	}
+	public VREvent_MessageOverlay_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_MessageOverlay_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_MessageOverlay_t implements Structure.ByValue {
+		
+	};
 }

+ 30 - 30
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Mouse_t.java

@@ -4,34 +4,34 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1038</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_Mouse_t extends Structure {
-	public float x;
-	public float y;
-	public int button;
-	public VREvent_Mouse_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("x", "y", "button");
-	}
-	public VREvent_Mouse_t(float x, float y, int button) {
-		super();
-		this.x = x;
-		this.y = y;
-		this.button = button;
-	}
-	public VREvent_Mouse_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_Mouse_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_Mouse_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1309</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_Mouse_t extends Structure {
+	public float x;
+	public float y;
+	public int button;
+	public VREvent_Mouse_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("x", "y", "button");
+	}
+	public VREvent_Mouse_t(float x, float y, int button) {
+		super();
+		this.x = x;
+		this.y = y;
+		this.button = button;
+	}
+	public VREvent_Mouse_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_Mouse_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_Mouse_t implements Structure.ByValue {
+		
+	};
 }

+ 28 - 28
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Notification_t.java

@@ -4,32 +4,32 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1055</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_Notification_t extends Structure {
-	public long ulUserValue;
-	public int notificationId;
-	public VREvent_Notification_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("ulUserValue", "notificationId");
-	}
-	public VREvent_Notification_t(long ulUserValue, int notificationId) {
-		super();
-		this.ulUserValue = ulUserValue;
-		this.notificationId = notificationId;
-	}
-	public VREvent_Notification_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_Notification_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_Notification_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1326</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_Notification_t extends Structure {
+	public long ulUserValue;
+	public int notificationId;
+	public VREvent_Notification_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("ulUserValue", "notificationId");
+	}
+	public VREvent_Notification_t(long ulUserValue, int notificationId) {
+		super();
+		this.ulUserValue = ulUserValue;
+		this.notificationId = notificationId;
+	}
+	public VREvent_Notification_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_Notification_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_Notification_t implements Structure.ByValue {
+		
+	};
 }

+ 28 - 26
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Overlay_t.java

@@ -4,30 +4,32 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1063</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_Overlay_t extends Structure {
-	public long overlayHandle;
-	public VREvent_Overlay_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("overlayHandle");
-	}
-	public VREvent_Overlay_t(long overlayHandle) {
-		super();
-		this.overlayHandle = overlayHandle;
-	}
-	public VREvent_Overlay_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_Overlay_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_Overlay_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1335</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_Overlay_t extends Structure {
+	public long overlayHandle;
+	public long devicePath;
+	public VREvent_Overlay_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("overlayHandle", "devicePath");
+	}
+	public VREvent_Overlay_t(long overlayHandle, long devicePath) {
+		super();
+		this.overlayHandle = overlayHandle;
+		this.devicePath = devicePath;
+	}
+	public VREvent_Overlay_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_Overlay_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_Overlay_t implements Structure.ByValue {
+		
+	};
 }

+ 26 - 26
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_PerformanceTest_t.java

@@ -4,30 +4,30 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1085</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_PerformanceTest_t extends Structure {
-	public int m_nFidelityLevel;
-	public VREvent_PerformanceTest_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("m_nFidelityLevel");
-	}
-	public VREvent_PerformanceTest_t(int m_nFidelityLevel) {
-		super();
-		this.m_nFidelityLevel = m_nFidelityLevel;
-	}
-	public VREvent_PerformanceTest_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_PerformanceTest_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_PerformanceTest_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1359</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_PerformanceTest_t extends Structure {
+	public int m_nFidelityLevel;
+	public VREvent_PerformanceTest_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m_nFidelityLevel");
+	}
+	public VREvent_PerformanceTest_t(int m_nFidelityLevel) {
+		super();
+		this.m_nFidelityLevel = m_nFidelityLevel;
+	}
+	public VREvent_PerformanceTest_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_PerformanceTest_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_PerformanceTest_t implements Structure.ByValue {
+		
+	};
 }

+ 30 - 30
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Process_t.java

@@ -4,34 +4,34 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1060</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_Process_t extends Structure {
-	public int pid;
-	public int oldPid;
-	public byte bForced;
-	public VREvent_Process_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("pid", "oldPid", "bForced");
-	}
-	public VREvent_Process_t(int pid, int oldPid, byte bForced) {
-		super();
-		this.pid = pid;
-		this.oldPid = oldPid;
-		this.bForced = bForced;
-	}
-	public VREvent_Process_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_Process_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_Process_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1331</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_Process_t extends Structure {
+	public int pid;
+	public int oldPid;
+	public byte bForced;
+	public VREvent_Process_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("pid", "oldPid", "bForced");
+	}
+	public VREvent_Process_t(int pid, int oldPid, byte bForced) {
+		super();
+		this.pid = pid;
+		this.oldPid = oldPid;
+		this.bForced = bForced;
+	}
+	public VREvent_Process_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_Process_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_Process_t implements Structure.ByValue {
+		
+	};
 }

+ 36 - 36
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Property_t.java

@@ -4,42 +4,42 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1112</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_Property_t extends Structure {
-	/** C type : PropertyContainerHandle_t */
-	public long container;
+ * <i>native declaration : headers\openvr_capi.h:1386</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_Property_t extends Structure {
+	/** C type : PropertyContainerHandle_t */
+	public long container;
 	/**
-	 * @see ETrackedDeviceProperty<br>
-	 * C type : ETrackedDeviceProperty
-	 */
-	public int prop;
-	public VREvent_Property_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("container", "prop");
-	}
+	 * @see ETrackedDeviceProperty<br>
+	 * C type : ETrackedDeviceProperty
+	 */
+	public int prop;
+	public VREvent_Property_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("container", "prop");
+	}
 	/**
-	 * @param container C type : PropertyContainerHandle_t<br>
-	 * @param prop @see ETrackedDeviceProperty<br>
-	 * C type : ETrackedDeviceProperty
-	 */
-	public VREvent_Property_t(long container, int prop) {
-		super();
-		this.container = container;
-		this.prop = prop;
-	}
-	public VREvent_Property_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_Property_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_Property_t implements Structure.ByValue {
-		
-	};
+	 * @param container C type : PropertyContainerHandle_t<br>
+	 * @param prop @see ETrackedDeviceProperty<br>
+	 * C type : ETrackedDeviceProperty
+	 */
+	public VREvent_Property_t(long container, int prop) {
+		super();
+		this.container = container;
+		this.prop = prop;
+	}
+	public VREvent_Property_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_Property_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_Property_t implements Structure.ByValue {
+		
+	};
 }

+ 32 - 28
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Reserved_t.java

@@ -4,32 +4,36 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1082</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_Reserved_t extends Structure {
-	public long reserved0;
-	public long reserved1;
-	public VREvent_Reserved_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("reserved0", "reserved1");
-	}
-	public VREvent_Reserved_t(long reserved0, long reserved1) {
-		super();
-		this.reserved0 = reserved0;
-		this.reserved1 = reserved1;
-	}
-	public VREvent_Reserved_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_Reserved_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_Reserved_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1356</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_Reserved_t extends Structure {
+	public long reserved0;
+	public long reserved1;
+	public long reserved2;
+	public long reserved3;
+	public VREvent_Reserved_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("reserved0", "reserved1", "reserved2", "reserved3");
+	}
+	public VREvent_Reserved_t(long reserved0, long reserved1, long reserved2, long reserved3) {
+		super();
+		this.reserved0 = reserved0;
+		this.reserved1 = reserved1;
+		this.reserved2 = reserved2;
+		this.reserved3 = reserved3;
+	}
+	public VREvent_Reserved_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_Reserved_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_Reserved_t implements Structure.ByValue {
+		
+	};
 }

+ 26 - 26
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_ScreenshotProgress_t.java

@@ -4,30 +4,30 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1095</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_ScreenshotProgress_t extends Structure {
-	public float progress;
-	public VREvent_ScreenshotProgress_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("progress");
-	}
-	public VREvent_ScreenshotProgress_t(float progress) {
-		super();
-		this.progress = progress;
-	}
-	public VREvent_ScreenshotProgress_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_ScreenshotProgress_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_ScreenshotProgress_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1369</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_ScreenshotProgress_t extends Structure {
+	public float progress;
+	public VREvent_ScreenshotProgress_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("progress");
+	}
+	public VREvent_ScreenshotProgress_t(float progress) {
+		super();
+		this.progress = progress;
+	}
+	public VREvent_ScreenshotProgress_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_ScreenshotProgress_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_ScreenshotProgress_t implements Structure.ByValue {
+		
+	};
 }

+ 28 - 28
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Screenshot_t.java

@@ -4,32 +4,32 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1092</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_Screenshot_t extends Structure {
-	public int handle;
-	public int type;
-	public VREvent_Screenshot_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("handle", "type");
-	}
-	public VREvent_Screenshot_t(int handle, int type) {
-		super();
-		this.handle = handle;
-		this.type = type;
-	}
-	public VREvent_Screenshot_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_Screenshot_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_Screenshot_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1366</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_Screenshot_t extends Structure {
+	public int handle;
+	public int type;
+	public VREvent_Screenshot_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("handle", "type");
+	}
+	public VREvent_Screenshot_t(int handle, int type) {
+		super();
+		this.handle = handle;
+		this.type = type;
+	}
+	public VREvent_Screenshot_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_Screenshot_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_Screenshot_t implements Structure.ByValue {
+		
+	};
 }

+ 30 - 30
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Scroll_t.java

@@ -4,34 +4,34 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1043</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_Scroll_t extends Structure {
-	public float xdelta;
-	public float ydelta;
-	public int repeatCount;
-	public VREvent_Scroll_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("xdelta", "ydelta", "repeatCount");
-	}
-	public VREvent_Scroll_t(float xdelta, float ydelta, int repeatCount) {
-		super();
-		this.xdelta = xdelta;
-		this.ydelta = ydelta;
-		this.repeatCount = repeatCount;
-	}
-	public VREvent_Scroll_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_Scroll_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_Scroll_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1314</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_Scroll_t extends Structure {
+	public float xdelta;
+	public float ydelta;
+	public int repeatCount;
+	public VREvent_Scroll_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("xdelta", "ydelta", "repeatCount");
+	}
+	public VREvent_Scroll_t(float xdelta, float ydelta, int repeatCount) {
+		super();
+		this.xdelta = xdelta;
+		this.ydelta = ydelta;
+		this.repeatCount = repeatCount;
+	}
+	public VREvent_Scroll_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_Scroll_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_Scroll_t implements Structure.ByValue {
+		
+	};
 }

+ 26 - 26
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_SeatedZeroPoseReset_t.java

@@ -4,30 +4,30 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1088</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_SeatedZeroPoseReset_t extends Structure {
-	public byte bResetBySystemMenu;
-	public VREvent_SeatedZeroPoseReset_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("bResetBySystemMenu");
-	}
-	public VREvent_SeatedZeroPoseReset_t(byte bResetBySystemMenu) {
-		super();
-		this.bResetBySystemMenu = bResetBySystemMenu;
-	}
-	public VREvent_SeatedZeroPoseReset_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_SeatedZeroPoseReset_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_SeatedZeroPoseReset_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1362</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_SeatedZeroPoseReset_t extends Structure {
+	public byte bResetBySystemMenu;
+	public VREvent_SeatedZeroPoseReset_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("bResetBySystemMenu");
+	}
+	public VREvent_SeatedZeroPoseReset_t(byte bResetBySystemMenu) {
+		super();
+		this.bResetBySystemMenu = bResetBySystemMenu;
+	}
+	public VREvent_SeatedZeroPoseReset_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_SeatedZeroPoseReset_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_SeatedZeroPoseReset_t implements Structure.ByValue {
+		
+	};
 }

+ 35 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_SpatialAnchor_t.java

@@ -0,0 +1,35 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1420</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_SpatialAnchor_t extends Structure {
+	/** C type : SpatialAnchorHandle_t */
+	public int unHandle;
+	public VREvent_SpatialAnchor_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("unHandle");
+	}
+	/** @param unHandle C type : SpatialAnchorHandle_t */
+	public VREvent_SpatialAnchor_t(int unHandle) {
+		super();
+		this.unHandle = unHandle;
+	}
+	public VREvent_SpatialAnchor_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_SpatialAnchor_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_SpatialAnchor_t implements Structure.ByValue {
+		
+	};
+}

+ 26 - 26
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Status_t.java

@@ -4,30 +4,30 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1066</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_Status_t extends Structure {
-	public int statusState;
-	public VREvent_Status_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("statusState");
-	}
-	public VREvent_Status_t(int statusState) {
-		super();
-		this.statusState = statusState;
-	}
-	public VREvent_Status_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_Status_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_Status_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1338</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_Status_t extends Structure {
+	public int statusState;
+	public VREvent_Status_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("statusState");
+	}
+	public VREvent_Status_t(int statusState) {
+		super();
+		this.statusState = statusState;
+	}
+	public VREvent_Status_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_Status_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_Status_t implements Structure.ByValue {
+		
+	};
 }

+ 36 - 36
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_TouchPadMove_t.java

@@ -4,40 +4,40 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1051</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_TouchPadMove_t extends Structure {
-	public byte bFingerDown;
-	public float flSecondsFingerDown;
-	public float fValueXFirst;
-	public float fValueYFirst;
-	public float fValueXRaw;
-	public float fValueYRaw;
-	public VREvent_TouchPadMove_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("bFingerDown", "flSecondsFingerDown", "fValueXFirst", "fValueYFirst", "fValueXRaw", "fValueYRaw");
-	}
-	public VREvent_TouchPadMove_t(byte bFingerDown, float flSecondsFingerDown, float fValueXFirst, float fValueYFirst, float fValueXRaw, float fValueYRaw) {
-		super();
-		this.bFingerDown = bFingerDown;
-		this.flSecondsFingerDown = flSecondsFingerDown;
-		this.fValueXFirst = fValueXFirst;
-		this.fValueYFirst = fValueYFirst;
-		this.fValueXRaw = fValueXRaw;
-		this.fValueYRaw = fValueYRaw;
-	}
-	public VREvent_TouchPadMove_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_TouchPadMove_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_TouchPadMove_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1322</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_TouchPadMove_t extends Structure {
+	public byte bFingerDown;
+	public float flSecondsFingerDown;
+	public float fValueXFirst;
+	public float fValueYFirst;
+	public float fValueXRaw;
+	public float fValueYRaw;
+	public VREvent_TouchPadMove_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("bFingerDown", "flSecondsFingerDown", "fValueXFirst", "fValueYFirst", "fValueXRaw", "fValueYRaw");
+	}
+	public VREvent_TouchPadMove_t(byte bFingerDown, float flSecondsFingerDown, float fValueXFirst, float fValueYFirst, float fValueXRaw, float fValueYRaw) {
+		super();
+		this.bFingerDown = bFingerDown;
+		this.flSecondsFingerDown = flSecondsFingerDown;
+		this.fValueXFirst = fValueXFirst;
+		this.fValueYFirst = fValueYFirst;
+		this.fValueXRaw = fValueXRaw;
+		this.fValueYRaw = fValueYRaw;
+	}
+	public VREvent_TouchPadMove_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_TouchPadMove_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_TouchPadMove_t implements Structure.ByValue {
+		
+	};
 }

+ 35 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_WebConsole_t.java

@@ -0,0 +1,35 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1405</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_WebConsole_t extends Structure {
+	/** C type : WebConsoleHandle_t */
+	public long webConsoleHandle;
+	public VREvent_WebConsole_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("webConsoleHandle");
+	}
+	/** @param webConsoleHandle C type : WebConsoleHandle_t */
+	public VREvent_WebConsole_t(long webConsoleHandle) {
+		super();
+		this.webConsoleHandle = webConsoleHandle;
+	}
+	public VREvent_WebConsole_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_WebConsole_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_WebConsole_t implements Structure.ByValue {
+		
+	};
+}

+ 40 - 40
jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_t.java

@@ -4,45 +4,45 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * An event posted by the server to all running applications<br>
- * <i>native declaration : headers\openvr_capi.h:1315</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VREvent_t extends Structure {
-	/** EVREventType enum */
-	public int eventType;
-	/** C type : TrackedDeviceIndex_t */
-	public int trackedDeviceIndex;
-	public float eventAgeSeconds;
-	/** C type : VREvent_Data_t */
-	public VREvent_Data_t data;
-	public VREvent_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("eventType", "trackedDeviceIndex", "eventAgeSeconds", "data");
-	}
+ * An event posted by the server to all running applications<br>
+ * <i>native declaration : headers\openvr_capi.h:1694</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VREvent_t extends Structure {
+	/** EVREventType enum */
+	public int eventType;
+	/** C type : TrackedDeviceIndex_t */
+	public int trackedDeviceIndex;
+	public float eventAgeSeconds;
+	/** C type : VREvent_Data_t */
+	public VREvent_Data_t data;
+	public VREvent_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("eventType", "trackedDeviceIndex", "eventAgeSeconds", "data");
+	}
 	/**
-	 * @param eventType EVREventType enum<br>
-	 * @param trackedDeviceIndex C type : TrackedDeviceIndex_t<br>
-	 * @param data C type : VREvent_Data_t
-	 */
-	public VREvent_t(int eventType, int trackedDeviceIndex, float eventAgeSeconds, VREvent_Data_t data) {
-		super();
-		this.eventType = eventType;
-		this.trackedDeviceIndex = trackedDeviceIndex;
-		this.eventAgeSeconds = eventAgeSeconds;
-		this.data = data;
-	}
-	public VREvent_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VREvent_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VREvent_t implements Structure.ByValue {
-		
-	};
+	 * @param eventType EVREventType enum<br>
+	 * @param trackedDeviceIndex C type : TrackedDeviceIndex_t<br>
+	 * @param data C type : VREvent_Data_t
+	 */
+	public VREvent_t(int eventType, int trackedDeviceIndex, float eventAgeSeconds, VREvent_Data_t data) {
+		super();
+		this.eventType = eventType;
+		this.trackedDeviceIndex = trackedDeviceIndex;
+		this.eventAgeSeconds = eventAgeSeconds;
+		this.data = data;
+	}
+	public VREvent_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VREvent_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VREvent_t implements Structure.ByValue {
+		
+	};
 }

+ 34 - 34
jme3-vr/src/main/java/com/jme3/system/jopenvr/VROverlayIntersectionMaskPrimitive_Data_t.java

@@ -2,38 +2,38 @@ package com.jme3.system.jopenvr;
 import com.sun.jna.Pointer;
 import com.sun.jna.Union;
 /**
- * <i>native declaration : headers\openvr_capi.h:1319</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VROverlayIntersectionMaskPrimitive_Data_t extends Union {
-	/** C type : IntersectionMaskRectangle_t */
-	public IntersectionMaskRectangle_t m_Rectangle;
-	/** C type : IntersectionMaskCircle_t */
-	public IntersectionMaskCircle_t m_Circle;
-	public VROverlayIntersectionMaskPrimitive_Data_t() {
-		super();
-	}
-	/** @param m_Rectangle C type : IntersectionMaskRectangle_t */
-	public VROverlayIntersectionMaskPrimitive_Data_t(IntersectionMaskRectangle_t m_Rectangle) {
-		super();
-		this.m_Rectangle = m_Rectangle;
-		setType(IntersectionMaskRectangle_t.class);
-	}
-	/** @param m_Circle C type : IntersectionMaskCircle_t */
-	public VROverlayIntersectionMaskPrimitive_Data_t(IntersectionMaskCircle_t m_Circle) {
-		super();
-		this.m_Circle = m_Circle;
-		setType(IntersectionMaskCircle_t.class);
-	}
-	public VROverlayIntersectionMaskPrimitive_Data_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VROverlayIntersectionMaskPrimitive_Data_t implements com.sun.jna.Structure.ByReference {
-		
-	};
-	public static class ByValue extends VROverlayIntersectionMaskPrimitive_Data_t implements com.sun.jna.Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1698</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VROverlayIntersectionMaskPrimitive_Data_t extends Union {
+	/** C type : IntersectionMaskRectangle_t */
+	public IntersectionMaskRectangle_t m_Rectangle;
+	/** C type : IntersectionMaskCircle_t */
+	public IntersectionMaskCircle_t m_Circle;
+	public VROverlayIntersectionMaskPrimitive_Data_t() {
+		super();
+	}
+	/** @param m_Rectangle C type : IntersectionMaskRectangle_t */
+	public VROverlayIntersectionMaskPrimitive_Data_t(IntersectionMaskRectangle_t m_Rectangle) {
+		super();
+		this.m_Rectangle = m_Rectangle;
+		setType(IntersectionMaskRectangle_t.class);
+	}
+	/** @param m_Circle C type : IntersectionMaskCircle_t */
+	public VROverlayIntersectionMaskPrimitive_Data_t(IntersectionMaskCircle_t m_Circle) {
+		super();
+		this.m_Circle = m_Circle;
+		setType(IntersectionMaskCircle_t.class);
+	}
+	public VROverlayIntersectionMaskPrimitive_Data_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VROverlayIntersectionMaskPrimitive_Data_t implements com.sun.jna.Structure.ByReference {
+		
+	};
+	public static class ByValue extends VROverlayIntersectionMaskPrimitive_Data_t implements com.sun.jna.Structure.ByValue {
+		
+	};
 }

+ 36 - 36
jme3-vr/src/main/java/com/jme3/system/jopenvr/VROverlayIntersectionMaskPrimitive_t.java

@@ -4,42 +4,42 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1323</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VROverlayIntersectionMaskPrimitive_t extends Structure {
+ * <i>native declaration : headers\openvr_capi.h:1702</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VROverlayIntersectionMaskPrimitive_t extends Structure {
 	/**
-	 * @see EVROverlayIntersectionMaskPrimitiveType<br>
-	 * C type : EVROverlayIntersectionMaskPrimitiveType
-	 */
-	public int m_nPrimitiveType;
-	/** C type : VROverlayIntersectionMaskPrimitive_Data_t */
-	public VROverlayIntersectionMaskPrimitive_Data_t m_Primitive;
-	public VROverlayIntersectionMaskPrimitive_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("m_nPrimitiveType", "m_Primitive");
-	}
+	 * @see EVROverlayIntersectionMaskPrimitiveType<br>
+	 * C type : EVROverlayIntersectionMaskPrimitiveType
+	 */
+	public int m_nPrimitiveType;
+	/** C type : VROverlayIntersectionMaskPrimitive_Data_t */
+	public VROverlayIntersectionMaskPrimitive_Data_t m_Primitive;
+	public VROverlayIntersectionMaskPrimitive_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m_nPrimitiveType", "m_Primitive");
+	}
 	/**
-	 * @param m_nPrimitiveType @see EVROverlayIntersectionMaskPrimitiveType<br>
-	 * C type : EVROverlayIntersectionMaskPrimitiveType<br>
-	 * @param m_Primitive C type : VROverlayIntersectionMaskPrimitive_Data_t
-	 */
-	public VROverlayIntersectionMaskPrimitive_t(int m_nPrimitiveType, VROverlayIntersectionMaskPrimitive_Data_t m_Primitive) {
-		super();
-		this.m_nPrimitiveType = m_nPrimitiveType;
-		this.m_Primitive = m_Primitive;
-	}
-	public VROverlayIntersectionMaskPrimitive_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VROverlayIntersectionMaskPrimitive_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VROverlayIntersectionMaskPrimitive_t implements Structure.ByValue {
-		
-	};
+	 * @param m_nPrimitiveType @see EVROverlayIntersectionMaskPrimitiveType<br>
+	 * C type : EVROverlayIntersectionMaskPrimitiveType<br>
+	 * @param m_Primitive C type : VROverlayIntersectionMaskPrimitive_Data_t
+	 */
+	public VROverlayIntersectionMaskPrimitive_t(int m_nPrimitiveType, VROverlayIntersectionMaskPrimitive_Data_t m_Primitive) {
+		super();
+		this.m_nPrimitiveType = m_nPrimitiveType;
+		this.m_Primitive = m_Primitive;
+	}
+	public VROverlayIntersectionMaskPrimitive_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VROverlayIntersectionMaskPrimitive_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VROverlayIntersectionMaskPrimitive_t implements Structure.ByValue {
+		
+	};
 }

+ 40 - 40
jme3-vr/src/main/java/com/jme3/system/jopenvr/VROverlayIntersectionParams_t.java

@@ -4,46 +4,46 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1210</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VROverlayIntersectionParams_t extends Structure {
-	/** C type : HmdVector3_t */
-	public HmdVector3_t vSource;
-	/** C type : HmdVector3_t */
-	public HmdVector3_t vDirection;
+ * <i>native declaration : headers\openvr_capi.h:1535</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VROverlayIntersectionParams_t extends Structure {
+	/** C type : HmdVector3_t */
+	public HmdVector3_t vSource;
+	/** C type : HmdVector3_t */
+	public HmdVector3_t vDirection;
 	/**
-	 * @see ETrackingUniverseOrigin<br>
-	 * C type : ETrackingUniverseOrigin
-	 */
-	public int eOrigin;
-	public VROverlayIntersectionParams_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("vSource", "vDirection", "eOrigin");
-	}
+	 * @see ETrackingUniverseOrigin<br>
+	 * C type : ETrackingUniverseOrigin
+	 */
+	public int eOrigin;
+	public VROverlayIntersectionParams_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("vSource", "vDirection", "eOrigin");
+	}
 	/**
-	 * @param vSource C type : HmdVector3_t<br>
-	 * @param vDirection C type : HmdVector3_t<br>
-	 * @param eOrigin @see ETrackingUniverseOrigin<br>
-	 * C type : ETrackingUniverseOrigin
-	 */
-	public VROverlayIntersectionParams_t(HmdVector3_t vSource, HmdVector3_t vDirection, int eOrigin) {
-		super();
-		this.vSource = vSource;
-		this.vDirection = vDirection;
-		this.eOrigin = eOrigin;
-	}
-	public VROverlayIntersectionParams_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VROverlayIntersectionParams_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VROverlayIntersectionParams_t implements Structure.ByValue {
-		
-	};
+	 * @param vSource C type : HmdVector3_t<br>
+	 * @param vDirection C type : HmdVector3_t<br>
+	 * @param eOrigin @see ETrackingUniverseOrigin<br>
+	 * C type : ETrackingUniverseOrigin
+	 */
+	public VROverlayIntersectionParams_t(HmdVector3_t vSource, HmdVector3_t vDirection, int eOrigin) {
+		super();
+		this.vSource = vSource;
+		this.vDirection = vDirection;
+		this.eOrigin = eOrigin;
+	}
+	public VROverlayIntersectionParams_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VROverlayIntersectionParams_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VROverlayIntersectionParams_t implements Structure.ByValue {
+		
+	};
 }

+ 39 - 39
jme3-vr/src/main/java/com/jme3/system/jopenvr/VROverlayIntersectionResults_t.java

@@ -4,44 +4,44 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1216</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VROverlayIntersectionResults_t extends Structure {
-	/** C type : HmdVector3_t */
-	public HmdVector3_t vPoint;
-	/** C type : HmdVector3_t */
-	public HmdVector3_t vNormal;
-	/** C type : HmdVector2_t */
-	public HmdVector2_t vUVs;
-	public float fDistance;
-	public VROverlayIntersectionResults_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("vPoint", "vNormal", "vUVs", "fDistance");
-	}
+ * <i>native declaration : headers\openvr_capi.h:1541</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VROverlayIntersectionResults_t extends Structure {
+	/** C type : HmdVector3_t */
+	public HmdVector3_t vPoint;
+	/** C type : HmdVector3_t */
+	public HmdVector3_t vNormal;
+	/** C type : HmdVector2_t */
+	public HmdVector2_t vUVs;
+	public float fDistance;
+	public VROverlayIntersectionResults_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("vPoint", "vNormal", "vUVs", "fDistance");
+	}
 	/**
-	 * @param vPoint C type : HmdVector3_t<br>
-	 * @param vNormal C type : HmdVector3_t<br>
-	 * @param vUVs C type : HmdVector2_t
-	 */
-	public VROverlayIntersectionResults_t(HmdVector3_t vPoint, HmdVector3_t vNormal, HmdVector2_t vUVs, float fDistance) {
-		super();
-		this.vPoint = vPoint;
-		this.vNormal = vNormal;
-		this.vUVs = vUVs;
-		this.fDistance = fDistance;
-	}
-	public VROverlayIntersectionResults_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VROverlayIntersectionResults_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VROverlayIntersectionResults_t implements Structure.ByValue {
-		
-	};
+	 * @param vPoint C type : HmdVector3_t<br>
+	 * @param vNormal C type : HmdVector3_t<br>
+	 * @param vUVs C type : HmdVector2_t
+	 */
+	public VROverlayIntersectionResults_t(HmdVector3_t vPoint, HmdVector3_t vNormal, HmdVector2_t vUVs, float fDistance) {
+		super();
+		this.vPoint = vPoint;
+		this.vNormal = vNormal;
+		this.vUVs = vUVs;
+		this.fDistance = fDistance;
+	}
+	public VROverlayIntersectionResults_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VROverlayIntersectionResults_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VROverlayIntersectionResults_t implements Structure.ByValue {
+		
+	};
 }

+ 32 - 32
jme3-vr/src/main/java/com/jme3/system/jopenvr/VRTextureBounds_t.java

@@ -4,36 +4,36 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1007</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VRTextureBounds_t extends Structure {
-	public float uMin;
-	public float vMin;
-	public float uMax;
-	public float vMax;
-	public VRTextureBounds_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("uMin", "vMin", "uMax", "vMax");
-	}
-	public VRTextureBounds_t(float uMin, float vMin, float uMax, float vMax) {
-		super();
-		this.uMin = uMin;
-		this.vMin = vMin;
-		this.uMax = uMax;
-		this.vMax = vMax;
-	}
-	public VRTextureBounds_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VRTextureBounds_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VRTextureBounds_t implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1263</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VRTextureBounds_t extends Structure {
+	public float uMin;
+	public float vMin;
+	public float uMax;
+	public float vMax;
+	public VRTextureBounds_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("uMin", "vMin", "uMax", "vMax");
+	}
+	public VRTextureBounds_t(float uMin, float vMin, float uMax, float vMax) {
+		super();
+		this.uMin = uMin;
+		this.vMin = vMin;
+		this.uMax = uMax;
+		this.vMax = vMax;
+	}
+	public VRTextureBounds_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VRTextureBounds_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VRTextureBounds_t implements Structure.ByValue {
+		
+	};
 }

+ 49 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/VRTextureDepthInfo_t.java

@@ -0,0 +1,49 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1272</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VRTextureDepthInfo_t extends Structure {
+	/**
+	 * void *<br>
+	 * C type : void*
+	 */
+	public Pointer handle;
+	/** C type : HmdMatrix44_t */
+	public HmdMatrix44_t mProjection;
+	/** C type : HmdVector2_t */
+	public HmdVector2_t vRange;
+	public VRTextureDepthInfo_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("handle", "mProjection", "vRange");
+	}
+	/**
+	 * @param handle void *<br>
+	 * C type : void*<br>
+	 * @param mProjection C type : HmdMatrix44_t<br>
+	 * @param vRange C type : HmdVector2_t
+	 */
+	public VRTextureDepthInfo_t(Pointer handle, HmdMatrix44_t mProjection, HmdVector2_t vRange) {
+		super();
+		this.handle = handle;
+		this.mProjection = mProjection;
+		this.vRange = vRange;
+	}
+	public VRTextureDepthInfo_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VRTextureDepthInfo_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VRTextureDepthInfo_t implements Structure.ByValue {
+		
+	};
+}

+ 35 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/VRTextureWithDepth_t.java

@@ -0,0 +1,35 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1275</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VRTextureWithDepth_t extends Structure {
+	/** C type : VRTextureDepthInfo_t */
+	public VRTextureDepthInfo_t depth;
+	public VRTextureWithDepth_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("depth");
+	}
+	/** @param depth C type : VRTextureDepthInfo_t */
+	public VRTextureWithDepth_t(VRTextureDepthInfo_t depth) {
+		super();
+		this.depth = depth;
+	}
+	public VRTextureWithDepth_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VRTextureWithDepth_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VRTextureWithDepth_t implements Structure.ByValue {
+		
+	};
+}

+ 35 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/VRTextureWithPoseAndDepth_t.java

@@ -0,0 +1,35 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1278</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VRTextureWithPoseAndDepth_t extends Structure {
+	/** C type : VRTextureDepthInfo_t */
+	public VRTextureDepthInfo_t depth;
+	public VRTextureWithPoseAndDepth_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("depth");
+	}
+	/** @param depth C type : VRTextureDepthInfo_t */
+	public VRTextureWithPoseAndDepth_t(VRTextureDepthInfo_t depth) {
+		super();
+		this.depth = depth;
+	}
+	public VRTextureWithPoseAndDepth_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VRTextureWithPoseAndDepth_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VRTextureWithPoseAndDepth_t implements Structure.ByValue {
+		
+	};
+}

+ 35 - 0
jme3-vr/src/main/java/com/jme3/system/jopenvr/VRTextureWithPose_t.java

@@ -0,0 +1,35 @@
+package com.jme3.system.jopenvr;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import java.util.Arrays;
+import java.util.List;
+/**
+ * <i>native declaration : headers\openvr_capi.h:1266</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VRTextureWithPose_t extends Structure {
+	/** C type : HmdMatrix34_t */
+	public HmdMatrix34_t mDeviceToAbsoluteTracking;
+	public VRTextureWithPose_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("mDeviceToAbsoluteTracking");
+	}
+	/** @param mDeviceToAbsoluteTracking C type : HmdMatrix34_t */
+	public VRTextureWithPose_t(HmdMatrix34_t mDeviceToAbsoluteTracking) {
+		super();
+		this.mDeviceToAbsoluteTracking = mDeviceToAbsoluteTracking;
+	}
+	public VRTextureWithPose_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VRTextureWithPose_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VRTextureWithPose_t implements Structure.ByValue {
+		
+	};
+}

+ 43 - 43
jme3-vr/src/main/java/com/jme3/system/jopenvr/VRVulkanTextureData_t.java

@@ -8,51 +8,51 @@ import com.sun.jna.Structure;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1023</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VRVulkanTextureData_t extends Structure {
-	public long m_nImage;
+ * <i>native declaration : headers\openvr_capi.h:1294</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VRVulkanTextureData_t extends Structure {
+	public long m_nImage;
 	/**
-	 * struct VkDevice_T *<br>
-	 * C type : VkDevice_T*
-	 */
-	public VkDevice_T m_pDevice;
+	 * struct VkDevice_T *<br>
+	 * C type : VkDevice_T*
+	 */
+	public VkDevice_T m_pDevice;
 	/**
-	 * struct VkPhysicalDevice_T *<br>
-	 * C type : VkPhysicalDevice_T*
-	 */
-	public VkPhysicalDevice_T m_pPhysicalDevice;
+	 * struct VkPhysicalDevice_T *<br>
+	 * C type : VkPhysicalDevice_T*
+	 */
+	public VkPhysicalDevice_T m_pPhysicalDevice;
 	/**
-	 * struct VkInstance_T *<br>
-	 * C type : VkInstance_T*
-	 */
-	public VkInstance_T m_pInstance;
+	 * struct VkInstance_T *<br>
+	 * C type : VkInstance_T*
+	 */
+	public VkInstance_T m_pInstance;
 	/**
-	 * struct VkQueue_T *<br>
-	 * C type : VkQueue_T*
-	 */
-	public VkQueue_T m_pQueue;
-	public int m_nQueueFamilyIndex;
-	public int m_nWidth;
-	public int m_nHeight;
-	public int m_nFormat;
-	public int m_nSampleCount;
-	public VRVulkanTextureData_t() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("m_nImage", "m_pDevice", "m_pPhysicalDevice", "m_pInstance", "m_pQueue", "m_nQueueFamilyIndex", "m_nWidth", "m_nHeight", "m_nFormat", "m_nSampleCount");
-	}
-	public VRVulkanTextureData_t(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VRVulkanTextureData_t implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VRVulkanTextureData_t implements Structure.ByValue {
-		
-	};
+	 * struct VkQueue_T *<br>
+	 * C type : VkQueue_T*
+	 */
+	public VkQueue_T m_pQueue;
+	public int m_nQueueFamilyIndex;
+	public int m_nWidth;
+	public int m_nHeight;
+	public int m_nFormat;
+	public int m_nSampleCount;
+	public VRVulkanTextureData_t() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("m_nImage", "m_pDevice", "m_pPhysicalDevice", "m_pInstance", "m_pQueue", "m_nQueueFamilyIndex", "m_nWidth", "m_nHeight", "m_nFormat", "m_nSampleCount");
+	}
+	public VRVulkanTextureData_t(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VRVulkanTextureData_t implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VRVulkanTextureData_t implements Structure.ByValue {
+		
+	};
 }

+ 207 - 207
jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRApplications_FnTable.java

@@ -6,211 +6,211 @@ import com.sun.jna.ptr.IntByReference;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1514</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VR_IVRApplications_FnTable extends Structure {
-	/** C type : AddApplicationManifest_callback* */
-	public VR_IVRApplications_FnTable.AddApplicationManifest_callback AddApplicationManifest;
-	/** C type : RemoveApplicationManifest_callback* */
-	public VR_IVRApplications_FnTable.RemoveApplicationManifest_callback RemoveApplicationManifest;
-	/** C type : IsApplicationInstalled_callback* */
-	public VR_IVRApplications_FnTable.IsApplicationInstalled_callback IsApplicationInstalled;
-	/** C type : GetApplicationCount_callback* */
-	public VR_IVRApplications_FnTable.GetApplicationCount_callback GetApplicationCount;
-	/** C type : GetApplicationKeyByIndex_callback* */
-	public VR_IVRApplications_FnTable.GetApplicationKeyByIndex_callback GetApplicationKeyByIndex;
-	/** C type : GetApplicationKeyByProcessId_callback* */
-	public VR_IVRApplications_FnTable.GetApplicationKeyByProcessId_callback GetApplicationKeyByProcessId;
-	/** C type : LaunchApplication_callback* */
-	public VR_IVRApplications_FnTable.LaunchApplication_callback LaunchApplication;
-	/** C type : LaunchTemplateApplication_callback* */
-	public VR_IVRApplications_FnTable.LaunchTemplateApplication_callback LaunchTemplateApplication;
-	/** C type : LaunchApplicationFromMimeType_callback* */
-	public VR_IVRApplications_FnTable.LaunchApplicationFromMimeType_callback LaunchApplicationFromMimeType;
-	/** C type : LaunchDashboardOverlay_callback* */
-	public VR_IVRApplications_FnTable.LaunchDashboardOverlay_callback LaunchDashboardOverlay;
-	/** C type : CancelApplicationLaunch_callback* */
-	public VR_IVRApplications_FnTable.CancelApplicationLaunch_callback CancelApplicationLaunch;
-	/** C type : IdentifyApplication_callback* */
-	public VR_IVRApplications_FnTable.IdentifyApplication_callback IdentifyApplication;
-	/** C type : GetApplicationProcessId_callback* */
-	public VR_IVRApplications_FnTable.GetApplicationProcessId_callback GetApplicationProcessId;
-	/** C type : GetApplicationsErrorNameFromEnum_callback* */
-	public VR_IVRApplications_FnTable.GetApplicationsErrorNameFromEnum_callback GetApplicationsErrorNameFromEnum;
-	/** C type : GetApplicationPropertyString_callback* */
-	public VR_IVRApplications_FnTable.GetApplicationPropertyString_callback GetApplicationPropertyString;
-	/** C type : GetApplicationPropertyBool_callback* */
-	public VR_IVRApplications_FnTable.GetApplicationPropertyBool_callback GetApplicationPropertyBool;
-	/** C type : GetApplicationPropertyUint64_callback* */
-	public VR_IVRApplications_FnTable.GetApplicationPropertyUint64_callback GetApplicationPropertyUint64;
-	/** C type : SetApplicationAutoLaunch_callback* */
-	public VR_IVRApplications_FnTable.SetApplicationAutoLaunch_callback SetApplicationAutoLaunch;
-	/** C type : GetApplicationAutoLaunch_callback* */
-	public VR_IVRApplications_FnTable.GetApplicationAutoLaunch_callback GetApplicationAutoLaunch;
-	/** C type : SetDefaultApplicationForMimeType_callback* */
-	public VR_IVRApplications_FnTable.SetDefaultApplicationForMimeType_callback SetDefaultApplicationForMimeType;
-	/** C type : GetDefaultApplicationForMimeType_callback* */
-	public VR_IVRApplications_FnTable.GetDefaultApplicationForMimeType_callback GetDefaultApplicationForMimeType;
-	/** C type : GetApplicationSupportedMimeTypes_callback* */
-	public VR_IVRApplications_FnTable.GetApplicationSupportedMimeTypes_callback GetApplicationSupportedMimeTypes;
-	/** C type : GetApplicationsThatSupportMimeType_callback* */
-	public VR_IVRApplications_FnTable.GetApplicationsThatSupportMimeType_callback GetApplicationsThatSupportMimeType;
-	/** C type : GetApplicationLaunchArguments_callback* */
-	public VR_IVRApplications_FnTable.GetApplicationLaunchArguments_callback GetApplicationLaunchArguments;
-	/** C type : GetStartingApplication_callback* */
-	public VR_IVRApplications_FnTable.GetStartingApplication_callback GetStartingApplication;
-	/** C type : GetTransitionState_callback* */
-	public VR_IVRApplications_FnTable.GetTransitionState_callback GetTransitionState;
-	/** C type : PerformApplicationPrelaunchCheck_callback* */
-	public VR_IVRApplications_FnTable.PerformApplicationPrelaunchCheck_callback PerformApplicationPrelaunchCheck;
-	/** C type : GetApplicationsTransitionStateNameFromEnum_callback* */
-	public VR_IVRApplications_FnTable.GetApplicationsTransitionStateNameFromEnum_callback GetApplicationsTransitionStateNameFromEnum;
-	/** C type : IsQuitUserPromptRequested_callback* */
-	public VR_IVRApplications_FnTable.IsQuitUserPromptRequested_callback IsQuitUserPromptRequested;
-	/** C type : LaunchInternalProcess_callback* */
-	public VR_IVRApplications_FnTable.LaunchInternalProcess_callback LaunchInternalProcess;
-	/** C type : GetCurrentSceneProcessId_callback* */
-	public VR_IVRApplications_FnTable.GetCurrentSceneProcessId_callback GetCurrentSceneProcessId;
-	/** <i>native declaration : headers\openvr_capi.h:1483</i> */
-	public interface AddApplicationManifest_callback extends Callback {
-		int apply(Pointer pchApplicationManifestFullPath, byte bTemporary);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1484</i> */
-	public interface RemoveApplicationManifest_callback extends Callback {
-		int apply(Pointer pchApplicationManifestFullPath);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1485</i> */
-	public interface IsApplicationInstalled_callback extends Callback {
-		byte apply(Pointer pchAppKey);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1486</i> */
-	public interface GetApplicationCount_callback extends Callback {
-		int apply();
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1487</i> */
-	public interface GetApplicationKeyByIndex_callback extends Callback {
-		int apply(int unApplicationIndex, Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1488</i> */
-	public interface GetApplicationKeyByProcessId_callback extends Callback {
-		int apply(int unProcessId, Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1489</i> */
-	public interface LaunchApplication_callback extends Callback {
-		int apply(Pointer pchAppKey);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1490</i> */
-	public interface LaunchTemplateApplication_callback extends Callback {
-		int apply(Pointer pchTemplateAppKey, Pointer pchNewAppKey, AppOverrideKeys_t pKeys, int unKeys);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1491</i> */
-	public interface LaunchApplicationFromMimeType_callback extends Callback {
-		int apply(Pointer pchMimeType, Pointer pchArgs);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1492</i> */
-	public interface LaunchDashboardOverlay_callback extends Callback {
-		int apply(Pointer pchAppKey);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1493</i> */
-	public interface CancelApplicationLaunch_callback extends Callback {
-		byte apply(Pointer pchAppKey);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1494</i> */
-	public interface IdentifyApplication_callback extends Callback {
-		int apply(int unProcessId, Pointer pchAppKey);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1495</i> */
-	public interface GetApplicationProcessId_callback extends Callback {
-		int apply(Pointer pchAppKey);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1496</i> */
-	public interface GetApplicationsErrorNameFromEnum_callback extends Callback {
-		Pointer apply(int error);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1497</i> */
-	public interface GetApplicationPropertyString_callback extends Callback {
-		int apply(Pointer pchAppKey, int eProperty, Pointer pchPropertyValueBuffer, int unPropertyValueBufferLen, IntByReference peError);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1498</i> */
-	public interface GetApplicationPropertyBool_callback extends Callback {
-		byte apply(Pointer pchAppKey, int eProperty, IntByReference peError);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1499</i> */
-	public interface GetApplicationPropertyUint64_callback extends Callback {
-		long apply(Pointer pchAppKey, int eProperty, IntByReference peError);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1500</i> */
-	public interface SetApplicationAutoLaunch_callback extends Callback {
-		int apply(Pointer pchAppKey, byte bAutoLaunch);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1501</i> */
-	public interface GetApplicationAutoLaunch_callback extends Callback {
-		byte apply(Pointer pchAppKey);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1502</i> */
-	public interface SetDefaultApplicationForMimeType_callback extends Callback {
-		int apply(Pointer pchAppKey, Pointer pchMimeType);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1503</i> */
-	public interface GetDefaultApplicationForMimeType_callback extends Callback {
-		byte apply(Pointer pchMimeType, Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1504</i> */
-	public interface GetApplicationSupportedMimeTypes_callback extends Callback {
-		byte apply(Pointer pchAppKey, Pointer pchMimeTypesBuffer, int unMimeTypesBuffer);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1505</i> */
-	public interface GetApplicationsThatSupportMimeType_callback extends Callback {
-		int apply(Pointer pchMimeType, Pointer pchAppKeysThatSupportBuffer, int unAppKeysThatSupportBuffer);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1506</i> */
-	public interface GetApplicationLaunchArguments_callback extends Callback {
-		int apply(int unHandle, Pointer pchArgs, int unArgs);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1507</i> */
-	public interface GetStartingApplication_callback extends Callback {
-		int apply(Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1508</i> */
-	public interface GetTransitionState_callback extends Callback {
-		int apply();
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1509</i> */
-	public interface PerformApplicationPrelaunchCheck_callback extends Callback {
-		int apply(Pointer pchAppKey);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1510</i> */
-	public interface GetApplicationsTransitionStateNameFromEnum_callback extends Callback {
-		Pointer apply(int state);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1511</i> */
-	public interface IsQuitUserPromptRequested_callback extends Callback {
-		byte apply();
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1512</i> */
-	public interface LaunchInternalProcess_callback extends Callback {
-		int apply(Pointer pchBinaryPath, Pointer pchArguments, Pointer pchWorkingDirectory);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1513</i> */
-	public interface GetCurrentSceneProcessId_callback extends Callback {
-		int apply();
-	};
-	public VR_IVRApplications_FnTable() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("AddApplicationManifest", "RemoveApplicationManifest", "IsApplicationInstalled", "GetApplicationCount", "GetApplicationKeyByIndex", "GetApplicationKeyByProcessId", "LaunchApplication", "LaunchTemplateApplication", "LaunchApplicationFromMimeType", "LaunchDashboardOverlay", "CancelApplicationLaunch", "IdentifyApplication", "GetApplicationProcessId", "GetApplicationsErrorNameFromEnum", "GetApplicationPropertyString", "GetApplicationPropertyBool", "GetApplicationPropertyUint64", "SetApplicationAutoLaunch", "GetApplicationAutoLaunch", "SetDefaultApplicationForMimeType", "GetDefaultApplicationForMimeType", "GetApplicationSupportedMimeTypes", "GetApplicationsThatSupportMimeType", "GetApplicationLaunchArguments", "GetStartingApplication", "GetTransitionState", "PerformApplicationPrelaunchCheck", "GetApplicationsTransitionStateNameFromEnum", "IsQuitUserPromptRequested", "LaunchInternalProcess", "GetCurrentSceneProcessId");
-	}
-	public VR_IVRApplications_FnTable(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VR_IVRApplications_FnTable implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VR_IVRApplications_FnTable implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1897</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VR_IVRApplications_FnTable extends Structure {
+	/** C type : AddApplicationManifest_callback* */
+	public VR_IVRApplications_FnTable.AddApplicationManifest_callback AddApplicationManifest;
+	/** C type : RemoveApplicationManifest_callback* */
+	public VR_IVRApplications_FnTable.RemoveApplicationManifest_callback RemoveApplicationManifest;
+	/** C type : IsApplicationInstalled_callback* */
+	public VR_IVRApplications_FnTable.IsApplicationInstalled_callback IsApplicationInstalled;
+	/** C type : GetApplicationCount_callback* */
+	public VR_IVRApplications_FnTable.GetApplicationCount_callback GetApplicationCount;
+	/** C type : GetApplicationKeyByIndex_callback* */
+	public VR_IVRApplications_FnTable.GetApplicationKeyByIndex_callback GetApplicationKeyByIndex;
+	/** C type : GetApplicationKeyByProcessId_callback* */
+	public VR_IVRApplications_FnTable.GetApplicationKeyByProcessId_callback GetApplicationKeyByProcessId;
+	/** C type : LaunchApplication_callback* */
+	public VR_IVRApplications_FnTable.LaunchApplication_callback LaunchApplication;
+	/** C type : LaunchTemplateApplication_callback* */
+	public VR_IVRApplications_FnTable.LaunchTemplateApplication_callback LaunchTemplateApplication;
+	/** C type : LaunchApplicationFromMimeType_callback* */
+	public VR_IVRApplications_FnTable.LaunchApplicationFromMimeType_callback LaunchApplicationFromMimeType;
+	/** C type : LaunchDashboardOverlay_callback* */
+	public VR_IVRApplications_FnTable.LaunchDashboardOverlay_callback LaunchDashboardOverlay;
+	/** C type : CancelApplicationLaunch_callback* */
+	public VR_IVRApplications_FnTable.CancelApplicationLaunch_callback CancelApplicationLaunch;
+	/** C type : IdentifyApplication_callback* */
+	public VR_IVRApplications_FnTable.IdentifyApplication_callback IdentifyApplication;
+	/** C type : GetApplicationProcessId_callback* */
+	public VR_IVRApplications_FnTable.GetApplicationProcessId_callback GetApplicationProcessId;
+	/** C type : GetApplicationsErrorNameFromEnum_callback* */
+	public VR_IVRApplications_FnTable.GetApplicationsErrorNameFromEnum_callback GetApplicationsErrorNameFromEnum;
+	/** C type : GetApplicationPropertyString_callback* */
+	public VR_IVRApplications_FnTable.GetApplicationPropertyString_callback GetApplicationPropertyString;
+	/** C type : GetApplicationPropertyBool_callback* */
+	public VR_IVRApplications_FnTable.GetApplicationPropertyBool_callback GetApplicationPropertyBool;
+	/** C type : GetApplicationPropertyUint64_callback* */
+	public VR_IVRApplications_FnTable.GetApplicationPropertyUint64_callback GetApplicationPropertyUint64;
+	/** C type : SetApplicationAutoLaunch_callback* */
+	public VR_IVRApplications_FnTable.SetApplicationAutoLaunch_callback SetApplicationAutoLaunch;
+	/** C type : GetApplicationAutoLaunch_callback* */
+	public VR_IVRApplications_FnTable.GetApplicationAutoLaunch_callback GetApplicationAutoLaunch;
+	/** C type : SetDefaultApplicationForMimeType_callback* */
+	public VR_IVRApplications_FnTable.SetDefaultApplicationForMimeType_callback SetDefaultApplicationForMimeType;
+	/** C type : GetDefaultApplicationForMimeType_callback* */
+	public VR_IVRApplications_FnTable.GetDefaultApplicationForMimeType_callback GetDefaultApplicationForMimeType;
+	/** C type : GetApplicationSupportedMimeTypes_callback* */
+	public VR_IVRApplications_FnTable.GetApplicationSupportedMimeTypes_callback GetApplicationSupportedMimeTypes;
+	/** C type : GetApplicationsThatSupportMimeType_callback* */
+	public VR_IVRApplications_FnTable.GetApplicationsThatSupportMimeType_callback GetApplicationsThatSupportMimeType;
+	/** C type : GetApplicationLaunchArguments_callback* */
+	public VR_IVRApplications_FnTable.GetApplicationLaunchArguments_callback GetApplicationLaunchArguments;
+	/** C type : GetStartingApplication_callback* */
+	public VR_IVRApplications_FnTable.GetStartingApplication_callback GetStartingApplication;
+	/** C type : GetTransitionState_callback* */
+	public VR_IVRApplications_FnTable.GetTransitionState_callback GetTransitionState;
+	/** C type : PerformApplicationPrelaunchCheck_callback* */
+	public VR_IVRApplications_FnTable.PerformApplicationPrelaunchCheck_callback PerformApplicationPrelaunchCheck;
+	/** C type : GetApplicationsTransitionStateNameFromEnum_callback* */
+	public VR_IVRApplications_FnTable.GetApplicationsTransitionStateNameFromEnum_callback GetApplicationsTransitionStateNameFromEnum;
+	/** C type : IsQuitUserPromptRequested_callback* */
+	public VR_IVRApplications_FnTable.IsQuitUserPromptRequested_callback IsQuitUserPromptRequested;
+	/** C type : LaunchInternalProcess_callback* */
+	public VR_IVRApplications_FnTable.LaunchInternalProcess_callback LaunchInternalProcess;
+	/** C type : GetCurrentSceneProcessId_callback* */
+	public VR_IVRApplications_FnTable.GetCurrentSceneProcessId_callback GetCurrentSceneProcessId;
+	/** <i>native declaration : headers\openvr_capi.h:1866</i> */
+	public interface AddApplicationManifest_callback extends Callback {
+		int apply(Pointer pchApplicationManifestFullPath, byte bTemporary);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1867</i> */
+	public interface RemoveApplicationManifest_callback extends Callback {
+		int apply(Pointer pchApplicationManifestFullPath);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1868</i> */
+	public interface IsApplicationInstalled_callback extends Callback {
+		byte apply(Pointer pchAppKey);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1869</i> */
+	public interface GetApplicationCount_callback extends Callback {
+		int apply();
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1870</i> */
+	public interface GetApplicationKeyByIndex_callback extends Callback {
+		int apply(int unApplicationIndex, Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1871</i> */
+	public interface GetApplicationKeyByProcessId_callback extends Callback {
+		int apply(int unProcessId, Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1872</i> */
+	public interface LaunchApplication_callback extends Callback {
+		int apply(Pointer pchAppKey);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1873</i> */
+	public interface LaunchTemplateApplication_callback extends Callback {
+		int apply(Pointer pchTemplateAppKey, Pointer pchNewAppKey, AppOverrideKeys_t pKeys, int unKeys);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1874</i> */
+	public interface LaunchApplicationFromMimeType_callback extends Callback {
+		int apply(Pointer pchMimeType, Pointer pchArgs);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1875</i> */
+	public interface LaunchDashboardOverlay_callback extends Callback {
+		int apply(Pointer pchAppKey);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1876</i> */
+	public interface CancelApplicationLaunch_callback extends Callback {
+		byte apply(Pointer pchAppKey);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1877</i> */
+	public interface IdentifyApplication_callback extends Callback {
+		int apply(int unProcessId, Pointer pchAppKey);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1878</i> */
+	public interface GetApplicationProcessId_callback extends Callback {
+		int apply(Pointer pchAppKey);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1879</i> */
+	public interface GetApplicationsErrorNameFromEnum_callback extends Callback {
+		Pointer apply(int error);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1880</i> */
+	public interface GetApplicationPropertyString_callback extends Callback {
+		int apply(Pointer pchAppKey, int eProperty, Pointer pchPropertyValueBuffer, int unPropertyValueBufferLen, IntByReference peError);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1881</i> */
+	public interface GetApplicationPropertyBool_callback extends Callback {
+		byte apply(Pointer pchAppKey, int eProperty, IntByReference peError);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1882</i> */
+	public interface GetApplicationPropertyUint64_callback extends Callback {
+		long apply(Pointer pchAppKey, int eProperty, IntByReference peError);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1883</i> */
+	public interface SetApplicationAutoLaunch_callback extends Callback {
+		int apply(Pointer pchAppKey, byte bAutoLaunch);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1884</i> */
+	public interface GetApplicationAutoLaunch_callback extends Callback {
+		byte apply(Pointer pchAppKey);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1885</i> */
+	public interface SetDefaultApplicationForMimeType_callback extends Callback {
+		int apply(Pointer pchAppKey, Pointer pchMimeType);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1886</i> */
+	public interface GetDefaultApplicationForMimeType_callback extends Callback {
+		byte apply(Pointer pchMimeType, Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1887</i> */
+	public interface GetApplicationSupportedMimeTypes_callback extends Callback {
+		byte apply(Pointer pchAppKey, Pointer pchMimeTypesBuffer, int unMimeTypesBuffer);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1888</i> */
+	public interface GetApplicationsThatSupportMimeType_callback extends Callback {
+		int apply(Pointer pchMimeType, Pointer pchAppKeysThatSupportBuffer, int unAppKeysThatSupportBuffer);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1889</i> */
+	public interface GetApplicationLaunchArguments_callback extends Callback {
+		int apply(int unHandle, Pointer pchArgs, int unArgs);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1890</i> */
+	public interface GetStartingApplication_callback extends Callback {
+		int apply(Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1891</i> */
+	public interface GetTransitionState_callback extends Callback {
+		int apply();
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1892</i> */
+	public interface PerformApplicationPrelaunchCheck_callback extends Callback {
+		int apply(Pointer pchAppKey);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1893</i> */
+	public interface GetApplicationsTransitionStateNameFromEnum_callback extends Callback {
+		Pointer apply(int state);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1894</i> */
+	public interface IsQuitUserPromptRequested_callback extends Callback {
+		byte apply();
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1895</i> */
+	public interface LaunchInternalProcess_callback extends Callback {
+		int apply(Pointer pchBinaryPath, Pointer pchArguments, Pointer pchWorkingDirectory);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1896</i> */
+	public interface GetCurrentSceneProcessId_callback extends Callback {
+		int apply();
+	};
+	public VR_IVRApplications_FnTable() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("AddApplicationManifest", "RemoveApplicationManifest", "IsApplicationInstalled", "GetApplicationCount", "GetApplicationKeyByIndex", "GetApplicationKeyByProcessId", "LaunchApplication", "LaunchTemplateApplication", "LaunchApplicationFromMimeType", "LaunchDashboardOverlay", "CancelApplicationLaunch", "IdentifyApplication", "GetApplicationProcessId", "GetApplicationsErrorNameFromEnum", "GetApplicationPropertyString", "GetApplicationPropertyBool", "GetApplicationPropertyUint64", "SetApplicationAutoLaunch", "GetApplicationAutoLaunch", "SetDefaultApplicationForMimeType", "GetDefaultApplicationForMimeType", "GetApplicationSupportedMimeTypes", "GetApplicationsThatSupportMimeType", "GetApplicationLaunchArguments", "GetStartingApplication", "GetTransitionState", "PerformApplicationPrelaunchCheck", "GetApplicationsTransitionStateNameFromEnum", "IsQuitUserPromptRequested", "LaunchInternalProcess", "GetCurrentSceneProcessId");
+	}
+	public VR_IVRApplications_FnTable(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VR_IVRApplications_FnTable implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VR_IVRApplications_FnTable implements Structure.ByValue {
+		
+	};
 }

+ 141 - 141
jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRChaperoneSetup_FnTable.java

@@ -7,145 +7,145 @@ import com.sun.jna.ptr.IntByReference;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1574</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VR_IVRChaperoneSetup_FnTable extends Structure {
-	/** C type : CommitWorkingCopy_callback* */
-	public VR_IVRChaperoneSetup_FnTable.CommitWorkingCopy_callback CommitWorkingCopy;
-	/** C type : RevertWorkingCopy_callback* */
-	public VR_IVRChaperoneSetup_FnTable.RevertWorkingCopy_callback RevertWorkingCopy;
-	/** C type : GetWorkingPlayAreaSize_callback* */
-	public VR_IVRChaperoneSetup_FnTable.GetWorkingPlayAreaSize_callback GetWorkingPlayAreaSize;
-	/** C type : GetWorkingPlayAreaRect_callback* */
-	public VR_IVRChaperoneSetup_FnTable.GetWorkingPlayAreaRect_callback GetWorkingPlayAreaRect;
-	/** C type : GetWorkingCollisionBoundsInfo_callback* */
-	public VR_IVRChaperoneSetup_FnTable.GetWorkingCollisionBoundsInfo_callback GetWorkingCollisionBoundsInfo;
-	/** C type : GetLiveCollisionBoundsInfo_callback* */
-	public VR_IVRChaperoneSetup_FnTable.GetLiveCollisionBoundsInfo_callback GetLiveCollisionBoundsInfo;
-	/** C type : GetWorkingSeatedZeroPoseToRawTrackingPose_callback* */
-	public VR_IVRChaperoneSetup_FnTable.GetWorkingSeatedZeroPoseToRawTrackingPose_callback GetWorkingSeatedZeroPoseToRawTrackingPose;
-	/** C type : GetWorkingStandingZeroPoseToRawTrackingPose_callback* */
-	public VR_IVRChaperoneSetup_FnTable.GetWorkingStandingZeroPoseToRawTrackingPose_callback GetWorkingStandingZeroPoseToRawTrackingPose;
-	/** C type : SetWorkingPlayAreaSize_callback* */
-	public VR_IVRChaperoneSetup_FnTable.SetWorkingPlayAreaSize_callback SetWorkingPlayAreaSize;
-	/** C type : SetWorkingCollisionBoundsInfo_callback* */
-	public VR_IVRChaperoneSetup_FnTable.SetWorkingCollisionBoundsInfo_callback SetWorkingCollisionBoundsInfo;
-	/** C type : SetWorkingSeatedZeroPoseToRawTrackingPose_callback* */
-	public VR_IVRChaperoneSetup_FnTable.SetWorkingSeatedZeroPoseToRawTrackingPose_callback SetWorkingSeatedZeroPoseToRawTrackingPose;
-	/** C type : SetWorkingStandingZeroPoseToRawTrackingPose_callback* */
-	public VR_IVRChaperoneSetup_FnTable.SetWorkingStandingZeroPoseToRawTrackingPose_callback SetWorkingStandingZeroPoseToRawTrackingPose;
-	/** C type : ReloadFromDisk_callback* */
-	public VR_IVRChaperoneSetup_FnTable.ReloadFromDisk_callback ReloadFromDisk;
-	/** C type : GetLiveSeatedZeroPoseToRawTrackingPose_callback* */
-	public VR_IVRChaperoneSetup_FnTable.GetLiveSeatedZeroPoseToRawTrackingPose_callback GetLiveSeatedZeroPoseToRawTrackingPose;
-	/** C type : SetWorkingCollisionBoundsTagsInfo_callback* */
-	public VR_IVRChaperoneSetup_FnTable.SetWorkingCollisionBoundsTagsInfo_callback SetWorkingCollisionBoundsTagsInfo;
-	/** C type : GetLiveCollisionBoundsTagsInfo_callback* */
-	public VR_IVRChaperoneSetup_FnTable.GetLiveCollisionBoundsTagsInfo_callback GetLiveCollisionBoundsTagsInfo;
-	/** C type : SetWorkingPhysicalBoundsInfo_callback* */
-	public VR_IVRChaperoneSetup_FnTable.SetWorkingPhysicalBoundsInfo_callback SetWorkingPhysicalBoundsInfo;
-	/** C type : GetLivePhysicalBoundsInfo_callback* */
-	public VR_IVRChaperoneSetup_FnTable.GetLivePhysicalBoundsInfo_callback GetLivePhysicalBoundsInfo;
-	/** C type : ExportLiveToBuffer_callback* */
-	public VR_IVRChaperoneSetup_FnTable.ExportLiveToBuffer_callback ExportLiveToBuffer;
-	/** C type : ImportFromBufferToWorking_callback* */
-	public VR_IVRChaperoneSetup_FnTable.ImportFromBufferToWorking_callback ImportFromBufferToWorking;
-	/** <i>native declaration : headers\openvr_capi.h:1554</i> */
-	public interface CommitWorkingCopy_callback extends Callback {
-		byte apply(int configFile);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1555</i> */
-	public interface RevertWorkingCopy_callback extends Callback {
-		void apply();
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1556</i> */
-	public interface GetWorkingPlayAreaSize_callback extends Callback {
-		byte apply(FloatByReference pSizeX, FloatByReference pSizeZ);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1557</i> */
-	public interface GetWorkingPlayAreaRect_callback extends Callback {
-		byte apply(HmdQuad_t rect);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1558</i> */
-	public interface GetWorkingCollisionBoundsInfo_callback extends Callback {
-		byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1559</i> */
-	public interface GetLiveCollisionBoundsInfo_callback extends Callback {
-		byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1560</i> */
-	public interface GetWorkingSeatedZeroPoseToRawTrackingPose_callback extends Callback {
-		byte apply(HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1561</i> */
-	public interface GetWorkingStandingZeroPoseToRawTrackingPose_callback extends Callback {
-		byte apply(HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1562</i> */
-	public interface SetWorkingPlayAreaSize_callback extends Callback {
-		void apply(float sizeX, float sizeZ);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1563</i> */
-	public interface SetWorkingCollisionBoundsInfo_callback extends Callback {
-		void apply(HmdQuad_t pQuadsBuffer, int unQuadsCount);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1564</i> */
-	public interface SetWorkingSeatedZeroPoseToRawTrackingPose_callback extends Callback {
-		void apply(HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1565</i> */
-	public interface SetWorkingStandingZeroPoseToRawTrackingPose_callback extends Callback {
-		void apply(HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1566</i> */
-	public interface ReloadFromDisk_callback extends Callback {
-		void apply(int configFile);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1567</i> */
-	public interface GetLiveSeatedZeroPoseToRawTrackingPose_callback extends Callback {
-		byte apply(HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1568</i> */
-	public interface SetWorkingCollisionBoundsTagsInfo_callback extends Callback {
-		void apply(Pointer pTagsBuffer, int unTagCount);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1569</i> */
-	public interface GetLiveCollisionBoundsTagsInfo_callback extends Callback {
-		byte apply(Pointer pTagsBuffer, IntByReference punTagCount);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1570</i> */
-	public interface SetWorkingPhysicalBoundsInfo_callback extends Callback {
-		byte apply(HmdQuad_t pQuadsBuffer, int unQuadsCount);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1571</i> */
-	public interface GetLivePhysicalBoundsInfo_callback extends Callback {
-		byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1572</i> */
-	public interface ExportLiveToBuffer_callback extends Callback {
-		byte apply(Pointer pBuffer, IntByReference pnBufferLength);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1573</i> */
-	public interface ImportFromBufferToWorking_callback extends Callback {
-		byte apply(Pointer pBuffer, int nImportFlags);
-	};
-	public VR_IVRChaperoneSetup_FnTable() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("CommitWorkingCopy", "RevertWorkingCopy", "GetWorkingPlayAreaSize", "GetWorkingPlayAreaRect", "GetWorkingCollisionBoundsInfo", "GetLiveCollisionBoundsInfo", "GetWorkingSeatedZeroPoseToRawTrackingPose", "GetWorkingStandingZeroPoseToRawTrackingPose", "SetWorkingPlayAreaSize", "SetWorkingCollisionBoundsInfo", "SetWorkingSeatedZeroPoseToRawTrackingPose", "SetWorkingStandingZeroPoseToRawTrackingPose", "ReloadFromDisk", "GetLiveSeatedZeroPoseToRawTrackingPose", "SetWorkingCollisionBoundsTagsInfo", "GetLiveCollisionBoundsTagsInfo", "SetWorkingPhysicalBoundsInfo", "GetLivePhysicalBoundsInfo", "ExportLiveToBuffer", "ImportFromBufferToWorking");
-	}
-	public VR_IVRChaperoneSetup_FnTable(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VR_IVRChaperoneSetup_FnTable implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VR_IVRChaperoneSetup_FnTable implements Structure.ByValue {
-		
-	};
+ * <i>native declaration : headers\openvr_capi.h:1957</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VR_IVRChaperoneSetup_FnTable extends Structure {
+	/** C type : CommitWorkingCopy_callback* */
+	public VR_IVRChaperoneSetup_FnTable.CommitWorkingCopy_callback CommitWorkingCopy;
+	/** C type : RevertWorkingCopy_callback* */
+	public VR_IVRChaperoneSetup_FnTable.RevertWorkingCopy_callback RevertWorkingCopy;
+	/** C type : GetWorkingPlayAreaSize_callback* */
+	public VR_IVRChaperoneSetup_FnTable.GetWorkingPlayAreaSize_callback GetWorkingPlayAreaSize;
+	/** C type : GetWorkingPlayAreaRect_callback* */
+	public VR_IVRChaperoneSetup_FnTable.GetWorkingPlayAreaRect_callback GetWorkingPlayAreaRect;
+	/** C type : GetWorkingCollisionBoundsInfo_callback* */
+	public VR_IVRChaperoneSetup_FnTable.GetWorkingCollisionBoundsInfo_callback GetWorkingCollisionBoundsInfo;
+	/** C type : GetLiveCollisionBoundsInfo_callback* */
+	public VR_IVRChaperoneSetup_FnTable.GetLiveCollisionBoundsInfo_callback GetLiveCollisionBoundsInfo;
+	/** C type : GetWorkingSeatedZeroPoseToRawTrackingPose_callback* */
+	public VR_IVRChaperoneSetup_FnTable.GetWorkingSeatedZeroPoseToRawTrackingPose_callback GetWorkingSeatedZeroPoseToRawTrackingPose;
+	/** C type : GetWorkingStandingZeroPoseToRawTrackingPose_callback* */
+	public VR_IVRChaperoneSetup_FnTable.GetWorkingStandingZeroPoseToRawTrackingPose_callback GetWorkingStandingZeroPoseToRawTrackingPose;
+	/** C type : SetWorkingPlayAreaSize_callback* */
+	public VR_IVRChaperoneSetup_FnTable.SetWorkingPlayAreaSize_callback SetWorkingPlayAreaSize;
+	/** C type : SetWorkingCollisionBoundsInfo_callback* */
+	public VR_IVRChaperoneSetup_FnTable.SetWorkingCollisionBoundsInfo_callback SetWorkingCollisionBoundsInfo;
+	/** C type : SetWorkingSeatedZeroPoseToRawTrackingPose_callback* */
+	public VR_IVRChaperoneSetup_FnTable.SetWorkingSeatedZeroPoseToRawTrackingPose_callback SetWorkingSeatedZeroPoseToRawTrackingPose;
+	/** C type : SetWorkingStandingZeroPoseToRawTrackingPose_callback* */
+	public VR_IVRChaperoneSetup_FnTable.SetWorkingStandingZeroPoseToRawTrackingPose_callback SetWorkingStandingZeroPoseToRawTrackingPose;
+	/** C type : ReloadFromDisk_callback* */
+	public VR_IVRChaperoneSetup_FnTable.ReloadFromDisk_callback ReloadFromDisk;
+	/** C type : GetLiveSeatedZeroPoseToRawTrackingPose_callback* */
+	public VR_IVRChaperoneSetup_FnTable.GetLiveSeatedZeroPoseToRawTrackingPose_callback GetLiveSeatedZeroPoseToRawTrackingPose;
+	/** C type : SetWorkingCollisionBoundsTagsInfo_callback* */
+	public VR_IVRChaperoneSetup_FnTable.SetWorkingCollisionBoundsTagsInfo_callback SetWorkingCollisionBoundsTagsInfo;
+	/** C type : GetLiveCollisionBoundsTagsInfo_callback* */
+	public VR_IVRChaperoneSetup_FnTable.GetLiveCollisionBoundsTagsInfo_callback GetLiveCollisionBoundsTagsInfo;
+	/** C type : SetWorkingPhysicalBoundsInfo_callback* */
+	public VR_IVRChaperoneSetup_FnTable.SetWorkingPhysicalBoundsInfo_callback SetWorkingPhysicalBoundsInfo;
+	/** C type : GetLivePhysicalBoundsInfo_callback* */
+	public VR_IVRChaperoneSetup_FnTable.GetLivePhysicalBoundsInfo_callback GetLivePhysicalBoundsInfo;
+	/** C type : ExportLiveToBuffer_callback* */
+	public VR_IVRChaperoneSetup_FnTable.ExportLiveToBuffer_callback ExportLiveToBuffer;
+	/** C type : ImportFromBufferToWorking_callback* */
+	public VR_IVRChaperoneSetup_FnTable.ImportFromBufferToWorking_callback ImportFromBufferToWorking;
+	/** <i>native declaration : headers\openvr_capi.h:1937</i> */
+	public interface CommitWorkingCopy_callback extends Callback {
+		byte apply(int configFile);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1938</i> */
+	public interface RevertWorkingCopy_callback extends Callback {
+		void apply();
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1939</i> */
+	public interface GetWorkingPlayAreaSize_callback extends Callback {
+		byte apply(FloatByReference pSizeX, FloatByReference pSizeZ);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1940</i> */
+	public interface GetWorkingPlayAreaRect_callback extends Callback {
+		byte apply(HmdQuad_t rect);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1941</i> */
+	public interface GetWorkingCollisionBoundsInfo_callback extends Callback {
+		byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1942</i> */
+	public interface GetLiveCollisionBoundsInfo_callback extends Callback {
+		byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1943</i> */
+	public interface GetWorkingSeatedZeroPoseToRawTrackingPose_callback extends Callback {
+		byte apply(HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1944</i> */
+	public interface GetWorkingStandingZeroPoseToRawTrackingPose_callback extends Callback {
+		byte apply(HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1945</i> */
+	public interface SetWorkingPlayAreaSize_callback extends Callback {
+		void apply(float sizeX, float sizeZ);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1946</i> */
+	public interface SetWorkingCollisionBoundsInfo_callback extends Callback {
+		void apply(HmdQuad_t pQuadsBuffer, int unQuadsCount);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1947</i> */
+	public interface SetWorkingSeatedZeroPoseToRawTrackingPose_callback extends Callback {
+		void apply(HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1948</i> */
+	public interface SetWorkingStandingZeroPoseToRawTrackingPose_callback extends Callback {
+		void apply(HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1949</i> */
+	public interface ReloadFromDisk_callback extends Callback {
+		void apply(int configFile);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1950</i> */
+	public interface GetLiveSeatedZeroPoseToRawTrackingPose_callback extends Callback {
+		byte apply(HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1951</i> */
+	public interface SetWorkingCollisionBoundsTagsInfo_callback extends Callback {
+		void apply(Pointer pTagsBuffer, int unTagCount);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1952</i> */
+	public interface GetLiveCollisionBoundsTagsInfo_callback extends Callback {
+		byte apply(Pointer pTagsBuffer, IntByReference punTagCount);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1953</i> */
+	public interface SetWorkingPhysicalBoundsInfo_callback extends Callback {
+		byte apply(HmdQuad_t pQuadsBuffer, int unQuadsCount);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1954</i> */
+	public interface GetLivePhysicalBoundsInfo_callback extends Callback {
+		byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1955</i> */
+	public interface ExportLiveToBuffer_callback extends Callback {
+		byte apply(Pointer pBuffer, IntByReference pnBufferLength);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1956</i> */
+	public interface ImportFromBufferToWorking_callback extends Callback {
+		byte apply(Pointer pBuffer, int nImportFlags);
+	};
+	public VR_IVRChaperoneSetup_FnTable() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("CommitWorkingCopy", "RevertWorkingCopy", "GetWorkingPlayAreaSize", "GetWorkingPlayAreaRect", "GetWorkingCollisionBoundsInfo", "GetLiveCollisionBoundsInfo", "GetWorkingSeatedZeroPoseToRawTrackingPose", "GetWorkingStandingZeroPoseToRawTrackingPose", "SetWorkingPlayAreaSize", "SetWorkingCollisionBoundsInfo", "SetWorkingSeatedZeroPoseToRawTrackingPose", "SetWorkingStandingZeroPoseToRawTrackingPose", "ReloadFromDisk", "GetLiveSeatedZeroPoseToRawTrackingPose", "SetWorkingCollisionBoundsTagsInfo", "GetLiveCollisionBoundsTagsInfo", "SetWorkingPhysicalBoundsInfo", "GetLivePhysicalBoundsInfo", "ExportLiveToBuffer", "ImportFromBufferToWorking");
+	}
+	public VR_IVRChaperoneSetup_FnTable(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VR_IVRChaperoneSetup_FnTable implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VR_IVRChaperoneSetup_FnTable implements Structure.ByValue {
+		
+	};
 }

+ 89 - 89
jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRChaperone_FnTable.java

@@ -6,94 +6,94 @@ import com.sun.jna.ptr.FloatByReference;
 import java.util.Arrays;
 import java.util.List;
 /**
- * <i>native declaration : headers\openvr_capi.h:1532</i><br>
- * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
- * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
- * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
- */
-public class VR_IVRChaperone_FnTable extends Structure {
-	/** C type : GetCalibrationState_callback* */
-	public VR_IVRChaperone_FnTable.GetCalibrationState_callback GetCalibrationState;
-	/** C type : GetPlayAreaSize_callback* */
-	public VR_IVRChaperone_FnTable.GetPlayAreaSize_callback GetPlayAreaSize;
-	/** C type : GetPlayAreaRect_callback* */
-	public VR_IVRChaperone_FnTable.GetPlayAreaRect_callback GetPlayAreaRect;
-	/** C type : ReloadInfo_callback* */
-	public VR_IVRChaperone_FnTable.ReloadInfo_callback ReloadInfo;
-	/** C type : SetSceneColor_callback* */
-	public VR_IVRChaperone_FnTable.SetSceneColor_callback SetSceneColor;
-	/** C type : GetBoundsColor_callback* */
-	public VR_IVRChaperone_FnTable.GetBoundsColor_callback GetBoundsColor;
-	/** C type : AreBoundsVisible_callback* */
-	public VR_IVRChaperone_FnTable.AreBoundsVisible_callback AreBoundsVisible;
-	/** C type : ForceBoundsVisible_callback* */
-	public VR_IVRChaperone_FnTable.ForceBoundsVisible_callback ForceBoundsVisible;
-	/** <i>native declaration : headers\openvr_capi.h:1524</i> */
-	public interface GetCalibrationState_callback extends Callback {
-		int apply();
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1525</i> */
-	public interface GetPlayAreaSize_callback extends Callback {
-		byte apply(FloatByReference pSizeX, FloatByReference pSizeZ);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1526</i> */
-	public interface GetPlayAreaRect_callback extends Callback {
-		byte apply(HmdQuad_t rect);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1527</i> */
-	public interface ReloadInfo_callback extends Callback {
-		void apply();
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1528</i> */
-	public interface SetSceneColor_callback extends Callback {
-		void apply(HmdColor_t.ByValue color);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1529</i> */
-	public interface GetBoundsColor_callback extends Callback {
-		void apply(HmdColor_t pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, HmdColor_t pOutputCameraColor);
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1530</i> */
-	public interface AreBoundsVisible_callback extends Callback {
-		byte apply();
-	};
-	/** <i>native declaration : headers\openvr_capi.h:1531</i> */
-	public interface ForceBoundsVisible_callback extends Callback {
-		void apply(byte bForce);
-	};
-	public VR_IVRChaperone_FnTable() {
-		super();
-	}
-	protected List<String> getFieldOrder() {
-		return Arrays.asList("GetCalibrationState", "GetPlayAreaSize", "GetPlayAreaRect", "ReloadInfo", "SetSceneColor", "GetBoundsColor", "AreBoundsVisible", "ForceBoundsVisible");
-	}
+ * <i>native declaration : headers\openvr_capi.h:1915</i><br>
+ * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
+ * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
+ * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
+ */
+public class VR_IVRChaperone_FnTable extends Structure {
+	/** C type : GetCalibrationState_callback* */
+	public VR_IVRChaperone_FnTable.GetCalibrationState_callback GetCalibrationState;
+	/** C type : GetPlayAreaSize_callback* */
+	public VR_IVRChaperone_FnTable.GetPlayAreaSize_callback GetPlayAreaSize;
+	/** C type : GetPlayAreaRect_callback* */
+	public VR_IVRChaperone_FnTable.GetPlayAreaRect_callback GetPlayAreaRect;
+	/** C type : ReloadInfo_callback* */
+	public VR_IVRChaperone_FnTable.ReloadInfo_callback ReloadInfo;
+	/** C type : SetSceneColor_callback* */
+	public VR_IVRChaperone_FnTable.SetSceneColor_callback SetSceneColor;
+	/** C type : GetBoundsColor_callback* */
+	public VR_IVRChaperone_FnTable.GetBoundsColor_callback GetBoundsColor;
+	/** C type : AreBoundsVisible_callback* */
+	public VR_IVRChaperone_FnTable.AreBoundsVisible_callback AreBoundsVisible;
+	/** C type : ForceBoundsVisible_callback* */
+	public VR_IVRChaperone_FnTable.ForceBoundsVisible_callback ForceBoundsVisible;
+	/** <i>native declaration : headers\openvr_capi.h:1907</i> */
+	public interface GetCalibrationState_callback extends Callback {
+		int apply();
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1908</i> */
+	public interface GetPlayAreaSize_callback extends Callback {
+		byte apply(FloatByReference pSizeX, FloatByReference pSizeZ);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1909</i> */
+	public interface GetPlayAreaRect_callback extends Callback {
+		byte apply(HmdQuad_t rect);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1910</i> */
+	public interface ReloadInfo_callback extends Callback {
+		void apply();
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1911</i> */
+	public interface SetSceneColor_callback extends Callback {
+		void apply(HmdColor_t.ByValue color);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1912</i> */
+	public interface GetBoundsColor_callback extends Callback {
+		void apply(HmdColor_t pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, HmdColor_t pOutputCameraColor);
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1913</i> */
+	public interface AreBoundsVisible_callback extends Callback {
+		byte apply();
+	};
+	/** <i>native declaration : headers\openvr_capi.h:1914</i> */
+	public interface ForceBoundsVisible_callback extends Callback {
+		void apply(byte bForce);
+	};
+	public VR_IVRChaperone_FnTable() {
+		super();
+	}
+	protected List<String> getFieldOrder() {
+		return Arrays.asList("GetCalibrationState", "GetPlayAreaSize", "GetPlayAreaRect", "ReloadInfo", "SetSceneColor", "GetBoundsColor", "AreBoundsVisible", "ForceBoundsVisible");
+	}
 	/**
-	 * @param GetCalibrationState C type : GetCalibrationState_callback*<br>
-	 * @param GetPlayAreaSize C type : GetPlayAreaSize_callback*<br>
-	 * @param GetPlayAreaRect C type : GetPlayAreaRect_callback*<br>
-	 * @param ReloadInfo C type : ReloadInfo_callback*<br>
-	 * @param SetSceneColor C type : SetSceneColor_callback*<br>
-	 * @param GetBoundsColor C type : GetBoundsColor_callback*<br>
-	 * @param AreBoundsVisible C type : AreBoundsVisible_callback*<br>
-	 * @param ForceBoundsVisible C type : ForceBoundsVisible_callback*
-	 */
-	public VR_IVRChaperone_FnTable(VR_IVRChaperone_FnTable.GetCalibrationState_callback GetCalibrationState, VR_IVRChaperone_FnTable.GetPlayAreaSize_callback GetPlayAreaSize, VR_IVRChaperone_FnTable.GetPlayAreaRect_callback GetPlayAreaRect, VR_IVRChaperone_FnTable.ReloadInfo_callback ReloadInfo, VR_IVRChaperone_FnTable.SetSceneColor_callback SetSceneColor, VR_IVRChaperone_FnTable.GetBoundsColor_callback GetBoundsColor, VR_IVRChaperone_FnTable.AreBoundsVisible_callback AreBoundsVisible, VR_IVRChaperone_FnTable.ForceBoundsVisible_callback ForceBoundsVisible) {
-		super();
-		this.GetCalibrationState = GetCalibrationState;
-		this.GetPlayAreaSize = GetPlayAreaSize;
-		this.GetPlayAreaRect = GetPlayAreaRect;
-		this.ReloadInfo = ReloadInfo;
-		this.SetSceneColor = SetSceneColor;
-		this.GetBoundsColor = GetBoundsColor;
-		this.AreBoundsVisible = AreBoundsVisible;
-		this.ForceBoundsVisible = ForceBoundsVisible;
-	}
-	public VR_IVRChaperone_FnTable(Pointer peer) {
-		super(peer);
-	}
-	public static class ByReference extends VR_IVRChaperone_FnTable implements Structure.ByReference {
-		
-	};
-	public static class ByValue extends VR_IVRChaperone_FnTable implements Structure.ByValue {
-		
-	};
+	 * @param GetCalibrationState C type : GetCalibrationState_callback*<br>
+	 * @param GetPlayAreaSize C type : GetPlayAreaSize_callback*<br>
+	 * @param GetPlayAreaRect C type : GetPlayAreaRect_callback*<br>
+	 * @param ReloadInfo C type : ReloadInfo_callback*<br>
+	 * @param SetSceneColor C type : SetSceneColor_callback*<br>
+	 * @param GetBoundsColor C type : GetBoundsColor_callback*<br>
+	 * @param AreBoundsVisible C type : AreBoundsVisible_callback*<br>
+	 * @param ForceBoundsVisible C type : ForceBoundsVisible_callback*
+	 */
+	public VR_IVRChaperone_FnTable(VR_IVRChaperone_FnTable.GetCalibrationState_callback GetCalibrationState, VR_IVRChaperone_FnTable.GetPlayAreaSize_callback GetPlayAreaSize, VR_IVRChaperone_FnTable.GetPlayAreaRect_callback GetPlayAreaRect, VR_IVRChaperone_FnTable.ReloadInfo_callback ReloadInfo, VR_IVRChaperone_FnTable.SetSceneColor_callback SetSceneColor, VR_IVRChaperone_FnTable.GetBoundsColor_callback GetBoundsColor, VR_IVRChaperone_FnTable.AreBoundsVisible_callback AreBoundsVisible, VR_IVRChaperone_FnTable.ForceBoundsVisible_callback ForceBoundsVisible) {
+		super();
+		this.GetCalibrationState = GetCalibrationState;
+		this.GetPlayAreaSize = GetPlayAreaSize;
+		this.GetPlayAreaRect = GetPlayAreaRect;
+		this.ReloadInfo = ReloadInfo;
+		this.SetSceneColor = SetSceneColor;
+		this.GetBoundsColor = GetBoundsColor;
+		this.AreBoundsVisible = AreBoundsVisible;
+		this.ForceBoundsVisible = ForceBoundsVisible;
+	}
+	public VR_IVRChaperone_FnTable(Pointer peer) {
+		super(peer);
+	}
+	public static class ByReference extends VR_IVRChaperone_FnTable implements Structure.ByReference {
+		
+	};
+	public static class ByValue extends VR_IVRChaperone_FnTable implements Structure.ByValue {
+		
+	};
 }

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно