public void UpdateButtonMapping(ButtonNames button, GamepadButtonAction action) { Settings settings = _settingsRepository.Get(); settings.SetActionForButton(button, action); _settingsRepository.Save(settings); }
private void PerformButtonReleasedAction(ButtonNames button) { GamepadButtonAction mapping = _settingsService.GetButtonMapping(button); switch (mapping) { case GamepadButtonAction.None: break; case GamepadButtonAction.LeftClick: Cursor.Current.LeftMouseButtonUp(); break; case GamepadButtonAction.RightClick: Cursor.Current.RightMouseButtonUp(); break; case GamepadButtonAction.MiddleClick: Cursor.Current.MiddleMouseButtonUp(); break; case GamepadButtonAction.ShowKeyboard: _onScreenKeyboardService.Toggle(); break; case GamepadButtonAction.MediaPause: _inputSimulator.Keyboard.KeyUp(VirtualKeyCode.MEDIA_PLAY_PAUSE); break; case GamepadButtonAction.MediaSkipForwards: _inputSimulator.Keyboard.KeyUp(VirtualKeyCode.MEDIA_NEXT_TRACK); break; case GamepadButtonAction.MediaGoBack: _inputSimulator.Keyboard.KeyUp(VirtualKeyCode.MEDIA_PREV_TRACK); break; case GamepadButtonAction.VolumeUp: _inputSimulator.Keyboard.KeyUp(VirtualKeyCode.VOLUME_UP); break; case GamepadButtonAction.VolumeDown: _inputSimulator.Keyboard.KeyUp(VirtualKeyCode.VOLUME_DOWN); break; case GamepadButtonAction.Mute: _inputSimulator.Keyboard.KeyUp(VirtualKeyCode.VOLUME_MUTE); break; } }
public void SetActionForButton(ButtonNames button, GamepadButtonAction action) { switch (button) { case ButtonNames.DpadUp: Mappings.DpadUpMapping = action; break; case ButtonNames.DpadDown: Mappings.DpadDownMapping = action; break; case ButtonNames.DpadLeft: Mappings.DpadLeftMapping = action; break; case ButtonNames.DpadRight: Mappings.DpadRightMapping = action; break; case ButtonNames.Start: Mappings.StartMapping = action; break; case ButtonNames.Back: Mappings.BackMapping = action; break; case ButtonNames.LeftThumb: Mappings.LeftThumbMapping = action; break; case ButtonNames.RightThumb: Mappings.RightThumbMapping = action; break; case ButtonNames.LeftShoulder: Mappings.LeftShoulderMapping = action; break; case ButtonNames.RightShoulder: Mappings.RightShoulderMapping = action; break; case ButtonNames.A: Mappings.AMapping = action; break; case ButtonNames.B: Mappings.BMapping = action; break; case ButtonNames.X: Mappings.XMapping = action; break; case ButtonNames.Y: Mappings.YMapping = action; break; case ButtonNames.LeftTrigger: Mappings.LeftTriggerMapping = action; break; case ButtonNames.RightTrigger: Mappings.RightTriggerMapping = action; break; default: throw new ArgumentException(); } }