@Override
    public HmdType getType() {
        if( vrSystemFunctions != null ) {
            Pointer str1 = new Memory(128);
            Pointer str2 = new Memory(128);
            String completeName = "";
            vrSystemFunctions.GetStringTrackedDeviceProperty.apply(JOpenVRLibrary.k_unTrackedDeviceIndex_Hmd,
                                                                   JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ManufacturerName_String,
                                                                   str1, 128, hmdErrorStore);
            if( hmdErrorStore.getValue() == 0 ) completeName += str1.getString(0);
            vrSystemFunctions.GetStringTrackedDeviceProperty.apply(JOpenVRLibrary.k_unTrackedDeviceIndex_Hmd,
                                                                   JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ModelNumber_String,
                                                                   str2, 128, hmdErrorStore);
            if( hmdErrorStore.getValue() == 0 ) completeName += " " + str2.getString(0);
            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("index") ) {
                    return HmdType.VALVE_INDEX;
                } 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;
                }
            }
        } else return HmdType.NONE;
        return HmdType.OTHER;
    }
Initialize the headset camera.
@param allowed <code>true</code> is the use of the headset camera is allowed and <code>false</code> otherwise.
jme3-vr/src/main/java/com/jme3/input/vr/openvr/OpenVR.java