aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Input/Assigner
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Input/Assigner')
-rw-r--r--src/Ryujinx.Input/Assigner/GamepadButtonAssigner.cs15
-rw-r--r--src/Ryujinx.Input/Assigner/IButtonAssigner.cs4
-rw-r--r--src/Ryujinx.Input/Assigner/KeyboardKeyAssigner.cs12
3 files changed, 13 insertions, 18 deletions
diff --git a/src/Ryujinx.Input/Assigner/GamepadButtonAssigner.cs b/src/Ryujinx.Input/Assigner/GamepadButtonAssigner.cs
index 388ebcc0..80fed2b8 100644
--- a/src/Ryujinx.Input/Assigner/GamepadButtonAssigner.cs
+++ b/src/Ryujinx.Input/Assigner/GamepadButtonAssigner.cs
@@ -49,9 +49,9 @@ namespace Ryujinx.Input.Assigner
CollectButtonStats();
}
- public bool HasAnyButtonPressed()
+ public bool IsAnyButtonPressed()
{
- return _detector.HasAnyButtonPressed();
+ return _detector.IsAnyButtonPressed();
}
public bool ShouldCancel()
@@ -59,16 +59,11 @@ namespace Ryujinx.Input.Assigner
return _gamepad == null || !_gamepad.IsConnected;
}
- public string GetPressedButton()
+ public Button? GetPressedButton()
{
IEnumerable<GamepadButtonInputId> pressedButtons = _detector.GetPressedButtons();
- if (pressedButtons.Any())
- {
- return !_forStick ? pressedButtons.First().ToString() : ((StickInputId)pressedButtons.First()).ToString();
- }
-
- return "";
+ return !_forStick ? new(pressedButtons.FirstOrDefault()) : new((StickInputId)pressedButtons.FirstOrDefault());
}
private void CollectButtonStats()
@@ -123,7 +118,7 @@ namespace Ryujinx.Input.Assigner
_stats = new Dictionary<GamepadButtonInputId, InputSummary>();
}
- public bool HasAnyButtonPressed()
+ public bool IsAnyButtonPressed()
{
return _stats.Values.Any(CheckButtonPressed);
}
diff --git a/src/Ryujinx.Input/Assigner/IButtonAssigner.cs b/src/Ryujinx.Input/Assigner/IButtonAssigner.cs
index 76a9fece..688fbddb 100644
--- a/src/Ryujinx.Input/Assigner/IButtonAssigner.cs
+++ b/src/Ryujinx.Input/Assigner/IButtonAssigner.cs
@@ -19,7 +19,7 @@ namespace Ryujinx.Input.Assigner
/// Check if a button was pressed.
/// </summary>
/// <returns>True if a button was pressed</returns>
- bool HasAnyButtonPressed();
+ bool IsAnyButtonPressed();
/// <summary>
/// Indicate if the user of this API should cancel operations. This is triggered for example when a gamepad get disconnected or when a user cancel assignation operations.
@@ -31,6 +31,6 @@ namespace Ryujinx.Input.Assigner
/// Get the pressed button that was read in <see cref="ReadInput"/> by the button assigner.
/// </summary>
/// <returns>The pressed button that was read</returns>
- string GetPressedButton();
+ Button? GetPressedButton();
}
}
diff --git a/src/Ryujinx.Input/Assigner/KeyboardKeyAssigner.cs b/src/Ryujinx.Input/Assigner/KeyboardKeyAssigner.cs
index e52ef4a2..3c011a63 100644
--- a/src/Ryujinx.Input/Assigner/KeyboardKeyAssigner.cs
+++ b/src/Ryujinx.Input/Assigner/KeyboardKeyAssigner.cs
@@ -21,9 +21,9 @@ namespace Ryujinx.Input.Assigner
_keyboardState = _keyboard.GetKeyboardStateSnapshot();
}
- public bool HasAnyButtonPressed()
+ public bool IsAnyButtonPressed()
{
- return GetPressedButton().Length != 0;
+ return GetPressedButton() is not null;
}
public bool ShouldCancel()
@@ -31,20 +31,20 @@ namespace Ryujinx.Input.Assigner
return _keyboardState.IsPressed(Key.Escape);
}
- public string GetPressedButton()
+ public Button? GetPressedButton()
{
- string keyPressed = "";
+ Button? keyPressed = null;
for (Key key = Key.Unknown; key < Key.Count; key++)
{
if (_keyboardState.IsPressed(key))
{
- keyPressed = key.ToString();
+ keyPressed = new(key);
break;
}
}
- return !ShouldCancel() ? keyPressed : "";
+ return !ShouldCancel() ? keyPressed : null;
}
}
}