예제 #1
0
        public override GvrControllerButton[] GetFingerButtons(TBInput.Finger finger)
        {
            switch (finger)
            {
            case TBInput.Finger.Thumb:
                return(new GvrControllerButton[] { GvrControllerButton.TouchPadButton });

            default:
                return(null);
            }
        }
예제 #2
0
        public override OVRInput.RawButton[] GetFingerButtons(TBInput.Finger finger)
        {
            switch (finger)
            {
            case TBInput.Finger.Thumb:
                return(new OVRInput.RawButton[] { OVRInput.RawButton.RThumbstick });

            case TBInput.Finger.Index:
                return(new OVRInput.RawButton[] { OVRInput.RawButton.RIndexTrigger });

            default:
                return(null);
            }
        }
예제 #3
0
        public override EVRButtonId[] GetFingerButtons(TBInput.Finger finger)
        {
            switch (finger)
            {
            case TBInput.Finger.Thumb:
                return(new EVRButtonId[] { EVRButtonId.k_EButton_SteamVR_Touchpad });

            case TBInput.Finger.Index:
                return(new EVRButtonId[] { EVRButtonId.k_EButton_SteamVR_Trigger });

            default:
                return(null);
            }
        }
예제 #4
0
        public virtual bool SupportsFinger(TBInput.Finger finger, TBInput.Controller controller)
        {
            if (controller == TBInput.Controller.Active)
            {
                controller = GetActiveController();
            }

            if (GetControllerForType(controller).GetFingerButtons(finger) == null)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
        public override TBWindowsMRInput.Button[] GetFingerButtons(TBInput.Finger finger)
        {
            switch (finger)
            {
            case TBInput.Finger.Thumb:
                return(new TBWindowsMRInput.Button[] { TBWindowsMRInput.Button.Touchpad });

            case TBInput.Finger.Index:
                return(new TBWindowsMRInput.Button[] { TBWindowsMRInput.Button.SelectTrigger });

            case TBInput.Finger.Grip:
                return(new TBWindowsMRInput.Button[] { TBWindowsMRInput.Button.Grip });

            default:
                return(null);
            }
        }
예제 #6
0
        public virtual float GetFinger(TBInput.Finger finger, TBInput.Controller controller)
        {
            if (controller == TBInput.Controller.Active)
            {
                controller = GetActiveController();
            }

            _fingerButtons = GetControllerForType(controller).GetFingerButtons(finger);
            if (_fingerButtons == null)
            {
                return(0);
            }

            float biggestAmount = 0;

            for (int i = 0; i < _fingerButtons.Length; i++)
            {
                float amount = ResolveAxis1D(_fingerButtons[i], controller);
                if (amount < 0.1f)
                {
                    if (ResolveButton(_fingerButtons[i], controller))
                    {
                        amount = 1;
                    }
                    else if (ResolveTouch(_fingerButtons[i], controller))
                    {
                        amount = 0.1f;
                    }
                    else
                    {
                        amount = 0;
                    }
                }

                if (amount > biggestAmount)
                {
                    biggestAmount = amount;
                }
            }

            return(biggestAmount);
        }
예제 #7
0
 public virtual T[] GetFingerButtons(TBInput.Finger finger)
 {
     return(null);
 }