Browse code

emu: make sure to handle key down event if the same key is up at the same frame

Sigrid Solveig Haflínudóttir authored on 29/12/2021 22:31:08
Showing 1 changed files
... ...
@@ -466,6 +466,11 @@ run(Uxn *u)
466 466
 					controller_down(devctrl, get_button(&event));
467 467
 				else
468 468
 					do_shortcut(u, &event);
469
+				if(event.type == SDL_KEYDOWN) {
470
+					int ksym = event.key.keysym.sym;
471
+					if(SDL_PeepEvents(&event, 1, SDL_PEEKEVENT, SDL_KEYUP, SDL_KEYUP) == 1 && ksym == event.key.keysym.sym)
472
+						break;
473
+				}
469 474
 			} else if(event.type == SDL_KEYUP)
470 475
 				controller_up(devctrl, get_button(&event));
471 476
 			else if(event.type == SDL_JOYAXISMOTION) {