Fixed keyboard stuttering but for cmake only (#1422)

* fixed mouse movements are bound to the screen resolution (https://github.com/raysan5/raylib/issues/1392)

* fixed keyboard stuttering on PLATFORM_RPI and PLATFORM_DRM (https://github.com/raysan5/raylib/issues/1392)

* fixed keyboard stuttering on PLATFORM_RPI and PLATFORM_DRM (https://github.com/raysan5/raylib/issues/1392)
This commit is contained in:
kernelkinetic 2020-11-03 23:39:56 +01:00 committed by GitHub
parent 05ab39ed9f
commit f46514b855
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4873,7 +4873,7 @@ static void ProcessKeyboard(void)
bufferByteCount = read(STDIN_FILENO, keysBuffer, MAX_KEYBUFFER_SIZE); // POSIX system call
// Reset pressed keys array (it will be filled below)
for (int i = 0; i < 512; i++) CORE.Input.Keyboard.currentKeyState[i] = 0;
if (bufferByteCount > 0) for (int i = 0; i < 512; i++) CORE.Input.Keyboard.currentKeyState[i] = 0;
// Check keys from event input workers (This is the new keyboard reading method)
//for (int i = 0; i < 512; i++) CORE.Input.Keyboard.currentKeyState[i] = CORE.Input.Keyboard.currentKeyStateEvdev[i];
@ -5253,7 +5253,7 @@ static void *EventThread(void *arg)
while (!CORE.Window.shouldClose)
{
// Try to read data from the device and only continue if successful
if (read(worker->fd, &event, sizeof(event)) == (int)sizeof(event))
while(read(worker->fd, &event, sizeof(event)) == (int)sizeof(event))
{
// Relative movement parsing
if (event.type == EV_REL)
@ -5421,7 +5421,7 @@ static void *EventThread(void *arg)
#endif
}
}
else Wait(5); // Sleep for 5ms to avoid hogging CPU time
Wait(5); // Sleep for 5ms to avoid hogging CPU time
}
close(worker->fd);