aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Ava/AppHost.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Ava/AppHost.cs')
-rw-r--r--Ryujinx.Ava/AppHost.cs16
1 files changed, 16 insertions, 0 deletions
diff --git a/Ryujinx.Ava/AppHost.cs b/Ryujinx.Ava/AppHost.cs
index c6f2265c..22c4ab5e 100644
--- a/Ryujinx.Ava/AppHost.cs
+++ b/Ryujinx.Ava/AppHost.cs
@@ -53,6 +53,7 @@ namespace Ryujinx.Ava
internal class AppHost
{
private const int CursorHideIdleTime = 8; // Hide Cursor seconds
+ private const float MaxResolutionScale = 4.0f; // Max resolution hotkeys can scale to before wrapping.
private static readonly Cursor InvisibleCursor = new Cursor(StandardCursorType.None);
@@ -976,6 +977,13 @@ namespace Ryujinx.Ava
_parent.ViewModel.Volume = Device.GetVolume();
break;
+ case KeyboardHotkeyState.ResScaleUp:
+ GraphicsConfig.ResScale = GraphicsConfig.ResScale % MaxResolutionScale + 1;
+ break;
+ case KeyboardHotkeyState.ResScaleDown:
+ GraphicsConfig.ResScale =
+ (MaxResolutionScale + GraphicsConfig.ResScale - 2) % MaxResolutionScale + 1;
+ break;
case KeyboardHotkeyState.None:
(_keyboardInterface as AvaloniaKeyboard).Clear();
break;
@@ -1033,6 +1041,14 @@ namespace Ryujinx.Ava
{
state = KeyboardHotkeyState.ToggleMute;
}
+ else if (_keyboardInterface.IsPressed((Key)ConfigurationState.Instance.Hid.Hotkeys.Value.ResScaleUp))
+ {
+ state = KeyboardHotkeyState.ResScaleUp;
+ }
+ else if (_keyboardInterface.IsPressed((Key)ConfigurationState.Instance.Hid.Hotkeys.Value.ResScaleDown))
+ {
+ state = KeyboardHotkeyState.ResScaleDown;
+ }
return state;
}