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; return FALSE;
} }
memcpy(backend_previous_keyboard_state, backend_keyboard_state, sizeof(backend_keyboard_state));
glfwPollEvents(); glfwPollEvents();
while (!bActive) while (!bActive)

View file

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

View file

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

View file

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