Move driver->osk_enable to input_driver.c
This commit is contained in:
parent
5b6641b077
commit
d4e88324ac
1
driver.h
1
driver.h
|
@ -217,7 +217,6 @@ typedef struct driver
|
||||||
|
|
||||||
bool camera_active;
|
bool camera_active;
|
||||||
bool location_active;
|
bool location_active;
|
||||||
bool osk_enable;
|
|
||||||
bool keyboard_linefeed_enable;
|
bool keyboard_linefeed_enable;
|
||||||
|
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
|
|
|
@ -82,6 +82,7 @@ struct turbo_buttons
|
||||||
unsigned count;
|
unsigned count;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static bool main_osk_enabled;
|
||||||
static bool input_data_own;
|
static bool input_data_own;
|
||||||
static const input_driver_t *main_input;
|
static const input_driver_t *main_input;
|
||||||
static void *main_input_data;
|
static void *main_input_data;
|
||||||
|
@ -731,6 +732,14 @@ bool input_driver_ctl(enum rarch_input_ctl_state state, void *data)
|
||||||
break;
|
break;
|
||||||
case RARCH_INPUT_CTL_OWNS_DRIVER:
|
case RARCH_INPUT_CTL_OWNS_DRIVER:
|
||||||
return input_data_own;
|
return input_data_own;
|
||||||
|
case RARCH_INPUT_CTL_SET_OSK_ENABLED:
|
||||||
|
main_osk_enabled = true;
|
||||||
|
break;
|
||||||
|
case RARCH_INPUT_CTL_UNSET_OSK_ENABLED:
|
||||||
|
main_osk_enabled = false;
|
||||||
|
break;
|
||||||
|
case RARCH_INPUT_CTL_IS_OSK_ENABLED:
|
||||||
|
return main_osk_enabled;
|
||||||
case RARCH_INPUT_CTL_NONE:
|
case RARCH_INPUT_CTL_NONE:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -68,7 +68,10 @@ enum rarch_input_ctl_state
|
||||||
RARCH_INPUT_CTL_IS_NONBLOCK_STATE,
|
RARCH_INPUT_CTL_IS_NONBLOCK_STATE,
|
||||||
RARCH_INPUT_CTL_SET_OWN_DRIVER,
|
RARCH_INPUT_CTL_SET_OWN_DRIVER,
|
||||||
RARCH_INPUT_CTL_UNSET_OWN_DRIVER,
|
RARCH_INPUT_CTL_UNSET_OWN_DRIVER,
|
||||||
RARCH_INPUT_CTL_OWNS_DRIVER
|
RARCH_INPUT_CTL_OWNS_DRIVER,
|
||||||
|
RARCH_INPUT_CTL_SET_OSK_ENABLED,
|
||||||
|
RARCH_INPUT_CTL_UNSET_OSK_ENABLED,
|
||||||
|
RARCH_INPUT_CTL_IS_OSK_ENABLED
|
||||||
};
|
};
|
||||||
|
|
||||||
struct retro_keybind
|
struct retro_keybind
|
||||||
|
|
|
@ -35,6 +35,12 @@ struct input_keyboard_line
|
||||||
void *userdata;
|
void *userdata;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static input_keyboard_line_t *g_keyboard_line;
|
||||||
|
|
||||||
|
static input_keyboard_press_t g_keyboard_press_cb;
|
||||||
|
|
||||||
|
static void *g_keyboard_press_data;
|
||||||
|
|
||||||
static void input_keyboard_line_toggle_osk(bool enable)
|
static void input_keyboard_line_toggle_osk(bool enable)
|
||||||
{
|
{
|
||||||
driver_t *driver = driver_get_ptr();
|
driver_t *driver = driver_get_ptr();
|
||||||
|
@ -160,12 +166,6 @@ const char **input_keyboard_line_get_buffer(const input_keyboard_line_t *state)
|
||||||
return (const char**)&state->buffer;
|
return (const char**)&state->buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
static input_keyboard_line_t *g_keyboard_line;
|
|
||||||
|
|
||||||
static input_keyboard_press_t g_keyboard_press_cb;
|
|
||||||
|
|
||||||
static void *g_keyboard_press_data;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* input_keyboard_start_line:
|
* input_keyboard_start_line:
|
||||||
* @userdata : Userdata.
|
* @userdata : Userdata.
|
||||||
|
|
|
@ -545,10 +545,9 @@ void input_overlay_free(void)
|
||||||
/* task_data = overlay_task_data_t* */
|
/* task_data = overlay_task_data_t* */
|
||||||
static void input_overlay_loaded(void *task_data, void *user_data, const char *err)
|
static void input_overlay_loaded(void *task_data, void *user_data, const char *err)
|
||||||
{
|
{
|
||||||
|
input_overlay_t *ol;
|
||||||
overlay_task_data_t *data = (overlay_task_data_t*)task_data;
|
overlay_task_data_t *data = (overlay_task_data_t*)task_data;
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
input_overlay_t *ol;
|
|
||||||
driver_t *driver = driver_get_ptr();
|
|
||||||
|
|
||||||
if (err)
|
if (err)
|
||||||
return;
|
return;
|
||||||
|
@ -556,7 +555,8 @@ static void input_overlay_loaded(void *task_data, void *user_data, const char *e
|
||||||
/* We can't display when the menu is up */
|
/* We can't display when the menu is up */
|
||||||
if (settings->input.overlay_hide_in_menu && menu_driver_alive())
|
if (settings->input.overlay_hide_in_menu && menu_driver_alive())
|
||||||
{
|
{
|
||||||
if (!driver->osk_enable && settings->input.overlay_enable)
|
if (!input_driver_ctl(RARCH_INPUT_CTL_IS_OSK_ENABLED, NULL)
|
||||||
|
&& settings->input.overlay_enable)
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
for (i = 0; i < data->size; i++)
|
for (i = 0; i < data->size; i++)
|
||||||
|
@ -587,7 +587,7 @@ static void input_overlay_loaded(void *task_data, void *user_data, const char *e
|
||||||
overlay_ptr = ol;
|
overlay_ptr = ol;
|
||||||
|
|
||||||
input_overlay_load_active(settings->input.overlay_opacity);
|
input_overlay_load_active(settings->input.overlay_opacity);
|
||||||
input_overlay_enable(driver->osk_enable ? settings->osk.enable : settings->input.overlay_enable);
|
input_overlay_enable(input_driver_ctl(RARCH_INPUT_CTL_IS_OSK_ENABLED, NULL) ? settings->osk.enable : settings->input.overlay_enable);
|
||||||
input_overlay_set_scale_factor(settings->input.overlay_scale);
|
input_overlay_set_scale_factor(settings->input.overlay_scale);
|
||||||
|
|
||||||
ol->next_index = (ol->index + 1) % ol->size;
|
ol->next_index = (ol->index + 1) % ol->size;
|
||||||
|
|
12
runloop.c
12
runloop.c
|
@ -796,20 +796,20 @@ bool rarch_main_ctl(enum rarch_main_ctl_state state, void *data)
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_OVERLAY
|
#ifdef HAVE_OVERLAY
|
||||||
static void rarch_main_iterate_linefeed_overlay(driver_t *driver,
|
static void rarch_main_iterate_linefeed_overlay(driver_t *driver, settings_t *settings)
|
||||||
settings_t *settings)
|
|
||||||
{
|
{
|
||||||
static char prev_overlay_restore = false;
|
static char prev_overlay_restore = false;
|
||||||
|
bool osk_enable = input_driver_ctl(RARCH_INPUT_CTL_IS_OSK_ENABLED, NULL);
|
||||||
|
|
||||||
if (driver->osk_enable && !driver->keyboard_linefeed_enable)
|
if (osk_enable && !driver->keyboard_linefeed_enable)
|
||||||
{
|
{
|
||||||
driver->osk_enable = false;
|
input_driver_ctl(RARCH_INPUT_CTL_UNSET_OSK_ENABLED, NULL);
|
||||||
prev_overlay_restore = true;
|
prev_overlay_restore = true;
|
||||||
event_command(EVENT_CMD_OVERLAY_DEINIT);
|
event_command(EVENT_CMD_OVERLAY_DEINIT);
|
||||||
}
|
}
|
||||||
else if (!driver->osk_enable && driver->keyboard_linefeed_enable)
|
else if (!osk_enable && driver->keyboard_linefeed_enable)
|
||||||
{
|
{
|
||||||
driver->osk_enable = true;
|
input_driver_ctl(RARCH_INPUT_CTL_SET_OSK_ENABLED, NULL);
|
||||||
prev_overlay_restore = false;
|
prev_overlay_restore = false;
|
||||||
event_command(EVENT_CMD_OVERLAY_INIT);
|
event_command(EVENT_CMD_OVERLAY_INIT);
|
||||||
}
|
}
|
||||||
|
|
|
@ -727,10 +727,10 @@ error:
|
||||||
bool rarch_task_push_overlay_load_default(
|
bool rarch_task_push_overlay_load_default(
|
||||||
rarch_task_callback_t cb, void *user_data)
|
rarch_task_callback_t cb, void *user_data)
|
||||||
{
|
{
|
||||||
driver_t *driver = driver_get_ptr();
|
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
|
bool osk_enable = input_driver_ctl(RARCH_INPUT_CTL_IS_OSK_ENABLED, NULL);
|
||||||
|
|
||||||
if (driver->osk_enable)
|
if (osk_enable)
|
||||||
{
|
{
|
||||||
if (!*settings->osk.overlay)
|
if (!*settings->osk.overlay)
|
||||||
return false;
|
return false;
|
||||||
|
@ -742,6 +742,6 @@ bool rarch_task_push_overlay_load_default(
|
||||||
}
|
}
|
||||||
|
|
||||||
return rarch_task_push_overlay_load(
|
return rarch_task_push_overlay_load(
|
||||||
driver->osk_enable ? settings->osk.overlay : settings->input.overlay,
|
osk_enable ? settings->osk.overlay : settings->input.overlay,
|
||||||
cb, user_data);
|
cb, user_data);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue