Prox sensor re-integration (#220)

* added arbitrary orientation change

* removed commented code

* updated to OVR 1.4.18

* changed two instances using new to init via array

* moved prox sensor action to haptic instead of Misc

* fixed json file, added prox sensor back for mic mute/un-mute

* added proximity sensor to audio and haptic chaperone warnings

* fixed fall-through behavior

* removed bad prox code
This commit is contained in:
ykeara
2019-06-14 12:33:56 -05:00
committed by GitHub
parent 8e34e9edca
commit b473f4d7db
32 changed files with 419 additions and 130 deletions
+57 -18
View File
@@ -15,8 +15,8 @@
namespace vr
{
static const uint32_t k_nSteamVRVersionMajor = 1;
static const uint32_t k_nSteamVRVersionMinor = 3;
static const uint32_t k_nSteamVRVersionBuild = 20;
static const uint32_t k_nSteamVRVersionMinor = 4;
static const uint32_t k_nSteamVRVersionBuild = 18;
} // namespace vr
// vrtypes.h
@@ -207,7 +207,7 @@ enum ETrackedControllerRole
TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand
TrackedControllerRole_OptOut = 3, // Tracked device is opting out of left/right hand selection
TrackedControllerRole_Treadmill = 4, // Tracked device is a treadmill
TrackedControllerRole_Max = 4
TrackedControllerRole_Max = 5
};
@@ -430,6 +430,11 @@ enum ETrackedDeviceProperty
Prop_CameraDistortionCoefficients_Float_Array = 2073, // Prop_NumCameras_Int32-sized array of double[vr::k_unMaxDistortionFunctionParameters] (max size is vr::k_unMaxCameras)
Prop_ExpectedControllerType_String = 2074,
Prop_DisplayAvailableFrameRates_Float_Array = 2080, // populated by compositor from actual EDID list when available from GPU driver
Prop_DisplaySupportsMultipleFramerates_Bool = 2081, // if this is true but Prop_DisplayAvailableFrameRates_Float_Array is empty, explain to user
Prop_DashboardLayoutPathName_String = 2090,
// Driver requested mura correction properties
Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200,
Prop_DriverRequestedMuraFeather_InnerLeft_Int32 = 2201,
@@ -490,7 +495,7 @@ enum ETrackedDeviceProperty
// Properties that are set internally based on other information provided by drivers
Prop_ControllerType_String = 7000,
Prop_LegacyInputProfile_String = 7001,
//Prop_LegacyInputProfile_String = 7001, // This is no longer used. See "legacy_binding" in the input profile instead.
Prop_ControllerHandSelectionPriority_Int32 = 7002, // Allows hand assignments to prefer some controllers over others. High numbers are selected over low numbers
// Vendors are free to expose private debug data in this reserved region
@@ -734,12 +739,14 @@ enum EVREventType
VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down
VREvent_RestartRequested = 705, // A driver or other component wants the user to restart SteamVR
VREvent_ChaperoneDataHasChanged = 800, // Sent when the process needs to call VRChaperone()->ReloadInfo()
VREvent_ChaperoneDataHasChanged = 800, // this will never happen with the new chaperone system
VREvent_ChaperoneUniverseHasChanged = 801,
VREvent_ChaperoneTempDataHasChanged = 802,
VREvent_ChaperoneTempDataHasChanged = 802, // this will never happen with the new chaperone system
VREvent_ChaperoneSettingsHaveChanged = 803,
VREvent_SeatedZeroPoseReset = 804,
VREvent_ChaperoneFlushCache = 805, // Sent when the process needs to reload any cached data it retrieved from VRChaperone()
VREvent_ChaperoneRoomSetupStarting = 806, // Triggered by CVRChaperoneClient::RoomSetupStarting
VREvent_ChaperoneRoomSetupFinished = 807, // Triggered by CVRChaperoneClient::CommitWorkingCopy
VREvent_AudioSettingsHaveChanged = 820,
@@ -794,6 +801,7 @@ enum EVREventType
VREvent_Compositor_HDCPError = 1414, // data is hdcpError
VREvent_Compositor_ApplicationNotResponding = 1415,
VREvent_Compositor_ApplicationResumed = 1416,
VREvent_Compositor_OutOfVideoMemory = 1417,
VREvent_TrackedCamera_StartVideoStream = 1500,
VREvent_TrackedCamera_StopVideoStream = 1501,
@@ -871,9 +879,9 @@ enum EVRButtonId
k_EButton_Dashboard_Back = k_EButton_Grip,
k_EButton_Knuckles_A = k_EButton_Grip,
k_EButton_Knuckles_B = k_EButton_ApplicationMenu,
k_EButton_Knuckles_JoyStick = k_EButton_Axis3,
k_EButton_IndexController_A = k_EButton_Grip,
k_EButton_IndexController_B = k_EButton_ApplicationMenu,
k_EButton_IndexController_JoyStick = k_EButton_Axis3,
k_EButton_Max = 64
};
@@ -1099,7 +1107,7 @@ enum EShowUIType
{
ShowUI_ControllerBinding = 0,
ShowUI_ManageTrackers = 1,
ShowUI_QuickStart = 2,
// ShowUI_QuickStart = 2, // Deprecated
ShowUI_Pairing = 3,
ShowUI_Settings = 4,
};
@@ -1428,7 +1436,7 @@ enum EVRSkeletalTrackingLevel
// body part location can be measured directly but with fewer degrees of freedom than the actual body
// part. Certain body part positions may be unmeasured by the device and estimated from other input data.
// E.g. Knuckles, gloves that only measure finger curl
// E.g. Index Controllers, gloves that only measure finger curl
VRSkeletalTracking_Partial,
// Body part location can be measured directly throughout the entire range of motion of the body part.
@@ -1505,6 +1513,7 @@ enum EVRInitError
VRInitError_Init_VRWebHelperStartupFailed = 141,
VRInitError_Init_TrackerManagerInitFailed = 142,
VRInitError_Init_AlreadyRunning = 143,
VRInitError_Init_FailedForVrMonitor = 144,
VRInitError_Driver_Failed = 200,
VRInitError_Driver_Unknown = 201,
@@ -1519,6 +1528,7 @@ enum EVRInitError
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
VRInitError_Driver_HmdDisplayMirrored = 212,
VRInitError_Driver_HmdDisplayNotFoundLaptop = 213,
VRInitError_IPC_ServerInitFailed = 300,
VRInitError_IPC_ConnectFailed = 301,
@@ -2523,6 +2533,7 @@ namespace vr
static const char * const k_pch_SteamVR_ForceWindows32bitVRMonitor = "forceWindows32BitVRMonitor";
static const char * const k_pch_SteamVR_DebugInput = "debugInput";
static const char * const k_pch_SteamVR_DebugInputBinding = "debugInputBinding";
static const char * const k_pch_SteamVR_DoNotFadeToGrid = "doNotFadeToGrid";
static const char * const k_pch_SteamVR_InputBindingUIBlock = "inputBindingUI";
static const char * const k_pch_SteamVR_RenderCameraMode = "renderCameraMode";
static const char * const k_pch_SteamVR_EnableSharedResourceJournaling = "enableSharedResourceJournaling";
@@ -2551,6 +2562,7 @@ namespace vr
static const char * const k_pch_Lighthouse_EnableBluetooth_Bool = "enableBluetooth";
static const char * const k_pch_Lighthouse_PowerManagedBaseStations_String = "PowerManagedBaseStations";
static const char * const k_pch_Lighthouse_PowerManagedBaseStations2_String = "PowerManagedBaseStations2";
static const char * const k_pch_Lighthouse_InactivityTimeoutForBaseStations_Int32 = "InactivityTimeoutForBaseStations";
static const char * const k_pch_Lighthouse_EnableImuFallback_Bool = "enableImuFallback";
static const char * const k_pch_Lighthouse_NewPairing_Bool = "newPairing";
@@ -2600,7 +2612,7 @@ namespace vr
static const char * const k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore";
static const char * const k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit";
static const char * const k_pch_Perf_TestData_Float = "perfTestData";
static const char * const k_pch_Perf_LinuxGPUProfiling_Bool = "linuxGPUProfiling";
static const char * const k_pch_Perf_GPUProfiling_Bool = "GPUProfiling";
//-----------------------------------------------------------------------------
// collision bounds keys
@@ -2867,6 +2879,11 @@ public:
/** Hides the chaperone data in the working set to preview in the compositor (if it was visible).*/
virtual void HideWorkingSetPreview() = 0;
/** Fire an event that the tracking system can use to know room setup is about to begin. This lets the tracking
* system make any last minute adjustments that should be incorporated into the new setup. If the user is adjusting
* live in HMD using a tweak tool, keep in mind that calling this might cause the user to see the room jump. */
virtual void RoomSetupStarting() = 0;
};
static const char * const IVRChaperoneSetup_Version = "IVRChaperoneSetup_006";
@@ -3201,6 +3218,13 @@ public:
* If you want to know if motion smoothing actually triggered due to a late frame, check Compositor_FrameTiming
* m_nReprojectionFlags & VRCompositor_ReprojectionMotion instead. */
virtual bool IsMotionSmoothingEnabled() = 0;
/** Indicates whether or not motion smoothing is supported by the current hardware. */
virtual bool IsMotionSmoothingSupported() = 0;
/** Indicates whether or not the current scene focus app is currently loading. This is inferred from its use of FadeGrid to
* explicitly fade to the compositor to cover up the fact that it cannot render at a sustained full framerate during this time. */
virtual bool IsCurrentSceneFocusAppLoading() = 0;
};
static const char * const IVRCompositor_Version = "IVRCompositor_022";
@@ -4296,6 +4320,16 @@ namespace vr
VRFingerSplay_Count
};
enum EVRSummaryType
{
// The skeletal summary data will match the animated bone transforms for the action.
VRSummaryType_FromAnimation = 0,
// The skeletal summary data will include unprocessed data directly from the device when available.
// This data is generally less latent than the data that is computed from the animations.
VRSummaryType_FromDevice = 1,
};
enum EVRInputFilterCancelType
{
VRInputFilterCancel_Timers = 0,
@@ -4448,8 +4482,13 @@ namespace vr
* action is something other than analog */
virtual EVRInputError GetAnalogActionData( VRActionHandle_t action, InputAnalogActionData_t *pActionData, uint32_t unActionDataSize, VRInputValueHandle_t ulRestrictToDevice ) = 0;
/** Reads the state of a pose action given its handle. */
virtual EVRInputError GetPoseActionData( VRActionHandle_t action, ETrackingUniverseOrigin eOrigin, float fPredictedSecondsFromNow, InputPoseActionData_t *pActionData, uint32_t unActionDataSize, VRInputValueHandle_t ulRestrictToDevice ) = 0;
/** Reads the state of a pose action given its handle for the number of seconds relative to now. This
* will generally be called with negative times from the fUpdateTime fields in other actions. */
virtual EVRInputError GetPoseActionDataRelativeToNow( VRActionHandle_t action, ETrackingUniverseOrigin eOrigin, float fPredictedSecondsFromNow, InputPoseActionData_t *pActionData, uint32_t unActionDataSize, VRInputValueHandle_t ulRestrictToDevice ) = 0;
/** Reads the state of a pose action given its handle. The returned values will match the values returned
* by the last call to IVRCompositor::WaitGetPoses(). */
virtual EVRInputError GetPoseActionDataForNextFrame( VRActionHandle_t action, ETrackingUniverseOrigin eOrigin, InputPoseActionData_t *pActionData, uint32_t unActionDataSize, VRInputValueHandle_t ulRestrictToDevice ) = 0;
/** Reads the state of a skeletal action given its handle. */
virtual EVRInputError GetSkeletalActionData( VRActionHandle_t action, InputSkeletalActionData_t *pActionData, uint32_t unActionDataSize ) = 0;
@@ -4477,7 +4516,7 @@ namespace vr
virtual EVRInputError GetSkeletalBoneData( VRActionHandle_t action, EVRSkeletalTransformSpace eTransformSpace, EVRSkeletalMotionRange eMotionRange, VR_ARRAY_COUNT( unTransformArrayCount ) VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount ) = 0;
/** Reads summary information about the current pose of the skeleton associated with the given action. */
virtual EVRInputError GetSkeletalSummaryData( VRActionHandle_t action, VRSkeletalSummaryData_t * pSkeletalSummaryData ) = 0;
virtual EVRInputError GetSkeletalSummaryData( VRActionHandle_t action, EVRSummaryType eSummaryType, VRSkeletalSummaryData_t * pSkeletalSummaryData ) = 0;
/** Reads the state of the skeletal bone data in a compressed form that is suitable for
* sending over the network. The required buffer size will never exceed ( sizeof(VR_BoneTransform_t)*boneCount + 2).
@@ -4514,7 +4553,7 @@ namespace vr
virtual bool IsUsingLegacyInput() = 0;
};
static const char * const IVRInput_Version = "IVRInput_005";
static const char * const IVRInput_Version = "IVRInput_006";
} // namespace vr
@@ -4656,8 +4695,8 @@ namespace vr
VR_INTERFACE bool VR_CALLTYPE VR_IsRuntimeInstalled();
/** Returns where the OpenVR runtime is installed. */
VR_INTERFACE const char *VR_CALLTYPE VR_RuntimePath();
VR_INTERFACE bool VR_GetRuntimePath( VR_OUT_STRING() char *pchPathBuffer, uint32_t unBufferSize, uint32_t *punRequiredBufferSize );
/** Returns the name of the enum value for an EVRInitError. This function may be called outside of VR_Init()/VR_Shutdown(). */
VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsSymbol( EVRInitError error );