Offload keyboard tracker to the engine

Centralising it in the backend breaks the enhanced branch's rebinding
menu.
This commit is contained in:
Clownacy 2020-04-05 04:31:11 +01:00
parent d62ca286f6
commit aef0f81f28
4 changed files with 6 additions and 7 deletions

View file

@ -264,8 +264,6 @@ BOOL Backend_SystemTask(void)
return FALSE;
}
memcpy(backend_previous_keyboard_state, backend_keyboard_state, sizeof(backend_keyboard_state));
glfwPollEvents();
while (!bActive)

View file

@ -85,7 +85,6 @@ enum
extern BOOL bActive;
extern BOOL backend_keyboard_state[BACKEND_KEYBOARD_TOTAL];
extern BOOL backend_previous_keyboard_state[BACKEND_KEYBOARD_TOTAL];
void Backend_Init(void);
void Backend_Deinit(void);

View file

@ -97,8 +97,6 @@ void PlaybackBackend_EnableDragAndDrop(void)
BOOL Backend_SystemTask(void)
{
memcpy(backend_previous_keyboard_state, backend_keyboard_state, sizeof(backend_keyboard_state));
while (SDL_PollEvent(NULL) || !bActive)
{
SDL_Event event;

View file

@ -385,12 +385,14 @@ void JoystickProc(void);
BOOL SystemTask(void)
{
static BOOL previous_keyboard_state[BACKEND_KEYBOARD_TOTAL];
if (!Backend_SystemTask())
return FALSE;
for (unsigned int i = 0; i < BACKEND_KEYBOARD_TOTAL; ++i)
{
if (backend_keyboard_state[i] && !backend_previous_keyboard_state[i])
if (backend_keyboard_state[i] && !previous_keyboard_state[i])
{
switch (i)
{
@ -476,7 +478,7 @@ BOOL SystemTask(void)
break;
}
}
else if (!backend_keyboard_state[i] && backend_previous_keyboard_state[i])
else if (!backend_keyboard_state[i] && previous_keyboard_state[i])
{
switch (i)
{
@ -560,6 +562,8 @@ BOOL SystemTask(void)
}
}
memcpy(previous_keyboard_state, backend_keyboard_state, sizeof(backend_keyboard_state));
// Run joystick code
if (gbUseJoystick)
JoystickProc();