refactor: made the input reader expandable

This commit is contained in:
Gerard Gascón 2024-04-14 18:50:25 +02:00
parent 12304c6bb4
commit 59a3d96b5b
10 changed files with 72 additions and 24 deletions

View file

@ -2,28 +2,7 @@
namespace Domain {
public static class Win32API {
private static bool _cTrencadaWasPressed;
private static bool _cTrencadaPressed;
//VK_OEM_2 = 0xBF | cedilla
//https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
private const int Key = 0xBF;
public static void UpdateInput() {
_cTrencadaWasPressed = _cTrencadaPressed;
if (_cTrencadaPressed && GetAsyncKeyState(Key) == 0) {
_cTrencadaPressed = false;
return;
}
if (!_cTrencadaPressed && GetAsyncKeyState(Key) != 0) {
_cTrencadaPressed = true;
}
}
public static bool CTrencadaDown() {
return _cTrencadaPressed && !_cTrencadaWasPressed;
}
[DllImport("User32.dll")]
private static extern short GetAsyncKeyState(int vKey);
public static extern short GetAsyncKeyState(int vKey);
}
}