diff options
-rw-r--r-- | frontend/plugin_lib.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/frontend/plugin_lib.c b/frontend/plugin_lib.c index 7110b35..83ae892 100644 --- a/frontend/plugin_lib.c +++ b/frontend/plugin_lib.c @@ -93,15 +93,6 @@ int pl_fbdev_set_mode(int w, int h, int bpp) void pl_fbdev_flip(void) { - /* doing input here because the pad is polled - * thousands of times for some reason */ - int actions[IN_BINDTYPE_COUNT] = { 0, }; - - in_update(actions); - if (actions[IN_BINDTYPE_EMU] & PEV_MENU) - stop = 1; - keystate = actions[IN_BINDTYPE_PLAYER12]; - flip_cnt++; print_fps(); print_cpu_usage(); @@ -114,6 +105,16 @@ void pl_fbdev_finish(void) { } +static void update_input(void) +{ + int actions[IN_BINDTYPE_COUNT] = { 0, }; + + in_update(actions); + if (actions[IN_BINDTYPE_EMU] & PEV_MENU) + stop = 1; + keystate = actions[IN_BINDTYPE_PLAYER12]; +} + /* called on every vsync */ void pl_frame_limit(void) { @@ -121,6 +122,10 @@ void pl_frame_limit(void) static int oldsec; struct timeval tv; + /* doing input here because the pad is polled + * thousands of times per frame for some reason */ + update_input(); + pcnt_end(PCNT_ALL); gettimeofday(&tv, 0); |