diff --git a/src/uxnemu.c b/src/uxnemu.c index 3b0f05c..94f7a7d 100644 --- a/src/uxnemu.c +++ b/src/uxnemu.c @@ -465,20 +465,19 @@ run(Uxn *u) else if(event.type == SDL_MOUSEWHEEL) mouse_scroll(devmouse, event.wheel.x, event.wheel.y); /* Controller */ - else if(event.type == SDL_KEYDOWN || event.type == SDL_TEXTINPUT) { - if(event.type == SDL_TEXTINPUT) - controller_key(devctrl, event.text.text[0]); - else if(get_key(&event)) + else if(event.type == SDL_TEXTINPUT) + controller_key(devctrl, event.text.text[0]); + else if(event.type == SDL_KEYDOWN) { + int ksym; + if(get_key(&event)) controller_key(devctrl, get_key(&event)); else if(get_button(&event)) controller_down(devctrl, get_button(&event)); else 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; - } + 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) controller_up(devctrl, get_button(&event)); else if(event.type == SDL_JOYAXISMOTION) {