aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTSRBerry <20988865+TSRBerry@users.noreply.github.com>2023-06-26 03:55:25 +0200
committerGitHub <noreply@github.com>2023-06-26 01:55:25 +0000
commit2de78a2d55a1306761788570ab192897299c55d8 (patch)
treeb7b66b94ca3107689806a7981a9bf8817480eab6
parentb29ded1d6009dc6a82a0aefd594eda21b5c2d814 (diff)
[Ryujinx.Input.SDL2] Address dotnet-format issues (#5385)1.1.922
* 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
-rw-r--r--src/Ryujinx.Input.SDL2/SDL2Gamepad.cs44
-rw-r--r--src/Ryujinx.Input.SDL2/SDL2GamepadDriver.cs11
-rw-r--r--src/Ryujinx.Input.SDL2/SDL2Keyboard.cs38
-rw-r--r--src/Ryujinx.Input.SDL2/SDLKeyboardDriver.cs3
4 files changed, 52 insertions, 44 deletions
diff --git a/src/Ryujinx.Input.SDL2/SDL2Gamepad.cs b/src/Ryujinx.Input.SDL2/SDL2Gamepad.cs
index 6a8c1204..f04fdeb3 100644
--- a/src/Ryujinx.Input.SDL2/SDL2Gamepad.cs
+++ b/src/Ryujinx.Input.SDL2/SDL2Gamepad.cs
@@ -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;
}
}
}
diff --git a/src/Ryujinx.Input.SDL2/SDL2GamepadDriver.cs b/src/Ryujinx.Input.SDL2/SDL2GamepadDriver.cs
index d4086a10..d0e793de 100644
--- a/src/Ryujinx.Input.SDL2/SDL2GamepadDriver.cs
+++ b/src/Ryujinx.Input.SDL2/SDL2GamepadDriver.cs
@@ -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);
}
diff --git a/src/Ryujinx.Input.SDL2/SDL2Keyboard.cs b/src/Ryujinx.Input.SDL2/SDL2Keyboard.cs
index 2fe0614d..f46930a8 100644
--- a/src/Ryujinx.Input.SDL2/SDL2Keyboard.cs
+++ b/src/Ryujinx.Input.SDL2/SDL2Keyboard.cs
@@ -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;
}
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.Input.SDL2/SDLKeyboardDriver.cs b/src/Ryujinx.Input.SDL2/SDLKeyboardDriver.cs
index e9361c24..d0268adb 100644
--- a/src/Ryujinx.Input.SDL2/SDLKeyboardDriver.cs
+++ b/src/Ryujinx.Input.SDL2/SDLKeyboardDriver.cs
@@ -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");
}
}
-} \ No newline at end of file
+}