mirror of
https://git.743378673.xyz/MeloNX/MeloNX.git
synced 2025-05-14 00:35:16 +00:00
This reverts commit 49b37550cae6b3c69f59a9c7a44b17e3c12a813b. This currently breaks the GTK GUI.
47 lines
1.3 KiB
C#
47 lines
1.3 KiB
C#
using Avalonia.Data.Converters;
|
|
using Ryujinx.Common.Configuration.Hid;
|
|
using Ryujinx.Common.Configuration.Hid.Controller;
|
|
using System;
|
|
using System.Globalization;
|
|
|
|
namespace Ryujinx.Ava.UI.Helpers
|
|
{
|
|
internal class KeyValueConverter : IValueConverter
|
|
{
|
|
public static KeyValueConverter Instance = new();
|
|
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
if (value == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return value.ToString();
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
object key = null;
|
|
|
|
if (value != null)
|
|
{
|
|
if (targetType == typeof(Key))
|
|
{
|
|
key = Enum.Parse<Key>(value.ToString());
|
|
}
|
|
else if (targetType == typeof(GamepadInputId))
|
|
{
|
|
key = Enum.Parse<GamepadInputId>(value.ToString());
|
|
}
|
|
else if (targetType == typeof(StickInputId))
|
|
{
|
|
key = Enum.Parse<StickInputId>(value.ToString());
|
|
}
|
|
}
|
|
|
|
return key;
|
|
}
|
|
}
|
|
}
|