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 */ } } }
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); } }