public override bool GetPress(XRButton button) { switch (button) { case XRButton.Trigger: return(pTriggerAxis >= 0.5f && cTriggerAxis >= 0.5f); case XRButton.Grip: return(pGripAxis >= 0.5f && cGripAxis >= 0.5f); case XRButton.Forward: return(pThumbstickAxis.y >= 0.5f && cThumbstickAxis.y >= 0.5f); case XRButton.Back: return(pThumbstickAxis.y <= -0.5f && cThumbstickAxis.y <= -0.5f); case XRButton.Left: return(pThumbstickAxis.x <= -0.5f && cThumbstickAxis.x <= -0.5f); case XRButton.Right: return(pThumbstickAxis.x >= 0.5f && cThumbstickAxis.x >= 0.5f); } if (!pressMappings.ContainsKey(button)) { return(false); } return(Input.GetKey(pressMappings[button])); }
bool GetButtonInput(InputDevice device, XRButton button) { switch (button) { case XRButton.PrimaryButton: return(GetValue(device, CommonUsages.primaryButton)); case XRButton.PrimaryTouch: return(GetValue(device, CommonUsages.primaryTouch)); case XRButton.SecondaryButton: return(GetValue(device, CommonUsages.secondaryButton)); case XRButton.SecondaryTouch: return(GetValue(device, CommonUsages.secondaryTouch)); case XRButton.GripButton: return(GetValue(device, CommonUsages.gripButton)); case XRButton.TriggerButton: return(GetValue(device, CommonUsages.triggerButton)); case XRButton.MenuButton: return(GetValue(device, CommonUsages.menuButton)); case XRButton.Primary2DAxisClick: return(GetValue(device, CommonUsages.primary2DAxisClick)); case XRButton.Primary2DAxisTouch: return(GetValue(device, CommonUsages.primary2DAxisTouch)); default: return(false); } }
public override bool GetTouch(XRButton button) { if (controller == null || !focusMappings.ContainsKey(button)) { return(false); } return(controller.GetTouch(focusMappings[button])); }
public override bool GetTouchUp(XRButton button) { if (button == XRButton.Touchpad) { return(GvrControllerInput.TouchUp); } else { return(false); } }
public override bool GetTouch(XRButton button) { if (button == XRButton.Touchpad) { return(OVRInput.Get(OVRInput.Touch.PrimaryTouchpad)); } else { return(false); } }
public override bool GetPressUp(XRButton button) { switch (button) { case XRButton.Touchpad: return(GvrControllerInput.ClickButtonUp); case XRButton.Menu: return(GvrControllerInput.AppButtonUp); default: return(false); } }
public override bool GetClick(XRButton button) { switch (button) { case XRButton.Trigger: return(pTriggerAxis < 1f && cTriggerAxis == 1f); case XRButton.Grip: return(pGripAxis < 1f && cGripAxis == 1f); case XRButton.Thumbstick: return(GetPressDown(button)); } return(false); }
public override bool GetTouchUp(XRButton button) { switch (button) { case XRButton.Trigger: return(pTriggerAxis > 0f && cTriggerAxis == 0f); case XRButton.Grip: return(pGripAxis > 0f && cGripAxis == 0f); } if (!touchMappings.ContainsKey(button)) { return(false); } return(Input.GetKeyUp(touchMappings[button])); }
public override bool GetPressUp(XRButton button) { switch (button) { case XRButton.Trigger: return(OVRInput.GetUp(OVRInput.Button.PrimaryIndexTrigger)); case XRButton.Menu: return(OVRInput.GetUp(OVRInput.Button.Back)); case XRButton.Touchpad: return(OVRInput.GetUp(OVRInput.Button.PrimaryTouchpad)); default: return(false); } }
public override bool GetButtonUp(int hand, XRButton button) { if (button == XRButton.Trigger) { return(m_Controllers[hand].GetPressUp(EVRButtonId.k_EButton_SteamVR_Trigger)); } else if (button == XRButton.Menu) { return(m_Controllers[hand].GetPressUp(EVRButtonId.k_EButton_ApplicationMenu)); } else if (button == XRButton.Grip) { return(m_Controllers[hand].GetPressUp(EVRButtonId.k_EButton_Grip)); } return(false); }
public static InputFeatureUsage <bool> GetFeature(XRButton button) { switch (button) { case XRButton.Trigger: return(CommonUsages.triggerButton); case XRButton.Grip: return(CommonUsages.gripButton); case XRButton.Primary: return(CommonUsages.primaryButton); case XRButton.PrimaryTouch: return(CommonUsages.primaryTouch); case XRButton.Secondary: return(CommonUsages.secondaryButton); case XRButton.SecondaryTouch: return(CommonUsages.secondaryTouch); case XRButton.Primary2DAxisClick: return(CommonUsages.primary2DAxisClick); case XRButton.Primary2DAxisTouch: return(CommonUsages.primary2DAxisTouch); default: Debug.LogError("button " + button + " not found"); return(CommonUsages.triggerButton); } }
public abstract bool GetTouchUp(XRButton button);
public abstract bool GetTouchDown(XRButton button);
public abstract bool GetPressUp(XRButton button);
public abstract bool GetPressDown(XRButton button);
public abstract bool GetClick(XRButton button);
public static bool IsPressed(InputDevice device, XRButton button) { device.TryGetFeatureValue(GetFeature(button), out bool value); return(value); }
public override bool GetPressUp(XRButton button) { return(false); }
public override bool GetClick(XRButton button) { return(false); }
public override bool GetClick(XRButton button) { //GetPressDown would make more sense here, but broke trigger input for some reason return(GetPressUp(button)); }
/// <summary> /// Indicates if the button was just released on both controllers. /// </summary> /// <param name="button">The button.</param> /// <returns>Returns true if the button was just released on both controllers.</returns> public bool GetBothButtonsUp(XRButton button) { return(GetButtonUp(button, false) && GetButtonUp(button, true)); }
/// <summary> /// Indicates if the button was released on the left or right controllers. /// </summary> /// <param name="button">The button.</param> /// <returns>Returns true if the button was released on the left or right controller.</returns> public bool GetAnyButtonUp(XRButton button) { return(GetButtonUp(button, false) || GetButtonUp(button, true)); }
/// <summary> /// Indicates if the button was pressed on both controllers. /// </summary> /// <param name="button">The button.</param> /// <returns>Returns true if the button was pressed on both left and right controllers.</returns> public bool GetBothButtonsDown(XRButton button) { return(GetButtonDown(button, false) && GetButtonDown(button, true)); }
public override bool GetClick(XRButton button) { return(GetPressDown(button)); }
public override bool GetTouchUp(XRButton button) { return(false); }
/// <summary> /// Indicates whether a button is pressed. /// </summary> /// <param name="button">The button.</param> /// <param name="left">Left or Right controller.</param> /// <returns>Returns true if pressed otherwise it returns false.</returns> public bool GetButton(XRButton button, bool left) { if (button == XRButton.Menu) { if (_inputVendor == XRVendor.OpenVR) { return(Input.GetButton(left ? "Button 2" : "Button 0")); } else if (_inputVendor == XRVendor.WindowsMR) { return(Input.GetButton(left ? "Button 6" : "Button 7")); } return(Input.GetButton("Button 7")); } else if (button == XRButton.Button1) { return(Input.GetButton("Button 0")); } else if (button == XRButton.Button2) { return(Input.GetButton("Button 1")); } else if (button == XRButton.Button3) { return(Input.GetButton("Button 2")); } else if (button == XRButton.Button4) { return(Input.GetButton("Button 3")); } else if (button == XRButton.Thumbstick) { return(Input.GetButton(left ? "Button 8" : "Button 9")); } else if (button == XRButton.ThumbstickTouch) { if (_inputVendor == XRVendor.WindowsMR) { return(Input.GetButton(left ? "Button 18" : "19")); } else { return(Input.GetButton(left ? "Button 16" : "17")); } } else if (button == XRButton.SecondaryTouchpad) { return(Input.GetButton(left ? "Button 16" : "17")); } else if (button == XRButton.SecondaryTouchpad) { return(Input.GetButton(left ? "Button 18" : "19")); } else if (button == XRButton.Trigger) { return(GetAxis(XRAxis.Trigger, left) > _deadZone); } else if (button == XRButton.Grip) { return(GetAxis(XRAxis.Grip, left) > _deadZone); } else if (button == XRButton.ThumbstickUp) { return(GetAxis(XRAxis.ThumbstickY, left) > _deadZone); } else if (button == XRButton.ThumbstickDown) { return(GetAxis(XRAxis.ThumbstickY, left) < _deadZone * -1.0f); } else if (button == XRButton.ThumbstickLeft) { return(GetAxis(XRAxis.ThumbstickX, left) < _deadZone * -1.0f); } else if (button == XRButton.ThumbstickRight) { return(GetAxis(XRAxis.ThumbstickX, left) > _deadZone); } return(false); }
public override bool GetTouchUp(XRButton button) { LogMessage(); return(false); }
public override bool GetClick(XRButton button) { throw new System.NotImplementedException(); }
/// <summary> /// Indicates whether a button was released. /// </summary> /// <param name="button">The button.</param> /// <param name="left">Left or Right controller.</param> /// <returns>Returns true if pressed otherwise it returns false.</returns> public bool GetButtonUp(XRButton button, bool left) { if (button == XRButton.Menu) { if (_inputVendor == XRVendor.OpenVR) { return(Input.GetButtonUp(left ? "Button 2" : "Button 0")); } else if (_inputVendor == XRVendor.WindowsMR) { return(Input.GetButtonUp(left ? "Button 6" : "Button 7")); } return(Input.GetButtonUp("Button 7")); } else if (button == XRButton.Button1) { return(Input.GetButtonUp("Button 0")); } else if (button == XRButton.Button2) { return(Input.GetButtonUp("Button 1")); } else if (button == XRButton.Button3) { return(Input.GetButtonUp("Button 2")); } else if (button == XRButton.Button4) { return(Input.GetButtonUp("Button 3")); } else if (button == XRButton.Thumbstick) { return(Input.GetButtonUp(left ? "Button 8" : "Button 9")); } else if (button == XRButton.ThumbstickTouch) { if (_inputVendor == XRVendor.WindowsMR) { return(Input.GetButtonUp(left ? "Button 18" : "19")); } else { return(Input.GetButtonUp(left ? "Button 16" : "17")); } } // Simulate other buttons using previous states. var index = 0; for (var i = 0; i < _buttons.Length; i++) { if (_buttons[i] != button) { index += 2; continue; } var prev = _axisStates[left ? index : index + 1]; var now = GetButton(_buttons[i], left); return(!now && prev); } return(false); }
/// <summary> /// Indicates if the button was just released. /// </summary> /// <param name="hand">Which controller, 0 for the left hand and 1 for the right hand.</param> /// <param name="button">The button.</param> /// <returns></returns> public virtual bool GetButtonUp(int hand, XRButton button) => false;