aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Input.SDL2/SDL2Gamepad.cs
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 /src/Ryujinx.Input.SDL2/SDL2Gamepad.cs
parentb29ded1d6009dc6a82a0aefd594eda21b5c2d814 (diff)
[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
Diffstat (limited to 'src/Ryujinx.Input.SDL2/SDL2Gamepad.cs')
-rw-r--r--src/Ryujinx.Input.SDL2/SDL2Gamepad.cs44
1 files changed, 29 insertions, 15 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;
}
}
}