mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-25 07:09:55 -06:00

Rebased @jcm93's refreshinterval branch: https://github.com/jcm93/Ryujinx/tree/refreshinterval The option is placed under System/Hacks. Disabled, it's the default Ryujinx behavior. Enabled, the behavior is shown in the attached screenshots. If a framerate is too high or low, you can adjust the value where you normally toggle VSync on and off. It will also cycle through the default on/off toggles. Also, in order to reduce clutter, I made an adjustment to remove the target FPS and only show the percentage. --------- Co-authored-by: jcm <6864788+jcm93@users.noreply.github.com>
168 lines
4.2 KiB
C#
168 lines
4.2 KiB
C#
using Ryujinx.Ava.UI.ViewModels;
|
|
using Ryujinx.Common.Configuration.Hid;
|
|
|
|
namespace Ryujinx.Ava.UI.Models.Input
|
|
{
|
|
public class HotkeyConfig : BaseModel
|
|
{
|
|
private Key _toggleVSyncMode;
|
|
public Key ToggleVSyncMode
|
|
{
|
|
get => _toggleVSyncMode;
|
|
set
|
|
{
|
|
_toggleVSyncMode = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
private Key _screenshot;
|
|
public Key Screenshot
|
|
{
|
|
get => _screenshot;
|
|
set
|
|
{
|
|
_screenshot = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
private Key _showUI;
|
|
public Key ShowUI
|
|
{
|
|
get => _showUI;
|
|
set
|
|
{
|
|
_showUI = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
private Key _pause;
|
|
public Key Pause
|
|
{
|
|
get => _pause;
|
|
set
|
|
{
|
|
_pause = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
private Key _toggleMute;
|
|
public Key ToggleMute
|
|
{
|
|
get => _toggleMute;
|
|
set
|
|
{
|
|
_toggleMute = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
private Key _resScaleUp;
|
|
public Key ResScaleUp
|
|
{
|
|
get => _resScaleUp;
|
|
set
|
|
{
|
|
_resScaleUp = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
private Key _resScaleDown;
|
|
public Key ResScaleDown
|
|
{
|
|
get => _resScaleDown;
|
|
set
|
|
{
|
|
_resScaleDown = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
private Key _volumeUp;
|
|
public Key VolumeUp
|
|
{
|
|
get => _volumeUp;
|
|
set
|
|
{
|
|
_volumeUp = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
private Key _volumeDown;
|
|
public Key VolumeDown
|
|
{
|
|
get => _volumeDown;
|
|
set
|
|
{
|
|
_volumeDown = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
private Key _customVSyncIntervalIncrement;
|
|
public Key CustomVSyncIntervalIncrement
|
|
{
|
|
get => _customVSyncIntervalIncrement;
|
|
set
|
|
{
|
|
_customVSyncIntervalIncrement = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
private Key _customVSyncIntervalDecrement;
|
|
public Key CustomVSyncIntervalDecrement
|
|
{
|
|
get => _customVSyncIntervalDecrement;
|
|
set
|
|
{
|
|
_customVSyncIntervalDecrement = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public HotkeyConfig(KeyboardHotkeys config)
|
|
{
|
|
if (config != null)
|
|
{
|
|
ToggleVSyncMode = config.ToggleVSyncMode;
|
|
Screenshot = config.Screenshot;
|
|
ShowUI = config.ShowUI;
|
|
Pause = config.Pause;
|
|
ToggleMute = config.ToggleMute;
|
|
ResScaleUp = config.ResScaleUp;
|
|
ResScaleDown = config.ResScaleDown;
|
|
VolumeUp = config.VolumeUp;
|
|
VolumeDown = config.VolumeDown;
|
|
CustomVSyncIntervalIncrement = config.CustomVSyncIntervalIncrement;
|
|
CustomVSyncIntervalDecrement = config.CustomVSyncIntervalDecrement;
|
|
}
|
|
}
|
|
|
|
public KeyboardHotkeys GetConfig()
|
|
{
|
|
var config = new KeyboardHotkeys
|
|
{
|
|
ToggleVSyncMode = ToggleVSyncMode,
|
|
Screenshot = Screenshot,
|
|
ShowUI = ShowUI,
|
|
Pause = Pause,
|
|
ToggleMute = ToggleMute,
|
|
ResScaleUp = ResScaleUp,
|
|
ResScaleDown = ResScaleDown,
|
|
VolumeUp = VolumeUp,
|
|
VolumeDown = VolumeDown,
|
|
CustomVSyncIntervalIncrement = CustomVSyncIntervalIncrement,
|
|
CustomVSyncIntervalDecrement = CustomVSyncIntervalDecrement,
|
|
};
|
|
|
|
return config;
|
|
}
|
|
}
|
|
}
|