mirror of
				https://github.com/ryujinx-mirror/ryujinx.git
				synced 2025-11-04 08:18:58 -06:00 
			
		
		
		
	[Ryujinx.Input.SDL2] Address dotnet-format issues (#5385)
* dotnet format style --severity info Some changes were manually reverted. * dotnet format analyzers --serverity info Some changes have been minimally adapted. * Restore a few unused methods and variables * Silence dotnet format IDE0052 warnings * Address dotnet format CA1816 warnings * Address or silence dotnet format CA1806 and a few CA1854 warnings * Address most dotnet format whitespace warnings * Add comments to disabled warnings * Simplify properties and array initialization, Use const when possible, Remove trailing commas * Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas" This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e. * dotnet format whitespace after rebase * Add trailing commas, log errors instead of throwing and remove redundant code
This commit is contained in:
		@@ -57,13 +57,13 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
 | 
			
		||||
        private readonly object _userMappingLock = new();
 | 
			
		||||
 | 
			
		||||
        private List<ButtonMappingEntry> _buttonsUserMapping;
 | 
			
		||||
        private readonly List<ButtonMappingEntry> _buttonsUserMapping;
 | 
			
		||||
 | 
			
		||||
        private StickInputId[] _stickUserMapping = new StickInputId[(int)StickInputId.Count]
 | 
			
		||||
        private readonly StickInputId[] _stickUserMapping = new StickInputId[(int)StickInputId.Count]
 | 
			
		||||
        {
 | 
			
		||||
            StickInputId.Unbound,
 | 
			
		||||
            StickInputId.Left,
 | 
			
		||||
            StickInputId.Right
 | 
			
		||||
            StickInputId.Right,
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        public GamepadFeaturesFlag Features { get; }
 | 
			
		||||
@@ -85,8 +85,15 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
            // Enable motion tracking
 | 
			
		||||
            if (Features.HasFlag(GamepadFeaturesFlag.Motion))
 | 
			
		||||
            {
 | 
			
		||||
                SDL_GameControllerSetSensorEnabled(_gamepadHandle, SDL_SensorType.SDL_SENSOR_ACCEL, SDL_bool.SDL_TRUE);
 | 
			
		||||
                SDL_GameControllerSetSensorEnabled(_gamepadHandle, SDL_SensorType.SDL_SENSOR_GYRO, SDL_bool.SDL_TRUE);
 | 
			
		||||
                if (SDL_GameControllerSetSensorEnabled(_gamepadHandle, SDL_SensorType.SDL_SENSOR_ACCEL, SDL_bool.SDL_TRUE) != 0)
 | 
			
		||||
                {
 | 
			
		||||
                    Logger.Error?.Print(LogClass.Hid, $"Could not enable data reporting for SensorType {SDL_SensorType.SDL_SENSOR_ACCEL}.");
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (SDL_GameControllerSetSensorEnabled(_gamepadHandle, SDL_SensorType.SDL_SENSOR_GYRO, SDL_bool.SDL_TRUE) != 0)
 | 
			
		||||
                {
 | 
			
		||||
                    Logger.Error?.Print(LogClass.Hid, $"Could not enable data reporting for SensorType {SDL_SensorType.SDL_SENSOR_GYRO}.");
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -144,7 +151,10 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
 | 
			
		||||
                if (durationMs == uint.MaxValue)
 | 
			
		||||
                {
 | 
			
		||||
                    SDL_GameControllerRumble(_gamepadHandle, lowFrequencyRaw, highFrequencyRaw, SDL_HAPTIC_INFINITY);
 | 
			
		||||
                    if (SDL_GameControllerRumble(_gamepadHandle, lowFrequencyRaw, highFrequencyRaw, SDL_HAPTIC_INFINITY) != 0)
 | 
			
		||||
                    {
 | 
			
		||||
                        Logger.Error?.Print(LogClass.Hid, "Rumble is not supported on this game controller.");
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                else if (durationMs > SDL_HAPTIC_INFINITY)
 | 
			
		||||
                {
 | 
			
		||||
@@ -152,7 +162,10 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    SDL_GameControllerRumble(_gamepadHandle, lowFrequencyRaw, highFrequencyRaw, durationMs);
 | 
			
		||||
                    if (SDL_GameControllerRumble(_gamepadHandle, lowFrequencyRaw, highFrequencyRaw, durationMs) != 0)
 | 
			
		||||
                    {
 | 
			
		||||
                        Logger.Error?.Print(LogClass.Hid, "Rumble is not supported on this game controller.");
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
@@ -182,13 +195,14 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
 | 
			
		||||
                    if (result == 0)
 | 
			
		||||
                    {
 | 
			
		||||
                        Vector3 value = new Vector3(values[0], values[1], values[2]);
 | 
			
		||||
                        Vector3 value = new(values[0], values[1], values[2]);
 | 
			
		||||
 | 
			
		||||
                        if (inputId == MotionInputId.Gyroscope)
 | 
			
		||||
                        {
 | 
			
		||||
                            return RadToDegree(value);
 | 
			
		||||
                        }
 | 
			
		||||
                        else if (inputId == MotionInputId.Accelerometer)
 | 
			
		||||
 | 
			
		||||
                        if (inputId == MotionInputId.Accelerometer)
 | 
			
		||||
                        {
 | 
			
		||||
                            return GsToMs2(value);
 | 
			
		||||
                        }
 | 
			
		||||
@@ -359,18 +373,18 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
            {
 | 
			
		||||
                return ConvertRawStickValue(SDL_GameControllerGetAxis(_gamepadHandle, SDL_GameControllerAxis.SDL_CONTROLLER_AXIS_TRIGGERLEFT)) > _triggerThreshold;
 | 
			
		||||
            }
 | 
			
		||||
            else if (inputId == GamepadButtonInputId.RightTrigger)
 | 
			
		||||
 | 
			
		||||
            if (inputId == GamepadButtonInputId.RightTrigger)
 | 
			
		||||
            {
 | 
			
		||||
                return ConvertRawStickValue(SDL_GameControllerGetAxis(_gamepadHandle, SDL_GameControllerAxis.SDL_CONTROLLER_AXIS_TRIGGERRIGHT)) > _triggerThreshold;
 | 
			
		||||
            }
 | 
			
		||||
            else if (_buttonsDriverMapping[(int)inputId] == SDL_GameControllerButton.SDL_CONTROLLER_BUTTON_INVALID)
 | 
			
		||||
 | 
			
		||||
            if (_buttonsDriverMapping[(int)inputId] == SDL_GameControllerButton.SDL_CONTROLLER_BUTTON_INVALID)
 | 
			
		||||
            {
 | 
			
		||||
                return false;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                return SDL_GameControllerGetButton(_gamepadHandle, _buttonsDriverMapping[(int)inputId]) == 1;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return SDL_GameControllerGetButton(_gamepadHandle, _buttonsDriverMapping[(int)inputId]) == 1;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,8 +7,8 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
{
 | 
			
		||||
    public class SDL2GamepadDriver : IGamepadDriver
 | 
			
		||||
    {
 | 
			
		||||
        private Dictionary<int, string> _gamepadsInstanceIdsMapping;
 | 
			
		||||
        private List<string> _gamepadsIds;
 | 
			
		||||
        private readonly Dictionary<int, string> _gamepadsInstanceIdsMapping;
 | 
			
		||||
        private readonly List<string> _gamepadsIds;
 | 
			
		||||
 | 
			
		||||
        public ReadOnlySpan<string> GamepadsIds => _gamepadsIds.ToArray();
 | 
			
		||||
 | 
			
		||||
@@ -35,7 +35,7 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private string GenerateGamepadId(int joystickIndex)
 | 
			
		||||
        private static string GenerateGamepadId(int joystickIndex)
 | 
			
		||||
        {
 | 
			
		||||
            Guid guid = SDL_JoystickGetDeviceGUID(joystickIndex);
 | 
			
		||||
 | 
			
		||||
@@ -44,10 +44,10 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return joystickIndex + "-" + guid.ToString();
 | 
			
		||||
            return joystickIndex + "-" + guid;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private int GetJoystickIndexByGamepadId(string id)
 | 
			
		||||
        private static int GetJoystickIndexByGamepadId(string id)
 | 
			
		||||
        {
 | 
			
		||||
            string[] data = id.Split("-");
 | 
			
		||||
 | 
			
		||||
@@ -118,6 +118,7 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
 | 
			
		||||
        public void Dispose()
 | 
			
		||||
        {
 | 
			
		||||
            GC.SuppressFinalize(this);
 | 
			
		||||
            Dispose(true);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -26,9 +26,11 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
 | 
			
		||||
        private readonly object _userMappingLock = new();
 | 
			
		||||
 | 
			
		||||
#pragma warning disable IDE0052 // Remove unread private member
 | 
			
		||||
        private readonly SDL2KeyboardDriver _driver;
 | 
			
		||||
#pragma warning restore IDE0052
 | 
			
		||||
        private StandardKeyboardInputConfig _configuration;
 | 
			
		||||
        private List<ButtonMappingEntry> _buttonsUserMapping;
 | 
			
		||||
        private readonly List<ButtonMappingEntry> _buttonsUserMapping;
 | 
			
		||||
 | 
			
		||||
        private static readonly SDL_Keycode[] _keysDriverMapping = new SDL_Keycode[(int)Key.Count]
 | 
			
		||||
        {
 | 
			
		||||
@@ -208,29 +210,19 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
 | 
			
		||||
        private static SDL_Keymod GetKeyboardModifierMask(Key key)
 | 
			
		||||
        {
 | 
			
		||||
            switch (key)
 | 
			
		||||
            return key switch
 | 
			
		||||
            {
 | 
			
		||||
                case Key.ShiftLeft:
 | 
			
		||||
                    return SDL_Keymod.KMOD_LSHIFT;
 | 
			
		||||
                case Key.ShiftRight:
 | 
			
		||||
                    return SDL_Keymod.KMOD_RSHIFT;
 | 
			
		||||
                case Key.ControlLeft:
 | 
			
		||||
                    return SDL_Keymod.KMOD_LCTRL;
 | 
			
		||||
                case Key.ControlRight:
 | 
			
		||||
                    return SDL_Keymod.KMOD_RCTRL;
 | 
			
		||||
                case Key.AltLeft:
 | 
			
		||||
                    return SDL_Keymod.KMOD_LALT;
 | 
			
		||||
                case Key.AltRight:
 | 
			
		||||
                    return SDL_Keymod.KMOD_RALT;
 | 
			
		||||
                case Key.WinLeft:
 | 
			
		||||
                    return SDL_Keymod.KMOD_LGUI;
 | 
			
		||||
                case Key.WinRight:
 | 
			
		||||
                    return SDL_Keymod.KMOD_RGUI;
 | 
			
		||||
                Key.ShiftLeft => SDL_Keymod.KMOD_LSHIFT,
 | 
			
		||||
                Key.ShiftRight => SDL_Keymod.KMOD_RSHIFT,
 | 
			
		||||
                Key.ControlLeft => SDL_Keymod.KMOD_LCTRL,
 | 
			
		||||
                Key.ControlRight => SDL_Keymod.KMOD_RCTRL,
 | 
			
		||||
                Key.AltLeft => SDL_Keymod.KMOD_LALT,
 | 
			
		||||
                Key.AltRight => SDL_Keymod.KMOD_RALT,
 | 
			
		||||
                Key.WinLeft => SDL_Keymod.KMOD_LGUI,
 | 
			
		||||
                Key.WinRight => SDL_Keymod.KMOD_RGUI,
 | 
			
		||||
                // NOTE: Menu key isn't supported by SDL2.
 | 
			
		||||
                case Key.Menu:
 | 
			
		||||
                default:
 | 
			
		||||
                    return SDL_Keymod.KMOD_NONE;
 | 
			
		||||
            }
 | 
			
		||||
                _ => SDL_Keymod.KMOD_NONE,
 | 
			
		||||
            };
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public KeyboardStateSnapshot GetKeyboardStateSnapshot()
 | 
			
		||||
@@ -416,4 +408,4 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
            return Vector3.Zero;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -38,6 +38,7 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
 | 
			
		||||
        public void Dispose()
 | 
			
		||||
        {
 | 
			
		||||
            GC.SuppressFinalize(this);
 | 
			
		||||
            Dispose(true);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -51,4 +52,4 @@ namespace Ryujinx.Input.SDL2
 | 
			
		||||
            return new SDL2Keyboard(this, _keyboardIdentifers[0], "All keyboards");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user