// Stylus. public float GetAxis(StylusAxisInput stylusAxisInput) { SteamVR_Action_Single actionSinglePrimary; SteamVR_Action_Single actionSingleNib; if (_touchStripRejection && _stylusAxisToSteamVrMap.TryGetValue(StylusAxisInput.Primary, out actionSinglePrimary) && _stylusAxisToSteamVrMap.TryGetValue(StylusAxisInput.Tip, out actionSingleNib)) { UpdateStateMachine(actionSinglePrimary.GetAxis(InputSource), actionSingleNib.GetAxis(InputSource), _touchpadValue.GetAxis(InputSource).x, _touchpadValue.GetAxis(InputSource).y); } if (stylusAxisInput == StylusAxisInput.TrackpadX && GetRejectionStatus(stylusAxisInput)) { return(_touchpadValue.GetAxis(InputSource).x); } if (stylusAxisInput == StylusAxisInput.TrackpadY && GetRejectionStatus(stylusAxisInput)) { return(_touchpadValue.GetAxis(InputSource).y); } SteamVR_Action_Single actionSingle; if (_stylusAxisToSteamVrMap.TryGetValue(stylusAxisInput, out actionSingle) && GetRejectionStatus(stylusAxisInput)) { return(actionSingle.GetAxis(InputSource)); } return(0); }
// Debug touchstrip rejection. private bool GetRejectionStatus(StylusAxisInput axisType) { if (!_touchStripRejection) { return(true); } if (axisType == StylusAxisInput.Grip) { return(true); } switch (_rejectionState) { case EButtonRejectionState.Neither: return(false); case EButtonRejectionState.Primary_Analog_Only: if (axisType == StylusAxisInput.Primary || axisType == StylusAxisInput.Tip) { return(true); } return(false); case EButtonRejectionState.TouchStrip_Delay: return(false); case EButtonRejectionState.TouchStrip_Only: if (axisType == StylusAxisInput.TrackpadX || axisType == StylusAxisInput.TrackpadY) { return(true); } return(false); case EButtonRejectionState.TouchStrip_Only_Lock: if (axisType == StylusAxisInput.TrackpadX || axisType == StylusAxisInput.TrackpadY) { return(true); } return(false); case EButtonRejectionState.TouchStrip_After_Delay: return(false); } return(true); }
private string GetAxisString(StylusAxisInput stylusAxisInput) { var mapToUse = _axesToJoystickMapRight; if (StylusHand == Handedness.NonDominant) { mapToUse = _axesToJoystickMapLeft; } string native; if (mapToUse.TryGetValue(stylusAxisInput, out native)) { return(native); } else { Debug.LogErrorFormat("No native Unity axis could be found for {0}", stylusAxisInput); return(null); } }
public float GetAxis(StylusAxisInput stylusAxisInput) { var native = GetAxisString(stylusAxisInput); return(Input.GetAxisRaw(native)); }
public AxisValueProvider(TrackedDeviceProvider trackedDeviceProvider, StylusAxisInput stylusAxisInput) { TrackedDeviceProvider = trackedDeviceProvider; StylusAxisInput = stylusAxisInput; }
public float GetAxis(StylusAxisInput stylusAxisInput) { return(Controller.GetAxis(stylusAxisInput)); }