| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- 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;
- }
- }
- }
|