Use switches

This commit is contained in:
Isaac Marovitz 2024-04-15 19:07:33 -04:00
commit f2fb9f313c
No known key found for this signature in database
GPG key ID: 97250B2B09A132E1
2 changed files with 66 additions and 64 deletions

View file

@ -121,34 +121,35 @@ namespace Ryujinx.UI.Helper
{ {
string keyString = ""; string keyString = "";
if (button.Type == ButtonType.Key) switch (button.Type)
{ {
var key = button.AsHidType<Key>(); case ButtonType.Key:
var key = button.AsHidType<Key>();
if (!_keysMap.TryGetValue(button.AsHidType<Key>(), out keyString)) if (!_keysMap.TryGetValue(button.AsHidType<Key>(), out keyString))
{ {
keyString = key.ToString(); keyString = key.ToString();
} }
}
if (button.Type == ButtonType.GamepadButtonInputId) break;
{ case ButtonType.GamepadButtonInputId:
var gamepadButton = button.AsHidType<GamepadInputId>(); var gamepadButton = button.AsHidType<GamepadInputId>();
if (!_gamepadInputIdMap.TryGetValue(button.AsHidType<GamepadInputId>(), out keyString)) if (!_gamepadInputIdMap.TryGetValue(button.AsHidType<GamepadInputId>(), out keyString))
{ {
keyString = gamepadButton.ToString(); keyString = gamepadButton.ToString();
} }
}
if (button.Type == ButtonType.StickId) break;
{ case ButtonType.StickId:
var stickInput = button.AsHidType<StickInputId>(); var stickInput = button.AsHidType<StickInputId>();
if (!_stickInputIdMap.TryGetValue(button.AsHidType<StickInputId>(), out keyString)) if (!_stickInputIdMap.TryGetValue(button.AsHidType<StickInputId>(), out keyString))
{ {
keyString = stickInput.ToString(); keyString = stickInput.ToString();
} }
break;
} }
return keyString; return keyString;

View file

@ -123,53 +123,54 @@ namespace Ryujinx.Ava.UI.Helpers
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{ {
string keyString = ""; string keyString = "";
LocaleKeys localeKey;
if (value is Key key) switch (value)
{ {
if (_keysMap.TryGetValue(key, out LocaleKeys localeKey)) case Key key:
{ if (_keysMap.TryGetValue(key, out localeKey))
if (OperatingSystem.IsMacOS())
{ {
localeKey = localeKey switch if (OperatingSystem.IsMacOS())
{ {
LocaleKeys.KeyControlLeft => LocaleKeys.KeyMacControlLeft, localeKey = localeKey switch
LocaleKeys.KeyControlRight => LocaleKeys.KeyMacControlRight, {
LocaleKeys.KeyAltLeft => LocaleKeys.KeyMacAltLeft, LocaleKeys.KeyControlLeft => LocaleKeys.KeyMacControlLeft,
LocaleKeys.KeyAltRight => LocaleKeys.KeyMacAltRight, LocaleKeys.KeyControlRight => LocaleKeys.KeyMacControlRight,
LocaleKeys.KeyWinLeft => LocaleKeys.KeyMacWinLeft, LocaleKeys.KeyAltLeft => LocaleKeys.KeyMacAltLeft,
LocaleKeys.KeyWinRight => LocaleKeys.KeyMacWinRight, LocaleKeys.KeyAltRight => LocaleKeys.KeyMacAltRight,
_ => localeKey LocaleKeys.KeyWinLeft => LocaleKeys.KeyMacWinLeft,
}; LocaleKeys.KeyWinRight => LocaleKeys.KeyMacWinRight,
} _ => localeKey
};
}
keyString = LocaleManager.Instance[localeKey]; keyString = LocaleManager.Instance[localeKey];
} }
else else
{ {
keyString = key.ToString(); keyString = key.ToString();
} }
} break;
else if (value is GamepadInputId gamepadInputId) case GamepadInputId gamepadInputId:
{ if (_gamepadInputIdMap.TryGetValue(gamepadInputId, out localeKey))
if (_gamepadInputIdMap.TryGetValue(gamepadInputId, out LocaleKeys localeKey)) {
{ keyString = LocaleManager.Instance[localeKey];
keyString = LocaleManager.Instance[localeKey]; }
} else
else {
{ keyString = gamepadInputId.ToString();
keyString = gamepadInputId.ToString(); }
} break;
} case StickInputId stickInputId:
else if (value is StickInputId stickInputId) if (_stickInputIdMap.TryGetValue(stickInputId, out localeKey))
{ {
if (_stickInputIdMap.TryGetValue(stickInputId, out LocaleKeys localeKey)) keyString = LocaleManager.Instance[localeKey];
{ }
keyString = LocaleManager.Instance[localeKey]; else
} {
else keyString = stickInputId.ToString();
{ }
keyString = stickInputId.ToString(); break;
}
} }
return keyString; return keyString;