From 5f2a808042ec0b15365dfbd40ef32d93140c7126 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 16 Mar 2013 17:44:24 +0100 Subject: [PATCH] Move console 'set default binds' and 'set analog stick' default set_keybindings to global_init_drivers --- driver.c | 64 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/driver.c b/driver.c index 52ba2ccb6f..16eebf3c91 100644 --- a/driver.c +++ b/driver.c @@ -281,7 +281,39 @@ void global_init_drivers(void) #ifdef RARCH_CONSOLE driver.video->start(); // Statically starts video driver. Sets driver.video_data. #endif - driver.input_data = driver.input->init(); + if (driver.input && driver.input->init) + driver.input_data = driver.input->init(); + + if (driver.input) + { + for(unsigned i = 0; i < MAX_PLAYERS; i++) + { + unsigned action = 0; + + if (driver.input->set_keybinds) + action |= (1ULL << KEYBINDS_ACTION_SET_DEFAULT_BINDS); + + switch (g_settings.input.dpad_emulation[i]) + { + case ANALOG_DPAD_LSTICK: + action |= (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_LSTICK); + break; + case ANALOG_DPAD_RSTICK: + action |= (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_RSTICK); + break; + case ANALOG_DPAD_NONE: + action |= (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_NONE); + break; + default: + break; + } + + if (action) + if (driver.input->set_keybinds) + driver.input->set_keybinds(driver.input_data, 0, i, 0, + action); + } + } } void global_uninit_drivers(void) @@ -903,36 +935,6 @@ void init_video_input(void) rarch_fail(1, "init_video_input()"); } - if (driver.input != NULL) - { - for(unsigned i = 0; i < MAX_PLAYERS; i++) - { - unsigned action = 0; - - if (driver.input->set_keybinds) - action |= (1ULL << KEYBINDS_ACTION_SET_DEFAULT_BINDS); - - switch (g_settings.input.dpad_emulation[i]) - { - case ANALOG_DPAD_LSTICK: - action |= (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_LSTICK); - break; - case ANALOG_DPAD_RSTICK: - action |= (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_RSTICK); - break; - case ANALOG_DPAD_NONE: - action |= (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_NONE); - break; - default: - break; - } - - if (action) - if (driver.input->set_keybinds) - driver.input->set_keybinds(driver.input_data, 0, i, 0, - action); - } - } } #ifdef HAVE_OVERLAY