Keyboard Parse Fix (#467)
* fixed input sending bug not properly releasing keys * updated to ovr 1.12.5 * added disable oculus api button experimental * small refactor and fix float and bool bugs
This commit is contained in:
+161
@@ -59,6 +59,7 @@ typedef uint32_t PropertyTypeTag_t;
|
||||
typedef uint64_t VRActionHandle_t;
|
||||
typedef uint64_t VRActionSetHandle_t;
|
||||
typedef uint64_t VRInputValueHandle_t;
|
||||
typedef uint64_t PathHandle_t;
|
||||
|
||||
|
||||
// OpenVR Constants
|
||||
@@ -204,6 +205,8 @@ static const char * k_pch_SteamVR_CustomOffIconStyle_String = "customOffIconStyl
|
||||
static const char * k_pch_SteamVR_CustomIconForceUpdate_String = "customIconForceUpdate";
|
||||
static const char * k_pch_SteamVR_AllowGlobalActionSetPriority = "globalActionSetPriority";
|
||||
static const char * k_pch_SteamVR_OverlayRenderQuality = "overlayRenderQuality_2";
|
||||
static const char * k_pch_SteamVR_BlockOculusSDKOnOpenVRLaunchOption_Bool = "blockOculusSDKOnOpenVRLaunchOption";
|
||||
static const char * k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = "blockOculusSDKOnAllLaunches";
|
||||
static const char * k_pch_DirectMode_Section = "direct_mode";
|
||||
static const char * k_pch_DirectMode_Enable_Bool = "enable";
|
||||
static const char * k_pch_DirectMode_Count_Int32 = "count";
|
||||
@@ -324,6 +327,7 @@ static const char * k_pch_App_BindingCurrentURLSuffix_String = "CurrentURL";
|
||||
static const char * k_pch_App_BindingPreviousURLSuffix_String = "PreviousURL";
|
||||
static const char * k_pch_App_NeedToUpdateAutosaveSuffix_Bool = "NeedToUpdateAutosave";
|
||||
static const char * k_pch_App_DominantHand_Int32 = "DominantHand";
|
||||
static const char * k_pch_App_BlockOculusSDK_Bool = "blockOculusSDK";
|
||||
static const char * k_pch_Trackers_Section = "trackers";
|
||||
static const char * k_pch_DesktopUI_Section = "DesktopUI";
|
||||
static const char * k_pch_LastKnown_Section = "LastKnown";
|
||||
@@ -351,6 +355,48 @@ static const char * IVRIOBuffer_Version = "IVRIOBuffer_002";
|
||||
static const unsigned long k_ulInvalidSpatialAnchorHandle = 0;
|
||||
static const char * IVRSpatialAnchors_Version = "IVRSpatialAnchors_001";
|
||||
static const char * IVRDebug_Version = "IVRDebug_001";
|
||||
static const unsigned long long k_ulDisplayRedirectContainer = 25769803779;
|
||||
static const char * IVRProperties_Version = "IVRProperties_001";
|
||||
static const char * k_pchPathUserHandRight = "/user/hand/right";
|
||||
static const char * k_pchPathUserHandLeft = "/user/hand/left";
|
||||
static const char * k_pchPathUserHandPrimary = "/user/hand/primary";
|
||||
static const char * k_pchPathUserHandSecondary = "/user/hand/secondary";
|
||||
static const char * k_pchPathUserHead = "/user/head";
|
||||
static const char * k_pchPathUserGamepad = "/user/gamepad";
|
||||
static const char * k_pchPathUserTreadmill = "/user/treadmill";
|
||||
static const char * k_pchPathUserStylus = "/user/stylus";
|
||||
static const char * k_pchPathDevices = "/devices";
|
||||
static const char * k_pchPathDevicePath = "/device_path";
|
||||
static const char * k_pchPathBestAliasPath = "/best_alias_path";
|
||||
static const char * k_pchPathBoundTrackerAliasPath = "/bound_tracker_path";
|
||||
static const char * k_pchPathBoundTrackerRole = "/bound_tracker_role";
|
||||
static const char * k_pchPathPoseRaw = "/pose/raw";
|
||||
static const char * k_pchPathPoseTip = "/pose/tip";
|
||||
static const char * k_pchPathSystemButtonClick = "/input/system/click";
|
||||
static const char * k_pchPathProximity = "/proximity";
|
||||
static const char * k_pchPathControllerTypePrefix = "/controller_type/";
|
||||
static const char * k_pchPathInputProfileSuffix = "/input_profile";
|
||||
static const char * k_pchPathBindingNameSuffix = "/binding_name";
|
||||
static const char * k_pchPathBindingUrlSuffix = "/binding_url";
|
||||
static const char * k_pchPathBindingErrorSuffix = "/binding_error";
|
||||
static const char * k_pchPathActiveActionSets = "/active_action_sets";
|
||||
static const char * k_pchPathComponentUpdates = "/total_component_updates";
|
||||
static const char * k_pchPathUserFootLeft = "/user/foot/left";
|
||||
static const char * k_pchPathUserFootRight = "/user/foot/right";
|
||||
static const char * k_pchPathUserShoulderLeft = "/user/shoulder/left";
|
||||
static const char * k_pchPathUserShoulderRight = "/user/shoulder/right";
|
||||
static const char * k_pchPathUserElbowLeft = "/user/elbow/left";
|
||||
static const char * k_pchPathUserElbowRight = "/user/elbow/right";
|
||||
static const char * k_pchPathUserKneeLeft = "/user/knee/left";
|
||||
static const char * k_pchPathUserKneeRight = "/user/knee/right";
|
||||
static const char * k_pchPathUserWaist = "/user/waist";
|
||||
static const char * k_pchPathUserChest = "/user/chest";
|
||||
static const char * k_pchPathUserCamera = "/user/camera";
|
||||
static const char * k_pchPathUserKeyboard = "/user/keyboard";
|
||||
static const char * k_pchPathClientAppKey = "/client_info/app_key";
|
||||
static const unsigned long long k_ulInvalidPathHandle = 0;
|
||||
static const char * IVRPaths_Version = "IVRPaths_001";
|
||||
static const char * IVRBlockQueue_Version = "IVRBlockQueue_004";
|
||||
|
||||
// OpenVR Enums
|
||||
|
||||
@@ -663,6 +709,7 @@ typedef enum EVRSubmitFlags
|
||||
EVRSubmitFlags_Submit_TextureWithPose = 8,
|
||||
EVRSubmitFlags_Submit_TextureWithDepth = 16,
|
||||
EVRSubmitFlags_Submit_FrameDiscontinuty = 32,
|
||||
EVRSubmitFlags_Submit_VulkanTextureWithArrayData = 64,
|
||||
} EVRSubmitFlags;
|
||||
|
||||
typedef enum EVRState
|
||||
@@ -1666,6 +1713,35 @@ typedef enum EVRDebugError
|
||||
EVRDebugError_VRDebugError_BadParameter = 1,
|
||||
} EVRDebugError;
|
||||
|
||||
typedef enum EPropertyWriteType
|
||||
{
|
||||
EPropertyWriteType_PropertyWrite_Set = 0,
|
||||
EPropertyWriteType_PropertyWrite_Erase = 1,
|
||||
EPropertyWriteType_PropertyWrite_SetError = 2,
|
||||
} EPropertyWriteType;
|
||||
|
||||
typedef enum EBlockQueueError
|
||||
{
|
||||
EBlockQueueError_BlockQueueError_None = 0,
|
||||
EBlockQueueError_BlockQueueError_QueueAlreadyExists = 1,
|
||||
EBlockQueueError_BlockQueueError_QueueNotFound = 2,
|
||||
EBlockQueueError_BlockQueueError_BlockNotAvailable = 3,
|
||||
EBlockQueueError_BlockQueueError_InvalidHandle = 4,
|
||||
EBlockQueueError_BlockQueueError_InvalidParam = 5,
|
||||
EBlockQueueError_BlockQueueError_ParamMismatch = 6,
|
||||
EBlockQueueError_BlockQueueError_InternalError = 7,
|
||||
EBlockQueueError_BlockQueueError_AlreadyInitialized = 8,
|
||||
EBlockQueueError_BlockQueueError_OperationIsServerOnly = 9,
|
||||
EBlockQueueError_BlockQueueError_TooManyConnections = 10,
|
||||
} EBlockQueueError;
|
||||
|
||||
typedef enum EBlockQueueReadType
|
||||
{
|
||||
EBlockQueueReadType_BlockQueueRead_Latest = 0,
|
||||
EBlockQueueReadType_BlockQueueRead_New = 1,
|
||||
EBlockQueueReadType_BlockQueueRead_Next = 2,
|
||||
} EBlockQueueReadType;
|
||||
|
||||
|
||||
// OpenVR typedefs
|
||||
|
||||
@@ -1711,6 +1787,7 @@ typedef EVROverlayError VROverlayError;
|
||||
typedef EVRFirmwareError VRFirmwareError;
|
||||
typedef EVRCompositorError VRCompositorError;
|
||||
typedef EVRScreenshotError VRScreenshotsError;
|
||||
typedef uint64_t PathHandle_t;
|
||||
|
||||
// OpenVR Structs
|
||||
|
||||
@@ -1852,6 +1929,12 @@ typedef struct VRVulkanTextureData_t
|
||||
uint32_t m_nSampleCount;
|
||||
} VRVulkanTextureData_t;
|
||||
|
||||
typedef struct VRVulkanTextureArrayData_t
|
||||
{
|
||||
uint32_t m_unArrayIndex;
|
||||
uint32_t m_unArraySize;
|
||||
} VRVulkanTextureArrayData_t;
|
||||
|
||||
typedef struct D3D12TextureData_t
|
||||
{
|
||||
struct ID3D12Resource * m_pResource; // struct ID3D12Resource *
|
||||
@@ -2380,6 +2463,55 @@ typedef struct COpenVRContext
|
||||
intptr_t m_pVRNotifications; // class vr::IVRNotifications *
|
||||
} COpenVRContext;
|
||||
|
||||
typedef struct PropertyWrite_t
|
||||
{
|
||||
enum ETrackedDeviceProperty prop;
|
||||
enum EPropertyWriteType writeType;
|
||||
enum ETrackedPropertyError eSetError;
|
||||
void * pvBuffer; // void *
|
||||
uint32_t unBufferSize;
|
||||
PropertyTypeTag_t unTag;
|
||||
enum ETrackedPropertyError eError;
|
||||
} PropertyWrite_t;
|
||||
|
||||
typedef struct PropertyRead_t
|
||||
{
|
||||
enum ETrackedDeviceProperty prop;
|
||||
void * pvBuffer; // void *
|
||||
uint32_t unBufferSize;
|
||||
PropertyTypeTag_t unTag;
|
||||
uint32_t unRequiredBufferSize;
|
||||
enum ETrackedPropertyError eError;
|
||||
} PropertyRead_t;
|
||||
|
||||
typedef struct CVRPropertyHelpers
|
||||
{
|
||||
intptr_t m_pProperties; // class vr::IVRProperties *
|
||||
} CVRPropertyHelpers;
|
||||
|
||||
typedef struct PathWrite_t
|
||||
{
|
||||
PathHandle_t ulPath;
|
||||
enum EPropertyWriteType writeType;
|
||||
enum ETrackedPropertyError eSetError;
|
||||
void * pvBuffer; // void *
|
||||
uint32_t unBufferSize;
|
||||
PropertyTypeTag_t unTag;
|
||||
enum ETrackedPropertyError eError;
|
||||
char * pszPath; // const char *
|
||||
} PathWrite_t;
|
||||
|
||||
typedef struct PathRead_t
|
||||
{
|
||||
PathHandle_t ulPath;
|
||||
void * pvBuffer; // void *
|
||||
uint32_t unBufferSize;
|
||||
PropertyTypeTag_t unTag;
|
||||
uint32_t unRequiredBufferSize;
|
||||
enum ETrackedPropertyError eError;
|
||||
char * pszPath; // const char *
|
||||
} PathRead_t;
|
||||
|
||||
|
||||
typedef union
|
||||
{
|
||||
@@ -2881,6 +3013,35 @@ struct VR_IVRDebug_FnTable
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *DriverDebugRequest)(TrackedDeviceIndex_t unDeviceIndex, char * pchRequest, char * pchResponseBuffer, uint32_t unResponseBufferSize);
|
||||
};
|
||||
|
||||
struct VR_IVRProperties_FnTable
|
||||
{
|
||||
ETrackedPropertyError (OPENVR_FNTABLE_CALLTYPE *ReadPropertyBatch)(PropertyContainerHandle_t ulContainerHandle, struct PropertyRead_t * pBatch, uint32_t unBatchEntryCount);
|
||||
ETrackedPropertyError (OPENVR_FNTABLE_CALLTYPE *WritePropertyBatch)(PropertyContainerHandle_t ulContainerHandle, struct PropertyWrite_t * pBatch, uint32_t unBatchEntryCount);
|
||||
char * (OPENVR_FNTABLE_CALLTYPE *GetPropErrorNameFromEnum)(ETrackedPropertyError error);
|
||||
PropertyContainerHandle_t (OPENVR_FNTABLE_CALLTYPE *TrackedDeviceToPropertyContainer)(TrackedDeviceIndex_t nDevice);
|
||||
};
|
||||
|
||||
struct VR_IVRPaths_FnTable
|
||||
{
|
||||
ETrackedPropertyError (OPENVR_FNTABLE_CALLTYPE *ReadPathBatch)(PropertyContainerHandle_t ulRootHandle, struct PathRead_t * pBatch, uint32_t unBatchEntryCount);
|
||||
ETrackedPropertyError (OPENVR_FNTABLE_CALLTYPE *WritePathBatch)(PropertyContainerHandle_t ulRootHandle, struct PathWrite_t * pBatch, uint32_t unBatchEntryCount);
|
||||
ETrackedPropertyError (OPENVR_FNTABLE_CALLTYPE *StringToHandle)(PathHandle_t * pHandle, char * pchPath);
|
||||
ETrackedPropertyError (OPENVR_FNTABLE_CALLTYPE *HandleToString)(PathHandle_t pHandle, char * pchBuffer, uint32_t unBufferSize, uint32_t * punBufferSizeUsed);
|
||||
};
|
||||
|
||||
struct VR_IVRBlockQueue_FnTable
|
||||
{
|
||||
EBlockQueueError (OPENVR_FNTABLE_CALLTYPE *Create)(PropertyContainerHandle_t * pulQueueHandle, char * pchPath, uint32_t unBlockDataSize, uint32_t unBlockHeaderSize, uint32_t unBlockCount);
|
||||
EBlockQueueError (OPENVR_FNTABLE_CALLTYPE *Connect)(PropertyContainerHandle_t * pulQueueHandle, char * pchPath);
|
||||
EBlockQueueError (OPENVR_FNTABLE_CALLTYPE *Destroy)(PropertyContainerHandle_t ulQueueHandle);
|
||||
EBlockQueueError (OPENVR_FNTABLE_CALLTYPE *AcquireWriteOnlyBlock)(PropertyContainerHandle_t ulQueueHandle, PropertyContainerHandle_t * pulBlockHandle, void ** ppvBuffer);
|
||||
EBlockQueueError (OPENVR_FNTABLE_CALLTYPE *ReleaseWriteOnlyBlock)(PropertyContainerHandle_t ulQueueHandle, PropertyContainerHandle_t ulBlockHandle);
|
||||
EBlockQueueError (OPENVR_FNTABLE_CALLTYPE *WaitAndAcquireReadOnlyBlock)(PropertyContainerHandle_t ulQueueHandle, PropertyContainerHandle_t * pulBlockHandle, void ** ppvBuffer, EBlockQueueReadType eReadType, uint32_t unTimeoutMs);
|
||||
EBlockQueueError (OPENVR_FNTABLE_CALLTYPE *AcquireReadOnlyBlock)(PropertyContainerHandle_t ulQueueHandle, PropertyContainerHandle_t * pulBlockHandle, void ** ppvBuffer, EBlockQueueReadType eReadType);
|
||||
EBlockQueueError (OPENVR_FNTABLE_CALLTYPE *ReleaseReadOnlyBlock)(PropertyContainerHandle_t ulQueueHandle, PropertyContainerHandle_t ulBlockHandle);
|
||||
EBlockQueueError (OPENVR_FNTABLE_CALLTYPE *QueueHasReader)(PropertyContainerHandle_t ulQueueHandle, bool * pbHasReaders);
|
||||
};
|
||||
|
||||
|
||||
#if 0
|
||||
// Global entry points
|
||||
|
||||
Reference in New Issue
Block a user