Move solution and projects to src
This commit is contained in:
parent
cd124bda58
commit
cee7121058
3466 changed files with 55 additions and 55 deletions
50
src/Ryujinx.Input/Assigner/KeyboardKeyAssigner.cs
Normal file
50
src/Ryujinx.Input/Assigner/KeyboardKeyAssigner.cs
Normal file
|
@ -0,0 +1,50 @@
|
|||
namespace Ryujinx.Input.Assigner
|
||||
{
|
||||
/// <summary>
|
||||
/// <see cref="IButtonAssigner"/> implementation for <see cref="IKeyboard"/>.
|
||||
/// </summary>
|
||||
public class KeyboardKeyAssigner : IButtonAssigner
|
||||
{
|
||||
private IKeyboard _keyboard;
|
||||
|
||||
private KeyboardStateSnapshot _keyboardState;
|
||||
|
||||
public KeyboardKeyAssigner(IKeyboard keyboard)
|
||||
{
|
||||
_keyboard = keyboard;
|
||||
}
|
||||
|
||||
public void Initialize() { }
|
||||
|
||||
public void ReadInput()
|
||||
{
|
||||
_keyboardState = _keyboard.GetKeyboardStateSnapshot();
|
||||
}
|
||||
|
||||
public bool HasAnyButtonPressed()
|
||||
{
|
||||
return GetPressedButton().Length != 0;
|
||||
}
|
||||
|
||||
public bool ShouldCancel()
|
||||
{
|
||||
return _keyboardState.IsPressed(Key.Escape);
|
||||
}
|
||||
|
||||
public string GetPressedButton()
|
||||
{
|
||||
string keyPressed = "";
|
||||
|
||||
for (Key key = Key.Unknown; key < Key.Count; key++)
|
||||
{
|
||||
if (_keyboardState.IsPressed(key))
|
||||
{
|
||||
keyPressed = key.ToString();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return !ShouldCancel() ? keyPressed : "";
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue