forked from Mirror/Ryujinx
Implement rotate stick 90 degrees clockwise (#3084)
* Implement swapping sticks * Rotate 90 degrees clockwise Co-authored-by: matesic.darko@gmail.com <Darkman1979>
This commit is contained in:
parent
69b05f9918
commit
bed516bfda
5 changed files with 45 additions and 0 deletions
|
@ -5,6 +5,7 @@
|
||||||
public Stick Joystick { get; set; }
|
public Stick Joystick { get; set; }
|
||||||
public bool InvertStickX { get; set; }
|
public bool InvertStickX { get; set; }
|
||||||
public bool InvertStickY { get; set; }
|
public bool InvertStickY { get; set; }
|
||||||
|
public bool Rotate90CW { get; set; }
|
||||||
public Button StickButton { get; set; }
|
public Button StickButton { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -220,6 +220,7 @@ namespace Ryujinx.Headless.SDL2
|
||||||
StickButton = ConfigGamepadInputId.LeftStick,
|
StickButton = ConfigGamepadInputId.LeftStick,
|
||||||
InvertStickX = false,
|
InvertStickX = false,
|
||||||
InvertStickY = false,
|
InvertStickY = false,
|
||||||
|
Rotate90CW = false,
|
||||||
},
|
},
|
||||||
|
|
||||||
RightJoycon = new RightJoyconCommonConfig<ConfigGamepadInputId>
|
RightJoycon = new RightJoyconCommonConfig<ConfigGamepadInputId>
|
||||||
|
@ -241,6 +242,7 @@ namespace Ryujinx.Headless.SDL2
|
||||||
StickButton = ConfigGamepadInputId.RightStick,
|
StickButton = ConfigGamepadInputId.RightStick,
|
||||||
InvertStickX = false,
|
InvertStickX = false,
|
||||||
InvertStickY = false,
|
InvertStickY = false,
|
||||||
|
Rotate90CW = false,
|
||||||
},
|
},
|
||||||
|
|
||||||
Motion = new StandardMotionConfigController
|
Motion = new StandardMotionConfigController
|
||||||
|
|
|
@ -350,6 +350,14 @@ namespace Ryujinx.Input.SDL2
|
||||||
{
|
{
|
||||||
resultY = -resultY;
|
resultY = -resultY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((inputId == StickInputId.Left && _configuration.LeftJoyconStick.Rotate90CW) ||
|
||||||
|
(inputId == StickInputId.Right && _configuration.RightJoyconStick.Rotate90CW))
|
||||||
|
{
|
||||||
|
float temp = resultX;
|
||||||
|
resultX = resultY;
|
||||||
|
resultY = -temp;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (resultX, resultY);
|
return (resultX, resultY);
|
||||||
|
|
|
@ -73,6 +73,7 @@ namespace Ryujinx.Ui.Windows
|
||||||
[GUI] ToggleButton _lStick;
|
[GUI] ToggleButton _lStick;
|
||||||
[GUI] CheckButton _invertLStickX;
|
[GUI] CheckButton _invertLStickX;
|
||||||
[GUI] CheckButton _invertLStickY;
|
[GUI] CheckButton _invertLStickY;
|
||||||
|
[GUI] CheckButton _rotateL90CW;
|
||||||
[GUI] ToggleButton _lStickUp;
|
[GUI] ToggleButton _lStickUp;
|
||||||
[GUI] ToggleButton _lStickDown;
|
[GUI] ToggleButton _lStickDown;
|
||||||
[GUI] ToggleButton _lStickLeft;
|
[GUI] ToggleButton _lStickLeft;
|
||||||
|
@ -88,6 +89,7 @@ namespace Ryujinx.Ui.Windows
|
||||||
[GUI] ToggleButton _rStick;
|
[GUI] ToggleButton _rStick;
|
||||||
[GUI] CheckButton _invertRStickX;
|
[GUI] CheckButton _invertRStickX;
|
||||||
[GUI] CheckButton _invertRStickY;
|
[GUI] CheckButton _invertRStickY;
|
||||||
|
[GUI] CheckButton _rotateR90CW;
|
||||||
[GUI] ToggleButton _rStickUp;
|
[GUI] ToggleButton _rStickUp;
|
||||||
[GUI] ToggleButton _rStickDown;
|
[GUI] ToggleButton _rStickDown;
|
||||||
[GUI] ToggleButton _rStickLeft;
|
[GUI] ToggleButton _rStickLeft;
|
||||||
|
@ -490,6 +492,7 @@ namespace Ryujinx.Ui.Windows
|
||||||
_lStick.Label = controllerConfig.LeftJoyconStick.Joystick.ToString();
|
_lStick.Label = controllerConfig.LeftJoyconStick.Joystick.ToString();
|
||||||
_invertLStickX.Active = controllerConfig.LeftJoyconStick.InvertStickX;
|
_invertLStickX.Active = controllerConfig.LeftJoyconStick.InvertStickX;
|
||||||
_invertLStickY.Active = controllerConfig.LeftJoyconStick.InvertStickY;
|
_invertLStickY.Active = controllerConfig.LeftJoyconStick.InvertStickY;
|
||||||
|
_rotateL90CW.Active = controllerConfig.LeftJoyconStick.Rotate90CW;
|
||||||
_lStickButton.Label = controllerConfig.LeftJoyconStick.StickButton.ToString();
|
_lStickButton.Label = controllerConfig.LeftJoyconStick.StickButton.ToString();
|
||||||
_dpadUp.Label = controllerConfig.LeftJoycon.DpadUp.ToString();
|
_dpadUp.Label = controllerConfig.LeftJoycon.DpadUp.ToString();
|
||||||
_dpadDown.Label = controllerConfig.LeftJoycon.DpadDown.ToString();
|
_dpadDown.Label = controllerConfig.LeftJoycon.DpadDown.ToString();
|
||||||
|
@ -503,6 +506,7 @@ namespace Ryujinx.Ui.Windows
|
||||||
_rStick.Label = controllerConfig.RightJoyconStick.Joystick.ToString();
|
_rStick.Label = controllerConfig.RightJoyconStick.Joystick.ToString();
|
||||||
_invertRStickX.Active = controllerConfig.RightJoyconStick.InvertStickX;
|
_invertRStickX.Active = controllerConfig.RightJoyconStick.InvertStickX;
|
||||||
_invertRStickY.Active = controllerConfig.RightJoyconStick.InvertStickY;
|
_invertRStickY.Active = controllerConfig.RightJoyconStick.InvertStickY;
|
||||||
|
_rotateR90CW.Active = controllerConfig.RightJoyconStick.Rotate90CW;
|
||||||
_rStickButton.Label = controllerConfig.RightJoyconStick.StickButton.ToString();
|
_rStickButton.Label = controllerConfig.RightJoyconStick.StickButton.ToString();
|
||||||
_a.Label = controllerConfig.RightJoycon.ButtonA.ToString();
|
_a.Label = controllerConfig.RightJoycon.ButtonA.ToString();
|
||||||
_b.Label = controllerConfig.RightJoycon.ButtonB.ToString();
|
_b.Label = controllerConfig.RightJoycon.ButtonB.ToString();
|
||||||
|
@ -718,6 +722,7 @@ namespace Ryujinx.Ui.Windows
|
||||||
Joystick = lStick,
|
Joystick = lStick,
|
||||||
InvertStickY = _invertLStickY.Active,
|
InvertStickY = _invertLStickY.Active,
|
||||||
StickButton = lStickButton,
|
StickButton = lStickButton,
|
||||||
|
Rotate90CW = _rotateL90CW.Active,
|
||||||
},
|
},
|
||||||
RightJoycon = new RightJoyconCommonConfig<ConfigGamepadInputId>
|
RightJoycon = new RightJoyconCommonConfig<ConfigGamepadInputId>
|
||||||
{
|
{
|
||||||
|
@ -737,6 +742,7 @@ namespace Ryujinx.Ui.Windows
|
||||||
Joystick = rStick,
|
Joystick = rStick,
|
||||||
InvertStickY = _invertRStickY.Active,
|
InvertStickY = _invertRStickY.Active,
|
||||||
StickButton = rStickButton,
|
StickButton = rStickButton,
|
||||||
|
Rotate90CW = _rotateR90CW.Active,
|
||||||
},
|
},
|
||||||
Motion = motionConfig,
|
Motion = motionConfig,
|
||||||
Rumble = new RumbleConfigController
|
Rumble = new RumbleConfigController
|
||||||
|
@ -1056,6 +1062,7 @@ namespace Ryujinx.Ui.Windows
|
||||||
StickButton = ConfigGamepadInputId.LeftStick,
|
StickButton = ConfigGamepadInputId.LeftStick,
|
||||||
InvertStickX = false,
|
InvertStickX = false,
|
||||||
InvertStickY = false,
|
InvertStickY = false,
|
||||||
|
Rotate90CW = false,
|
||||||
},
|
},
|
||||||
|
|
||||||
RightJoycon = new RightJoyconCommonConfig<ConfigGamepadInputId>
|
RightJoycon = new RightJoyconCommonConfig<ConfigGamepadInputId>
|
||||||
|
@ -1077,6 +1084,7 @@ namespace Ryujinx.Ui.Windows
|
||||||
StickButton = ConfigGamepadInputId.RightStick,
|
StickButton = ConfigGamepadInputId.RightStick,
|
||||||
InvertStickX = false,
|
InvertStickX = false,
|
||||||
InvertStickY = false,
|
InvertStickY = false,
|
||||||
|
Rotate90CW = false,
|
||||||
},
|
},
|
||||||
|
|
||||||
Motion = new StandardMotionConfigController
|
Motion = new StandardMotionConfigController
|
||||||
|
|
|
@ -740,6 +740,19 @@
|
||||||
<property name="top_attach">1</property>
|
<property name="top_attach">1</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCheckButton" id="_rotateL90CW">
|
||||||
|
<property name="label" translatable="yes">Rotate 90° Clockwise</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
<property name="draw_indicator">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">2</property>
|
||||||
|
<property name="top_attach">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
@ -1697,6 +1710,19 @@
|
||||||
<property name="top_attach">1</property>
|
<property name="top_attach">1</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCheckButton" id="_rotateR90CW">
|
||||||
|
<property name="label" translatable="yes">Rotate 90° Clockwise</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
<property name="draw_indicator">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">2</property>
|
||||||
|
<property name="top_attach">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
|
Loading…
Reference in a new issue