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]));
        }
Esempio n. 2
0
    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]));
 }
Esempio n. 4
0
 public override bool GetTouchUp(XRButton button)
 {
     if (button == XRButton.Touchpad)
     {
         return(GvrControllerInput.TouchUp);
     }
     else
     {
         return(false);
     }
 }
Esempio n. 5
0
 public override bool GetTouch(XRButton button)
 {
     if (button == XRButton.Touchpad)
     {
         return(OVRInput.Get(OVRInput.Touch.PrimaryTouchpad));
     }
     else
     {
         return(false);
     }
 }
Esempio n. 6
0
        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]));
        }
Esempio n. 9
0
        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);
            }
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
        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);
            }
        }
Esempio n. 12
0
 public abstract bool GetTouchUp(XRButton button);
Esempio n. 13
0
 public abstract bool GetTouchDown(XRButton button);
Esempio n. 14
0
 public abstract bool GetPressUp(XRButton button);
Esempio n. 15
0
 public abstract bool GetPressDown(XRButton button);
Esempio n. 16
0
 public abstract bool GetClick(XRButton button);
Esempio n. 17
0
 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);
 }
Esempio n. 20
0
 public override bool GetClick(XRButton button)
 {
     //GetPressDown would make more sense here, but broke trigger input for some reason
     return(GetPressUp(button));
 }
Esempio n. 21
0
 /// <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));
 }
Esempio n. 22
0
 /// <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));
 }
Esempio n. 23
0
 /// <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));
 }
Esempio n. 24
0
 public override bool GetClick(XRButton button)
 {
     return(GetPressDown(button));
 }
 public override bool GetTouchUp(XRButton button)
 {
     return(false);
 }
Esempio n. 26
0
        /// <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);
        }
Esempio n. 27
0
 public override bool GetTouchUp(XRButton button)
 {
     LogMessage();
     return(false);
 }
Esempio n. 28
0
 public override bool GetClick(XRButton button)
 {
     throw new System.NotImplementedException();
 }
Esempio n. 29
0
        /// <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);
        }
Esempio n. 30
0
 /// <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;