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

This commit is contained in:
Sigrid Solveig Haflínudóttir 2021-12-29 23:31:08 +01:00
parent 84f17059f7
commit 22c6e07fca
1 changed files with 5 additions and 0 deletions

View File

@ -466,6 +466,11 @@ run(Uxn *u)
controller_down(devctrl, get_button(&event)); controller_down(devctrl, get_button(&event));
else else
do_shortcut(u, &event); do_shortcut(u, &event);
if(event.type == SDL_KEYDOWN) {
int ksym = event.key.keysym.sym;
if(SDL_PeepEvents(&event, 1, SDL_PEEKEVENT, SDL_KEYUP, SDL_KEYUP) == 1 && ksym == event.key.keysym.sym)
break;
}
} else if(event.type == SDL_KEYUP) } else if(event.type == SDL_KEYUP)
controller_up(devctrl, get_button(&event)); controller_up(devctrl, get_button(&event));
else if(event.type == SDL_JOYAXISMOTION) { else if(event.type == SDL_JOYAXISMOTION) {