Revert "Revert "Ignore OS key repeats for game controls""

This reverts commit b6b5175bbee451579dc7d364cb40787e29b25a83.
This commit is contained in:
toaster 2023-04-03 00:21:16 +01:00
parent 6f9f3a733e
commit 3210b7b80c
3 changed files with 7 additions and 1 deletions

View file

@ -38,7 +38,7 @@ struct event_t
{
evtype_t type;
INT32 data1; // keys / mouse/joystick buttons
INT32 data2; // mouse/joystick x move
INT32 data2; // mouse/joystick x move; key repeat
INT32 data3; // mouse/joystick y move
INT32 device; // which device ID it belongs to (controller ID)
};

View file

@ -456,6 +456,11 @@ void G_MapEventsToControls(event_t *ev)
case ev_keydown:
if (ev->data1 < NUMINPUTS)
{
if (ev->data2) // OS repeat? We handle that ourselves
{
break;
}
DeviceGameKeyDownArray[ev->data1] = JOYAXISRANGE;
if (AutomaticControllerReassignmentIsAllowed(ev->device))

View file

@ -571,6 +571,7 @@ static void Impl_HandleKeyboardEvent(SDL_KeyboardEvent evt, Uint32 type)
return;
}
event.data1 = Impl_SDL_Scancode_To_Keycode(evt.keysym.scancode);
event.data2 = evt.repeat;
if (event.data1) D_PostEvent(&event);
}