예제 #1
0
        private void Render(object stateInfo)
        {
            var state = new SteamController.SteamControllerState();

            if (ActiveController != null)
            {
                state = ActiveController.GetState();
                sensorData.Update(state);
            }

            if (!this.IsDisposed && this.InvokeRequired && sensorData != null)
            {
                try
                {
                    this.Invoke(new Action(() =>
                    {// force a full repaint
                        this.Invalidate();
                    }));
                }
                catch (ObjectDisposedException e) { /* eat the Disposed exception when exiting */ }
            }
        }
예제 #2
0
        public bool GetBasicControl(string inputName)
        {
            if (ActiveController == null)
            {
                return(false);
            }

            inputName = inputName.ToLowerInvariant();

            SteamController.SteamControllerState state = ActiveController.GetState();
            if (state.Buttons == null)
            {
                return(false);
            }

            switch (inputName)
            {
            case "a":
                return(state.Buttons.A);

            case "b":
                return(state.Buttons.B);

            case "x":
                return(state.Buttons.X);

            case "y":
                return(state.Buttons.Y);

            case "leftbumper":
            case "lb":
                return(state.Buttons.LeftBumper);

            case "lefttrigger":
            case "lt":
                return(state.Buttons.LeftTrigger);

            case "rightbumper":
            case "rb":
                return(state.Buttons.RightBumper);

            case "righttrigger":
            case "rt":
                return(state.Buttons.RightTrigger);

            case "leftgrip":
            case "lg":
                return(state.Buttons.LeftGrip);

            case "rightgrip":
            case "rg":
                return(state.Buttons.RightGrip);

            case "start":
                return(state.Buttons.Start);

            case "steam":
                return(state.Buttons.Steam);

            case "select":
                return(state.Buttons.Select);

            case "down":
                return(state.Buttons.Down);

            case "left":
                return(state.Buttons.Left);

            case "right":
                return(state.Buttons.Right);

            case "up":
                return(state.Buttons.Up);

            case "stickclick":
            case "sc":
                return(state.Buttons.StickClick);

            case "leftpadtouch":
            case "lpt":
                return(state.Buttons.LeftPadTouch);

            case "leftpadclick":
            case "lpc":
                return(state.Buttons.LeftPadClick);

            case "rightpadtouch":
            case "rpt":
                return(state.Buttons.RightPadTouch);

            case "rightpadclick":
            case "rpc":
                return(state.Buttons.RightPadClick);

            default:
                return(false);
            }
        }