internal void Update()
{
var keyboardState = Keyboard.GetState();
bool anyKeyPressed = false;
foreach (var key in AllKeys)
{
if (keyboardState.IsKeyDown(key))
{
FramesSinceKeyPressed[key]++;
FramesSinceKeyReleased[key] = 0;
anyKeyPressed = true;
}
else
{
FramesSinceKeyPressed[key] = 0;
FramesSinceKeyReleased[key]++;
}
}
if (anyKeyPressed)
{
FramesSinceLastKeyboardActivity = 0;
}
else
{
FramesSinceLastKeyboardActivity++;
}
}