Use switches
This commit is contained in:
parent
547be227a0
commit
f2fb9f313c
2 changed files with 66 additions and 64 deletions
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue