/// <summary> /// Gets the status of a trigger /// </summary> /// <param name="idTrigger"></param> /// <param name="idPad"></param> /// <returns></returns> public float GetHairTrigger(sl.CONTROLS_AXIS1D idTrigger, int idPad) { #if ZED_OCULUS return(OVRInput.Get(ConvertToAxis(idTrigger), (OVRInput.Controller)idPad)); #else return(0); #endif }
/// <summary> /// Returns the state of triggers /// </summary> /// <param name="idTrigger"></param> /// <param name="idPad"></param> /// <returns></returns> public float GetHairTrigger(sl.CONTROLS_AXIS1D idTrigger, int idPad) { #if ZED_STEAM_VR if (!padsAreInit || idPad == -1) { return(0); } return((float)SteamVR_Controller.Input(idPad).GetAxis((EVRButtonId)idTrigger).magnitude); #else return(0); #endif }
/// <summary> /// Converts an axis to a SteamVR enum /// </summary> /// <param name="button"></param> /// <returns></returns> private EVRButtonId ConvertToAxis(sl.CONTROLS_AXIS1D button) { switch (button) { case sl.CONTROLS_AXIS1D.PRIMARY_INDEX_TRIGGER: return(EVRButtonId.k_EButton_SteamVR_Trigger); case sl.CONTROLS_AXIS1D.SECONDARY_INDEX_TRIGGER: return(EVRButtonId.k_EButton_SteamVR_Trigger); case sl.CONTROLS_AXIS1D.PRIMARY_HAND_TRIGGER: return(EVRButtonId.k_EButton_Grip); case sl.CONTROLS_AXIS1D.SECONDARY_HAND_TRIGGER: return(EVRButtonId.k_EButton_Grip); } return(EVRButtonId.k_EButton_Grip); }
/// <summary> /// Converts the standard ID axis to the ID of Oculus /// </summary> /// <param name="button"></param> /// <returns></returns> private OVRInput.Axis1D ConvertToAxis(sl.CONTROLS_AXIS1D button) { switch (button) { case sl.CONTROLS_AXIS1D.PRIMARY_INDEX_TRIGGER: return(OVRInput.Axis1D.PrimaryIndexTrigger); case sl.CONTROLS_AXIS1D.SECONDARY_INDEX_TRIGGER: return(OVRInput.Axis1D.SecondaryIndexTrigger); case sl.CONTROLS_AXIS1D.PRIMARY_HAND_TRIGGER: return(OVRInput.Axis1D.PrimaryHandTrigger); case sl.CONTROLS_AXIS1D.SECONDARY_HAND_TRIGGER: return(OVRInput.Axis1D.SecondaryIndexTrigger); } return(OVRInput.Axis1D.None); }