Put back input flushing - fixes input entry

This commit is contained in:
twinaphex 2017-01-13 15:11:00 +01:00
parent cab74cd4a2
commit b996df6447
2 changed files with 28 additions and 7 deletions

View File

@ -25,11 +25,14 @@
#include <compat/strl.h>
#include "../../tasks/tasks_internal.h"
#include "../input_config.h"
#include "../input_driver.h"
#include "../../configuration.h"
#include "../../verbosity.h"
#include "../../tasks/tasks_internal.h"
/* Linux parport driver does not support reading the control register
Other platforms may support up to 17 buttons */
#define PARPORT_NUM_BUTTONS 13

View File

@ -269,12 +269,6 @@ void input_poll(void)
settings_t *settings = config_get_ptr();
unsigned max_users = settings->input.max_users;
if (input_driver_flushing_input)
{
input_driver_flushing_input = false;
return;
}
current_input->poll(current_input_data);
input_driver_turbo_btns.count++;
@ -802,6 +796,18 @@ uint64_t input_menu_keys_pressed(
*trigger_input = ret & ~old_input;
*last_input = ret;
if (input_driver_flushing_input)
{
input_driver_flushing_input = false;
if (ret)
{
ret = 0;
if (runloop_paused)
BIT64_SET(ret, RARCH_PAUSE_TOGGLE);
input_driver_flushing_input = true;
}
}
if (menu_driver_is_binding_state())
*trigger_input = 0;
@ -947,6 +953,18 @@ uint64_t input_keys_pressed(
*trigger_input = ret & ~old_input;
*last_input = ret;
if (input_driver_flushing_input)
{
input_driver_flushing_input = false;
if (ret)
{
ret = 0;
if (runloop_paused)
BIT64_SET(ret, RARCH_PAUSE_TOGGLE);
input_driver_flushing_input = true;
}
}
return ret;
}