mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-23 07:59:42 +00:00
Revive/rewrite Keyboard Overlay and OSK Toggle
Add keyboard overlay preset, keyboard submenu, and osk_toggle hotkey. Use overlay caching for osk_toggle. For now, keyboard menu has only preset path, auto-scale toggle, and opacity. Related fixes: - input_keyboard_event: Don't check hotkey binds when device is RETRO_DEVICE_POINTER - Add input_keymaps_translate_rk_to_ascii() for correct character input to input_keyboard_event - input_overlay_poll: Delay clearing INPUT_OVERLAY_BLOCKED flag until there is no overlay input (Avoids stray input after osk_toggle) - Send keyboard events for modifiers before other keys (for correct modifier+key input if hitboxes overlap)
This commit is contained in:
parent
8a81d39437
commit
9ca5c5e623
@ -388,6 +388,7 @@ const struct input_bind_map input_config_bind_map[RARCH_BIND_LIST_END_NULL] = {
|
|||||||
|
|
||||||
/* Hidden in displaylist */
|
/* Hidden in displaylist */
|
||||||
DECLARE_META_BIND(2, overlay_next, RARCH_OVERLAY_NEXT, MENU_ENUM_LABEL_VALUE_INPUT_META_OVERLAY_NEXT),
|
DECLARE_META_BIND(2, overlay_next, RARCH_OVERLAY_NEXT, MENU_ENUM_LABEL_VALUE_INPUT_META_OVERLAY_NEXT),
|
||||||
|
|
||||||
DECLARE_META_BIND(2, osk_toggle, RARCH_OSK, MENU_ENUM_LABEL_VALUE_INPUT_META_OSK),
|
DECLARE_META_BIND(2, osk_toggle, RARCH_OSK, MENU_ENUM_LABEL_VALUE_INPUT_META_OSK),
|
||||||
#if 0
|
#if 0
|
||||||
/* Deprecated */
|
/* Deprecated */
|
||||||
@ -1589,6 +1590,8 @@ static struct config_path_setting *populate_settings_path(
|
|||||||
#ifdef HAVE_OVERLAY
|
#ifdef HAVE_OVERLAY
|
||||||
SETTING_PATH("input_overlay",
|
SETTING_PATH("input_overlay",
|
||||||
settings->paths.path_overlay, false, NULL, true);
|
settings->paths.path_overlay, false, NULL, true);
|
||||||
|
SETTING_PATH("input_osk_overlay",
|
||||||
|
settings->paths.path_osk_overlay, false, NULL, true);
|
||||||
#endif
|
#endif
|
||||||
SETTING_PATH("video_record_config",
|
SETTING_PATH("video_record_config",
|
||||||
settings->paths.path_record_config, false, NULL, true);
|
settings->paths.path_record_config, false, NULL, true);
|
||||||
@ -1651,6 +1654,8 @@ static struct config_path_setting *populate_settings_path(
|
|||||||
#ifdef HAVE_OVERLAY
|
#ifdef HAVE_OVERLAY
|
||||||
SETTING_PATH("overlay_directory",
|
SETTING_PATH("overlay_directory",
|
||||||
settings->paths.directory_overlay, true, NULL, true);
|
settings->paths.directory_overlay, true, NULL, true);
|
||||||
|
SETTING_PATH("osk_overlay_directory",
|
||||||
|
settings->paths.directory_osk_overlay, true, NULL, true);
|
||||||
#endif
|
#endif
|
||||||
SETTING_PATH(
|
SETTING_PATH(
|
||||||
"screenshot_directory",
|
"screenshot_directory",
|
||||||
@ -2041,6 +2046,7 @@ static struct config_bool_setting *populate_settings_bool(
|
|||||||
SETTING_BOOL("input_overlay_show_mouse_cursor", &settings->bools.input_overlay_show_mouse_cursor, true, DEFAULT_OVERLAY_SHOW_MOUSE_CURSOR, false);
|
SETTING_BOOL("input_overlay_show_mouse_cursor", &settings->bools.input_overlay_show_mouse_cursor, true, DEFAULT_OVERLAY_SHOW_MOUSE_CURSOR, false);
|
||||||
SETTING_BOOL("input_overlay_auto_rotate", &settings->bools.input_overlay_auto_rotate, true, DEFAULT_OVERLAY_AUTO_ROTATE, false);
|
SETTING_BOOL("input_overlay_auto_rotate", &settings->bools.input_overlay_auto_rotate, true, DEFAULT_OVERLAY_AUTO_ROTATE, false);
|
||||||
SETTING_BOOL("input_overlay_auto_scale", &settings->bools.input_overlay_auto_scale, true, DEFAULT_INPUT_OVERLAY_AUTO_SCALE, false);
|
SETTING_BOOL("input_overlay_auto_scale", &settings->bools.input_overlay_auto_scale, true, DEFAULT_INPUT_OVERLAY_AUTO_SCALE, false);
|
||||||
|
SETTING_BOOL("input_osk_overlay_auto_scale", &settings->bools.input_osk_overlay_auto_scale, true, DEFAULT_INPUT_OVERLAY_AUTO_SCALE, false);
|
||||||
#endif
|
#endif
|
||||||
#ifdef UDEV_TOUCH_SUPPORT
|
#ifdef UDEV_TOUCH_SUPPORT
|
||||||
SETTING_BOOL("input_touch_vmouse_pointer", &settings->bools.input_touch_vmouse_pointer, true, DEFAULT_INPUT_TOUCH_VMOUSE_POINTER, false);
|
SETTING_BOOL("input_touch_vmouse_pointer", &settings->bools.input_touch_vmouse_pointer, true, DEFAULT_INPUT_TOUCH_VMOUSE_POINTER, false);
|
||||||
@ -2190,6 +2196,7 @@ static struct config_float_setting *populate_settings_float(
|
|||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_OVERLAY
|
#ifdef HAVE_OVERLAY
|
||||||
SETTING_FLOAT("input_overlay_opacity", &settings->floats.input_overlay_opacity, true, DEFAULT_INPUT_OVERLAY_OPACITY, false);
|
SETTING_FLOAT("input_overlay_opacity", &settings->floats.input_overlay_opacity, true, DEFAULT_INPUT_OVERLAY_OPACITY, false);
|
||||||
|
SETTING_FLOAT("input_osk_overlay_opacity", &settings->floats.input_osk_overlay_opacity, true, DEFAULT_INPUT_OVERLAY_OPACITY, false);
|
||||||
SETTING_FLOAT("input_overlay_scale_landscape", &settings->floats.input_overlay_scale_landscape, true, DEFAULT_INPUT_OVERLAY_SCALE_LANDSCAPE, false);
|
SETTING_FLOAT("input_overlay_scale_landscape", &settings->floats.input_overlay_scale_landscape, true, DEFAULT_INPUT_OVERLAY_SCALE_LANDSCAPE, false);
|
||||||
SETTING_FLOAT("input_overlay_aspect_adjust_landscape", &settings->floats.input_overlay_aspect_adjust_landscape, true, DEFAULT_INPUT_OVERLAY_ASPECT_ADJUST_LANDSCAPE, false);
|
SETTING_FLOAT("input_overlay_aspect_adjust_landscape", &settings->floats.input_overlay_aspect_adjust_landscape, true, DEFAULT_INPUT_OVERLAY_ASPECT_ADJUST_LANDSCAPE, false);
|
||||||
SETTING_FLOAT("input_overlay_x_separation_landscape", &settings->floats.input_overlay_x_separation_landscape, true, DEFAULT_INPUT_OVERLAY_X_SEPARATION_LANDSCAPE, false);
|
SETTING_FLOAT("input_overlay_x_separation_landscape", &settings->floats.input_overlay_x_separation_landscape, true, DEFAULT_INPUT_OVERLAY_X_SEPARATION_LANDSCAPE, false);
|
||||||
@ -2921,6 +2928,7 @@ void config_set_defaults(void *data)
|
|||||||
*settings->paths.path_rgui_theme_preset = '\0';
|
*settings->paths.path_rgui_theme_preset = '\0';
|
||||||
*settings->paths.path_content_database = '\0';
|
*settings->paths.path_content_database = '\0';
|
||||||
*settings->paths.path_overlay = '\0';
|
*settings->paths.path_overlay = '\0';
|
||||||
|
*settings->paths.path_osk_overlay = '\0';
|
||||||
*settings->paths.path_record_config = '\0';
|
*settings->paths.path_record_config = '\0';
|
||||||
*settings->paths.path_stream_config = '\0';
|
*settings->paths.path_stream_config = '\0';
|
||||||
*settings->paths.path_stream_url = '\0';
|
*settings->paths.path_stream_url = '\0';
|
||||||
@ -3027,6 +3035,10 @@ void config_set_defaults(void *data)
|
|||||||
sizeof(settings->paths.path_overlay));
|
sizeof(settings->paths.path_overlay));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
if (!string_is_empty(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY]))
|
||||||
|
fill_pathname_expand_special(settings->paths.directory_osk_overlay,
|
||||||
|
g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY],
|
||||||
|
sizeof(settings->paths.directory_osk_overlay));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
@ -3913,6 +3925,8 @@ static bool config_load_file(global_t *global,
|
|||||||
#ifdef HAVE_OVERLAY
|
#ifdef HAVE_OVERLAY
|
||||||
if (string_is_equal(settings->paths.directory_overlay, "default"))
|
if (string_is_equal(settings->paths.directory_overlay, "default"))
|
||||||
*settings->paths.directory_overlay = '\0';
|
*settings->paths.directory_overlay = '\0';
|
||||||
|
if (string_is_equal(settings->paths.directory_osk_overlay, "default"))
|
||||||
|
*settings->paths.directory_osk_overlay = '\0';
|
||||||
#endif
|
#endif
|
||||||
if (string_is_equal(settings->paths.directory_system, "default"))
|
if (string_is_equal(settings->paths.directory_system, "default"))
|
||||||
*settings->paths.directory_system = '\0';
|
*settings->paths.directory_system = '\0';
|
||||||
|
@ -390,6 +390,7 @@ typedef struct settings
|
|||||||
float audio_mixer_volume; /* dB scale. */
|
float audio_mixer_volume; /* dB scale. */
|
||||||
|
|
||||||
float input_overlay_opacity;
|
float input_overlay_opacity;
|
||||||
|
float input_osk_overlay_opacity;
|
||||||
|
|
||||||
float input_overlay_scale_landscape;
|
float input_overlay_scale_landscape;
|
||||||
float input_overlay_aspect_adjust_landscape;
|
float input_overlay_aspect_adjust_landscape;
|
||||||
@ -500,6 +501,7 @@ typedef struct settings
|
|||||||
char path_cheat_database[PATH_MAX_LENGTH];
|
char path_cheat_database[PATH_MAX_LENGTH];
|
||||||
char path_content_database[PATH_MAX_LENGTH];
|
char path_content_database[PATH_MAX_LENGTH];
|
||||||
char path_overlay[PATH_MAX_LENGTH];
|
char path_overlay[PATH_MAX_LENGTH];
|
||||||
|
char path_osk_overlay[PATH_MAX_LENGTH];
|
||||||
char path_record_config[PATH_MAX_LENGTH];
|
char path_record_config[PATH_MAX_LENGTH];
|
||||||
char path_stream_config[PATH_MAX_LENGTH];
|
char path_stream_config[PATH_MAX_LENGTH];
|
||||||
char path_menu_wallpaper[PATH_MAX_LENGTH];
|
char path_menu_wallpaper[PATH_MAX_LENGTH];
|
||||||
@ -523,6 +525,7 @@ typedef struct settings
|
|||||||
char directory_libretro[PATH_MAX_LENGTH];
|
char directory_libretro[PATH_MAX_LENGTH];
|
||||||
char directory_input_remapping[PATH_MAX_LENGTH];
|
char directory_input_remapping[PATH_MAX_LENGTH];
|
||||||
char directory_overlay[PATH_MAX_LENGTH];
|
char directory_overlay[PATH_MAX_LENGTH];
|
||||||
|
char directory_osk_overlay[PATH_MAX_LENGTH];
|
||||||
char directory_resampler[PATH_MAX_LENGTH];
|
char directory_resampler[PATH_MAX_LENGTH];
|
||||||
char directory_screenshot[PATH_MAX_LENGTH];
|
char directory_screenshot[PATH_MAX_LENGTH];
|
||||||
char directory_system[PATH_MAX_LENGTH];
|
char directory_system[PATH_MAX_LENGTH];
|
||||||
@ -635,6 +638,7 @@ typedef struct settings
|
|||||||
bool input_overlay_show_mouse_cursor;
|
bool input_overlay_show_mouse_cursor;
|
||||||
bool input_overlay_auto_rotate;
|
bool input_overlay_auto_rotate;
|
||||||
bool input_overlay_auto_scale;
|
bool input_overlay_auto_scale;
|
||||||
|
bool input_osk_overlay_auto_scale;
|
||||||
bool input_descriptor_label_show;
|
bool input_descriptor_label_show;
|
||||||
bool input_descriptor_hide_unbound;
|
bool input_descriptor_hide_unbound;
|
||||||
bool input_all_users_control_menu;
|
bool input_all_users_control_menu;
|
||||||
|
@ -41,6 +41,7 @@ enum default_dirs
|
|||||||
DEFAULT_DIR_CORE,
|
DEFAULT_DIR_CORE,
|
||||||
DEFAULT_DIR_CORE_INFO,
|
DEFAULT_DIR_CORE_INFO,
|
||||||
DEFAULT_DIR_OVERLAY,
|
DEFAULT_DIR_OVERLAY,
|
||||||
|
DEFAULT_DIR_OSK_OVERLAY,
|
||||||
DEFAULT_DIR_PORT,
|
DEFAULT_DIR_PORT,
|
||||||
DEFAULT_DIR_SHADER,
|
DEFAULT_DIR_SHADER,
|
||||||
DEFAULT_DIR_SAVESTATE,
|
DEFAULT_DIR_SAVESTATE,
|
||||||
|
@ -106,6 +106,8 @@ static void frontend_emscripten_get_env(int *argc, char *argv[],
|
|||||||
"bundle/info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
"bundle/info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], base_path,
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], base_path,
|
||||||
"bundle/overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
"bundle/overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY], base_path,
|
||||||
|
"bundle/overlays/keyboards", sizeof(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY]));
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADER], base_path,
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADER], base_path,
|
||||||
"bundle/shaders", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER]));
|
"bundle/shaders", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER]));
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], base_path,
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], base_path,
|
||||||
|
@ -282,6 +282,9 @@ static void frontend_gx_get_env(int *argc, char *argv[],
|
|||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY],
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY],
|
||||||
g_defaults.dirs[DEFAULT_DIR_CORE], "overlays",
|
g_defaults.dirs[DEFAULT_DIR_CORE], "overlays",
|
||||||
sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY],
|
||||||
|
g_defaults.dirs[DEFAULT_DIR_CORE], "overlays/keyboards",
|
||||||
|
sizeof(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY]));
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER],
|
||||||
g_defaults.dirs[DEFAULT_DIR_CORE], "filters/video",
|
g_defaults.dirs[DEFAULT_DIR_CORE], "filters/video",
|
||||||
sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
|
sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER]));
|
||||||
|
@ -143,6 +143,8 @@ static void frontend_orbis_get_env(int *argc, char *argv[],
|
|||||||
"temp", sizeof(g_defaults.dirs[DEFAULT_DIR_CACHE]));
|
"temp", sizeof(g_defaults.dirs[DEFAULT_DIR_CACHE]));
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], user_path,
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], user_path,
|
||||||
"overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
"overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY], user_path,
|
||||||
|
"overlays/keyboards", sizeof(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY]));
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS], user_path,
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS], user_path,
|
||||||
"thumbnails", sizeof(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS]));
|
"thumbnails", sizeof(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS]));
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_LOGS], user_path,
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_LOGS], user_path,
|
||||||
|
@ -162,6 +162,9 @@ static void fill_derived_paths(void)
|
|||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY],
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY],
|
||||||
g_defaults.dirs[DEFAULT_DIR_PORT],
|
g_defaults.dirs[DEFAULT_DIR_PORT],
|
||||||
"overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
"overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY],
|
||||||
|
g_defaults.dirs[DEFAULT_DIR_PORT],
|
||||||
|
"overlays/keyboards", sizeof(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY]));
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
|
||||||
g_defaults.dirs[DEFAULT_DIR_PORT],
|
g_defaults.dirs[DEFAULT_DIR_PORT],
|
||||||
"assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
|
"assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
|
||||||
|
@ -99,6 +99,8 @@ static void frontend_qnx_get_env_settings(int *argc, char *argv[],
|
|||||||
"info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
"info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], data_path,
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], data_path,
|
||||||
"overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
"overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY], data_path,
|
||||||
|
"overlays/keyboards", sizeof(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY]));
|
||||||
/* user data */
|
/* user data */
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], user_path,
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], user_path,
|
||||||
"cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
|
"cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
|
||||||
|
@ -247,7 +247,10 @@ static void frontend_switch_get_env(
|
|||||||
"cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
|
"cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
|
||||||
|
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], g_defaults.dirs[DEFAULT_DIR_PORT],
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], g_defaults.dirs[DEFAULT_DIR_PORT],
|
||||||
"overlay", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
"overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
||||||
|
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY], g_defaults.dirs[DEFAULT_DIR_PORT],
|
||||||
|
"overlays/keyboards", sizeof(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY]));
|
||||||
|
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS], g_defaults.dirs[DEFAULT_DIR_PORT],
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS], g_defaults.dirs[DEFAULT_DIR_PORT],
|
||||||
"downloads", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS]));
|
"downloads", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS]));
|
||||||
|
@ -1555,6 +1555,8 @@ static void frontend_unix_get_env(int *argc,
|
|||||||
"shaders", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER]));
|
"shaders", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER]));
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], app_dir,
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], app_dir,
|
||||||
"overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
"overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY], app_dir,
|
||||||
|
"overlays/keyboards", sizeof(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY]));
|
||||||
|
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], app_dir,
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], app_dir,
|
||||||
"cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
"cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||||
@ -1858,7 +1860,9 @@ static void frontend_unix_get_env(int *argc,
|
|||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], base_path,
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], base_path,
|
||||||
"cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
|
"cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS]));
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], base_path,
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], base_path,
|
||||||
"overlay", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
"overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY], base_path,
|
||||||
|
"overlays/keyboards", sizeof(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY]));
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS], base_path,
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS], base_path,
|
||||||
"downloads", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS]));
|
"downloads", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS]));
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SCREENSHOT], base_path,
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SCREENSHOT], base_path,
|
||||||
|
@ -304,6 +304,8 @@ static void frontend_uwp_env_get(int *argc, char *argv[],
|
|||||||
"~\\thumbnails\\", sizeof(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS]));
|
"~\\thumbnails\\", sizeof(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS]));
|
||||||
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_OVERLAY],
|
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_OVERLAY],
|
||||||
"~\\overlays\\", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
"~\\overlays\\", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
||||||
|
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY],
|
||||||
|
"~\\overlays\\keyboards\\", sizeof(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY]));
|
||||||
/* This one is an exception: cores have to be loaded from
|
/* This one is an exception: cores have to be loaded from
|
||||||
* the install directory,
|
* the install directory,
|
||||||
* since this is the only place UWP apps can take .dlls from */
|
* since this is the only place UWP apps can take .dlls from */
|
||||||
|
@ -597,6 +597,8 @@ static void frontend_win32_env_get(int *argc, char *argv[],
|
|||||||
":\\thumbnails", sizeof(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS]));
|
":\\thumbnails", sizeof(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS]));
|
||||||
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_OVERLAY],
|
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_OVERLAY],
|
||||||
":\\overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
":\\overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
||||||
|
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY],
|
||||||
|
":\\overlays\\keyboards", sizeof(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY]));
|
||||||
if (!string_is_empty(libretro_directory))
|
if (!string_is_empty(libretro_directory))
|
||||||
strlcpy(g_defaults.dirs[DEFAULT_DIR_CORE], libretro_directory,
|
strlcpy(g_defaults.dirs[DEFAULT_DIR_CORE], libretro_directory,
|
||||||
sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||||
|
@ -122,6 +122,10 @@ static void frontend_xdk_get_environment_settings(int *argc, char *argv[],
|
|||||||
g_defaults.dirs[DEFAULT_DIR_CORE],
|
g_defaults.dirs[DEFAULT_DIR_CORE],
|
||||||
"overlays",
|
"overlays",
|
||||||
sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY]));
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY],
|
||||||
|
g_defaults.dirs[DEFAULT_DIR_CORE],
|
||||||
|
"overlays\\keyboards",
|
||||||
|
sizeof(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY]));
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS],
|
||||||
g_defaults.dirs[DEFAULT_DIR_CORE],
|
g_defaults.dirs[DEFAULT_DIR_CORE],
|
||||||
"media", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
|
"media", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS]));
|
||||||
|
@ -2120,9 +2120,7 @@ static void input_overlay_poll(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!bits_any_set(out->buttons.data, ARRAY_SIZE(out->buttons.data)))
|
if (ol->flags & INPUT_OVERLAY_BLOCKED)
|
||||||
ol->flags &= ~INPUT_OVERLAY_BLOCKED;
|
|
||||||
else if (ol->flags & INPUT_OVERLAY_BLOCKED)
|
|
||||||
memset(out, 0, sizeof(*out));
|
memset(out, 0, sizeof(*out));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2792,7 +2790,7 @@ static void input_poll_overlay(
|
|||||||
key_mod |= RETROKMOD_META;
|
key_mod |= RETROKMOD_META;
|
||||||
|
|
||||||
/* CAPSLOCK SCROLLOCK NUMLOCK */
|
/* CAPSLOCK SCROLLOCK NUMLOCK */
|
||||||
for (i = 0; i < (int)ARRAY_SIZE(ol_state->keys); i++)
|
for (i = (int)ARRAY_SIZE(ol_state->keys); i-- > 0;)
|
||||||
{
|
{
|
||||||
if (ol_state->keys[i] != old_ol_state.keys[i])
|
if (ol_state->keys[i] != old_ol_state.keys[i])
|
||||||
{
|
{
|
||||||
@ -2802,9 +2800,13 @@ static void input_poll_overlay(
|
|||||||
|
|
||||||
for (j = 0; j < 32; j++)
|
for (j = 0; j < 32; j++)
|
||||||
if ((orig_bits & (1 << j)) != (new_bits & (1 << j)))
|
if ((orig_bits & (1 << j)) != (new_bits & (1 << j)))
|
||||||
|
{
|
||||||
|
unsigned rk = i * 32 + j;
|
||||||
|
uint32_t c = input_keymaps_translate_rk_to_ascii(rk, key_mod);
|
||||||
input_keyboard_event(new_bits & (1 << j),
|
input_keyboard_event(new_bits & (1 << j),
|
||||||
i * 32 + j, 0, key_mod, RETRO_DEVICE_POINTER);
|
rk, c, key_mod, RETRO_DEVICE_POINTER);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Map "analog" buttons to analog axes like regular input drivers do. */
|
/* Map "analog" buttons to analog axes like regular input drivers do. */
|
||||||
@ -4341,7 +4343,9 @@ static void input_overlay_enable_(bool enable)
|
|||||||
video_driver_state_t *video_st = video_state_get_ptr();
|
video_driver_state_t *video_st = video_state_get_ptr();
|
||||||
input_driver_state_t *input_st = &input_driver_st;
|
input_driver_state_t *input_st = &input_driver_st;
|
||||||
input_overlay_t *ol = input_st->overlay_ptr;
|
input_overlay_t *ol = input_st->overlay_ptr;
|
||||||
float opacity = settings->floats.input_overlay_opacity;
|
float opacity = (ol && (ol->flags & INPUT_OVERLAY_IS_OSK))
|
||||||
|
? settings->floats.input_osk_overlay_opacity
|
||||||
|
: settings->floats.input_overlay_opacity;
|
||||||
bool auto_rotate = settings->bools.input_overlay_auto_rotate;
|
bool auto_rotate = settings->bools.input_overlay_auto_rotate;
|
||||||
bool hide_mouse_cursor = !settings->bools.input_overlay_show_mouse_cursor
|
bool hide_mouse_cursor = !settings->bools.input_overlay_show_mouse_cursor
|
||||||
&& (input_st->flags & INP_FLAG_GRAB_MOUSE_STATE);
|
&& (input_st->flags & INP_FLAG_GRAB_MOUSE_STATE);
|
||||||
@ -4519,9 +4523,6 @@ static void input_overlay_loaded(retro_task_t *task,
|
|||||||
overlay_task_data_t *data = (overlay_task_data_t*)task_data;
|
overlay_task_data_t *data = (overlay_task_data_t*)task_data;
|
||||||
input_overlay_t *ol = NULL;
|
input_overlay_t *ol = NULL;
|
||||||
input_driver_state_t *input_st = &input_driver_st;
|
input_driver_state_t *input_st = &input_driver_st;
|
||||||
#ifdef HAVE_MENU
|
|
||||||
struct menu_state *menu_st = menu_state_get_ptr();
|
|
||||||
#endif
|
|
||||||
bool enable_overlay = !input_overlay_want_hidden()
|
bool enable_overlay = !input_overlay_want_hidden()
|
||||||
&& settings->bools.input_overlay_enable;
|
&& settings->bools.input_overlay_enable;
|
||||||
uint16_t overlay_types;
|
uint16_t overlay_types;
|
||||||
@ -4536,6 +4537,8 @@ static void input_overlay_loaded(retro_task_t *task,
|
|||||||
ol->path = data->overlay_path;
|
ol->path = data->overlay_path;
|
||||||
ol->next_index = (unsigned)((ol->index + 1) % ol->size);
|
ol->next_index = (unsigned)((ol->index + 1) % ol->size);
|
||||||
ol->flags |= INPUT_OVERLAY_ALIVE;
|
ol->flags |= INPUT_OVERLAY_ALIVE;
|
||||||
|
if (data->flags & OVERLAY_LOADER_IS_OSK)
|
||||||
|
ol->flags |= INPUT_OVERLAY_IS_OSK;
|
||||||
overlay_types = data->overlay_types;
|
overlay_types = data->overlay_types;
|
||||||
|
|
||||||
free(data);
|
free(data);
|
||||||
@ -4565,11 +4568,16 @@ static void input_overlay_loaded(retro_task_t *task,
|
|||||||
input_overlay_set_eightway_diagonal_sensitivity();
|
input_overlay_set_eightway_diagonal_sensitivity();
|
||||||
|
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
/* Update menu entries */
|
/* Update menu entries if this is the main overlay */
|
||||||
if (menu_st->overlay_types != overlay_types)
|
if (!(ol->flags & INPUT_OVERLAY_IS_OSK))
|
||||||
{
|
{
|
||||||
menu_st->overlay_types = overlay_types;
|
struct menu_state *menu_st = menu_state_get_ptr();
|
||||||
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH;
|
|
||||||
|
if (menu_st->overlay_types != overlay_types)
|
||||||
|
{
|
||||||
|
menu_st->overlay_types = overlay_types;
|
||||||
|
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -4580,7 +4588,12 @@ void input_overlay_init(void)
|
|||||||
input_driver_state_t *input_st = &input_driver_st;
|
input_driver_state_t *input_st = &input_driver_st;
|
||||||
input_overlay_t *ol = input_st->overlay_ptr;
|
input_overlay_t *ol = input_st->overlay_ptr;
|
||||||
input_overlay_t *ol_cache = input_st->overlay_cache_ptr;
|
input_overlay_t *ol_cache = input_st->overlay_cache_ptr;
|
||||||
const char *path_overlay = settings->paths.path_overlay;
|
bool want_osk =
|
||||||
|
(input_st->flags & INP_FLAG_KB_LINEFEED_ENABLE)
|
||||||
|
&& !string_is_empty(settings->paths.path_osk_overlay);
|
||||||
|
const char *path_overlay = want_osk
|
||||||
|
? settings->paths.path_osk_overlay
|
||||||
|
: settings->paths.path_overlay;
|
||||||
bool want_hidden = input_overlay_want_hidden();
|
bool want_hidden = input_overlay_want_hidden();
|
||||||
bool overlay_shown = ol
|
bool overlay_shown = ol
|
||||||
&& (ol->flags & INPUT_OVERLAY_ENABLE)
|
&& (ol->flags & INPUT_OVERLAY_ENABLE)
|
||||||
@ -4609,11 +4622,15 @@ void input_overlay_init(void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
input_overlay_deinit();
|
/* Cache current overlay when loading a different type */
|
||||||
|
if (want_osk != (ol && (ol->flags & INPUT_OVERLAY_IS_OSK)))
|
||||||
|
input_overlay_unload();
|
||||||
|
else
|
||||||
|
input_overlay_deinit();
|
||||||
|
|
||||||
/* Start task */
|
/* Start task */
|
||||||
task_push_overlay_load_default(
|
task_push_overlay_load_default(
|
||||||
input_overlay_loaded, path_overlay, NULL);
|
input_overlay_loaded, path_overlay, want_osk, NULL);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -5336,9 +5353,6 @@ void input_driver_poll(void)
|
|||||||
#else
|
#else
|
||||||
const input_device_driver_t
|
const input_device_driver_t
|
||||||
*sec_joypad = NULL;
|
*sec_joypad = NULL;
|
||||||
#endif
|
|
||||||
#ifdef HAVE_OVERLAY
|
|
||||||
float input_overlay_opacity = settings->floats.input_overlay_opacity;
|
|
||||||
#endif
|
#endif
|
||||||
bool input_remap_binds_enable = settings->bools.input_remap_binds_enable;
|
bool input_remap_binds_enable = settings->bools.input_remap_binds_enable;
|
||||||
uint8_t max_users = (uint8_t)settings->uints.input_max_users;
|
uint8_t max_users = (uint8_t)settings->uints.input_max_users;
|
||||||
@ -5389,6 +5403,9 @@ void input_driver_poll(void)
|
|||||||
(input_st->overlay_ptr->flags & INPUT_OVERLAY_ALIVE))
|
(input_st->overlay_ptr->flags & INPUT_OVERLAY_ALIVE))
|
||||||
{
|
{
|
||||||
unsigned input_analog_dpad_mode = settings->uints.input_analog_dpad_mode[0];
|
unsigned input_analog_dpad_mode = settings->uints.input_analog_dpad_mode[0];
|
||||||
|
float input_overlay_opacity = (input_st->overlay_ptr->flags & INPUT_OVERLAY_IS_OSK)
|
||||||
|
? settings->floats.input_osk_overlay_opacity
|
||||||
|
: settings->floats.input_overlay_opacity;
|
||||||
|
|
||||||
switch (input_analog_dpad_mode)
|
switch (input_analog_dpad_mode)
|
||||||
{
|
{
|
||||||
@ -6507,18 +6524,9 @@ void input_keyboard_event(bool down, unsigned code,
|
|||||||
if (!down)
|
if (!down)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
switch (device)
|
if (!input_keyboard_line_event(input_st,
|
||||||
{
|
&input_st->keyboard_line, character))
|
||||||
case RETRO_DEVICE_POINTER:
|
return;
|
||||||
if (code != 0x12d)
|
|
||||||
character = (char)code;
|
|
||||||
/* fall-through */
|
|
||||||
default:
|
|
||||||
if (!input_keyboard_line_event(input_st,
|
|
||||||
&input_st->keyboard_line, character))
|
|
||||||
return;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Line is complete, can free it now. */
|
/* Line is complete, can free it now. */
|
||||||
if (input_st->keyboard_line.buffer)
|
if (input_st->keyboard_line.buffer)
|
||||||
@ -6542,9 +6550,11 @@ void input_keyboard_event(bool down, unsigned code,
|
|||||||
* pressing hotkeys and RetroPad binds, but
|
* pressing hotkeys and RetroPad binds, but
|
||||||
* - not with Game Focus
|
* - not with Game Focus
|
||||||
* - not from keyboard device type mappings
|
* - not from keyboard device type mappings
|
||||||
|
* - not from overlay keyboard input
|
||||||
* - with 'enable_hotkey' modifier set and unpressed. */
|
* - with 'enable_hotkey' modifier set and unpressed. */
|
||||||
if ( !input_st->game_focus_state.enabled
|
if ( !input_st->game_focus_state.enabled
|
||||||
&& BIT512_GET(input_st->keyboard_mapping_bits, code))
|
&& BIT512_GET(input_st->keyboard_mapping_bits, code)
|
||||||
|
&& device != RETRO_DEVICE_POINTER)
|
||||||
{
|
{
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
unsigned max_users = settings->uints.input_max_users;
|
unsigned max_users = settings->uints.input_max_users;
|
||||||
|
@ -2061,3 +2061,106 @@ void input_keymaps_translate_rk_to_str(enum retro_key key, char *buf, size_t siz
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* input_translate_rk_to_ascii:
|
||||||
|
* @key : Retro key identifier
|
||||||
|
* @mod : retro_mod mask
|
||||||
|
*
|
||||||
|
* Translates a retro key identifier with mod mask to ASCII.
|
||||||
|
*/
|
||||||
|
uint8_t input_keymaps_translate_rk_to_ascii(enum retro_key key, enum retro_mod mod)
|
||||||
|
{
|
||||||
|
if ( key > RETROK_KP_EQUALS
|
||||||
|
|| (mod & (RETROKMOD_ALT | RETROKMOD_CTRL | RETROKMOD_META)))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
/* keypad */
|
||||||
|
if (key >= RETROK_KP0)
|
||||||
|
{
|
||||||
|
if (key == RETROK_KP_ENTER)
|
||||||
|
return 10; /* \n */
|
||||||
|
|
||||||
|
if (mod & RETROKMOD_NUMLOCK)
|
||||||
|
{
|
||||||
|
switch (key)
|
||||||
|
{
|
||||||
|
case RETROK_KP_PERIOD:
|
||||||
|
return 46; /* . */
|
||||||
|
case RETROK_KP_DIVIDE:
|
||||||
|
return 47; /* / */
|
||||||
|
case RETROK_KP_MULTIPLY:
|
||||||
|
return 42; /* * */
|
||||||
|
case RETROK_KP_MINUS:
|
||||||
|
return 45; /* - */
|
||||||
|
case RETROK_KP_PLUS:
|
||||||
|
return 43; /* + */
|
||||||
|
case RETROK_KP_EQUALS:
|
||||||
|
return 61; /* = */
|
||||||
|
default: /* KP 0 - 9 */
|
||||||
|
return key - 208;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* symbols */
|
||||||
|
if (mod & RETROKMOD_SHIFT)
|
||||||
|
{
|
||||||
|
switch (key)
|
||||||
|
{
|
||||||
|
case RETROK_BACKQUOTE:
|
||||||
|
return 126; /* ~ */
|
||||||
|
case RETROK_1:
|
||||||
|
return 33; /* ! */
|
||||||
|
case RETROK_2:
|
||||||
|
return 64; /* @ */
|
||||||
|
case RETROK_3:
|
||||||
|
return 35; /* # */
|
||||||
|
case RETROK_4:
|
||||||
|
return 36; /* $ */
|
||||||
|
case RETROK_5:
|
||||||
|
return 37; /* % */
|
||||||
|
case RETROK_6:
|
||||||
|
return 94; /* ^ */
|
||||||
|
case RETROK_7:
|
||||||
|
return 38; /* & */
|
||||||
|
case RETROK_8:
|
||||||
|
return 42; /* * */
|
||||||
|
case RETROK_9:
|
||||||
|
return 40; /* ( */
|
||||||
|
case RETROK_0:
|
||||||
|
return 41; /* ) */
|
||||||
|
case RETROK_MINUS:
|
||||||
|
return 95; /* _ */
|
||||||
|
case RETROK_EQUALS:
|
||||||
|
return 43; /* + */
|
||||||
|
case RETROK_LEFTBRACKET:
|
||||||
|
return 123; /* { */
|
||||||
|
case RETROK_RIGHTBRACKET:
|
||||||
|
return 125; /* } */
|
||||||
|
case RETROK_BACKSLASH:
|
||||||
|
return 124; /* | */
|
||||||
|
case RETROK_SEMICOLON:
|
||||||
|
return 58; /* : */
|
||||||
|
case RETROK_QUOTE:
|
||||||
|
return 34; /* " */
|
||||||
|
case RETROK_COMMA:
|
||||||
|
return 60; /* < */
|
||||||
|
case RETROK_PERIOD:
|
||||||
|
return 62; /* > */
|
||||||
|
case RETROK_SLASH:
|
||||||
|
return 63; /* ? */
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* shift & capslock */
|
||||||
|
if ( key >= RETROK_a && key <= RETROK_z
|
||||||
|
&& ((mod & RETROKMOD_SHIFT) ^ ((mod & RETROKMOD_CAPSLOCK) >> 5)))
|
||||||
|
return key - 32;
|
||||||
|
|
||||||
|
return key;
|
||||||
|
}
|
||||||
|
@ -231,6 +231,15 @@ enum retro_key input_keymaps_translate_keysym_to_rk(unsigned sym);
|
|||||||
**/
|
**/
|
||||||
void input_keymaps_translate_rk_to_str(enum retro_key key, char *buf, size_t size);
|
void input_keymaps_translate_rk_to_str(enum retro_key key, char *buf, size_t size);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* input_translate_rk_to_ascii:
|
||||||
|
* @key : Retro key identifier
|
||||||
|
* @mod : retro_mod mask
|
||||||
|
*
|
||||||
|
* Translates a retro key identifier with mod mask to ASCII.
|
||||||
|
*/
|
||||||
|
uint8_t input_keymaps_translate_rk_to_ascii(enum retro_key key, enum retro_mod mod);
|
||||||
|
|
||||||
extern enum retro_key rarch_keysym_lut[RETROK_LAST];
|
extern enum retro_key rarch_keysym_lut[RETROK_LAST];
|
||||||
|
|
||||||
extern const struct input_key_map input_config_key_map[];
|
extern const struct input_key_map input_config_key_map[];
|
||||||
|
@ -50,7 +50,14 @@ enum overlay_type
|
|||||||
OVERLAY_TYPE_ANALOG_RIGHT,
|
OVERLAY_TYPE_ANALOG_RIGHT,
|
||||||
OVERLAY_TYPE_DPAD_AREA,
|
OVERLAY_TYPE_DPAD_AREA,
|
||||||
OVERLAY_TYPE_ABXY_AREA,
|
OVERLAY_TYPE_ABXY_AREA,
|
||||||
OVERLAY_TYPE_KEYBOARD
|
OVERLAY_TYPE_KEYBOARD,
|
||||||
|
OVERLAY_TYPE_LAST
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Superset of overlay_type for menu entries */
|
||||||
|
enum overlay_menu_type
|
||||||
|
{
|
||||||
|
OVERLAY_TYPE_OSK_TOGGLE = OVERLAY_TYPE_LAST
|
||||||
};
|
};
|
||||||
|
|
||||||
enum overlay_status
|
enum overlay_status
|
||||||
@ -100,14 +107,16 @@ enum overlay_show_input_type
|
|||||||
|
|
||||||
enum OVERLAY_LOADER_FLAGS
|
enum OVERLAY_LOADER_FLAGS
|
||||||
{
|
{
|
||||||
OVERLAY_LOADER_RGBA_SUPPORT = (1 << 0)
|
OVERLAY_LOADER_RGBA_SUPPORT = (1 << 0),
|
||||||
|
OVERLAY_LOADER_IS_OSK = (1 << 1)
|
||||||
};
|
};
|
||||||
|
|
||||||
enum INPUT_OVERLAY_FLAGS
|
enum INPUT_OVERLAY_FLAGS
|
||||||
{
|
{
|
||||||
INPUT_OVERLAY_ENABLE = (1 << 0),
|
INPUT_OVERLAY_ENABLE = (1 << 0),
|
||||||
INPUT_OVERLAY_ALIVE = (1 << 1),
|
INPUT_OVERLAY_ALIVE = (1 << 1),
|
||||||
INPUT_OVERLAY_BLOCKED = (1 << 2)
|
INPUT_OVERLAY_BLOCKED = (1 << 2),
|
||||||
|
INPUT_OVERLAY_IS_OSK = (1 << 3)
|
||||||
};
|
};
|
||||||
|
|
||||||
enum OVERLAY_FLAGS
|
enum OVERLAY_FLAGS
|
||||||
|
@ -1337,6 +1337,10 @@ MSG_HASH(
|
|||||||
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST,
|
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST,
|
||||||
"deferred_onscreen_overlay_settings_list"
|
"deferred_onscreen_overlay_settings_list"
|
||||||
)
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_DEFERRED_OSK_OVERLAY_SETTINGS_LIST,
|
||||||
|
"deferred_osk_overlay_settings_list"
|
||||||
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_VIDEO_LAYOUT_SETTINGS_LIST,
|
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_VIDEO_LAYOUT_SETTINGS_LIST,
|
||||||
"deferred_onscreen_video_layout_settings_list"
|
"deferred_onscreen_video_layout_settings_list"
|
||||||
@ -1975,6 +1979,10 @@ MSG_HASH(
|
|||||||
MENU_ENUM_LABEL_INPUT_OVERLAY,
|
MENU_ENUM_LABEL_INPUT_OVERLAY,
|
||||||
"input_overlay"
|
"input_overlay"
|
||||||
)
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_INPUT_OSK_OVERLAY,
|
||||||
|
"input_osk_overlay"
|
||||||
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_INPUT_OVERLAY_ENABLE,
|
MENU_ENUM_LABEL_INPUT_OVERLAY_ENABLE,
|
||||||
"input_overlay_enable"
|
"input_overlay_enable"
|
||||||
@ -2011,6 +2019,10 @@ MSG_HASH(
|
|||||||
MENU_ENUM_LABEL_INPUT_OVERLAY_AUTO_SCALE,
|
MENU_ENUM_LABEL_INPUT_OVERLAY_AUTO_SCALE,
|
||||||
"input_overlay_auto_scale"
|
"input_overlay_auto_scale"
|
||||||
)
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_INPUT_OSK_OVERLAY_AUTO_SCALE,
|
||||||
|
"input_osk_overlay_auto_scale"
|
||||||
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_INPUT_OVERLAY_DPAD_DIAGONAL_SENSITIVITY,
|
MENU_ENUM_LABEL_INPUT_OVERLAY_DPAD_DIAGONAL_SENSITIVITY,
|
||||||
"input_overlay_dpad_diagonal_sensitivity"
|
"input_overlay_dpad_diagonal_sensitivity"
|
||||||
@ -2619,6 +2631,10 @@ MSG_HASH(
|
|||||||
MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS,
|
MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS,
|
||||||
"onscreen_overlay_settings"
|
"onscreen_overlay_settings"
|
||||||
)
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_OSK_OVERLAY_SETTINGS,
|
||||||
|
"osk_overlay_settings"
|
||||||
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_ONSCREEN_VIDEO_LAYOUT_SETTINGS,
|
MENU_ENUM_LABEL_ONSCREEN_VIDEO_LAYOUT_SETTINGS,
|
||||||
"onscreen_video_layout_settings"
|
"onscreen_video_layout_settings"
|
||||||
@ -2647,6 +2663,10 @@ MSG_HASH(
|
|||||||
MENU_ENUM_LABEL_OVERLAY_DIRECTORY,
|
MENU_ENUM_LABEL_OVERLAY_DIRECTORY,
|
||||||
"overlay_directory"
|
"overlay_directory"
|
||||||
)
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_OSK_OVERLAY_DIRECTORY,
|
||||||
|
"osk_overlay_directory"
|
||||||
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_VIDEO_LAYOUT_DIRECTORY,
|
MENU_ENUM_LABEL_VIDEO_LAYOUT_DIRECTORY,
|
||||||
"video_layout_directory"
|
"video_layout_directory"
|
||||||
@ -2655,10 +2675,18 @@ MSG_HASH(
|
|||||||
MENU_ENUM_LABEL_OVERLAY_OPACITY,
|
MENU_ENUM_LABEL_OVERLAY_OPACITY,
|
||||||
"input_overlay_opacity"
|
"input_overlay_opacity"
|
||||||
)
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_OSK_OVERLAY_OPACITY,
|
||||||
|
"input_osk_overlay_opacity"
|
||||||
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_OVERLAY_PRESET,
|
MENU_ENUM_LABEL_OVERLAY_PRESET,
|
||||||
"input_overlay"
|
"input_overlay"
|
||||||
)
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_OSK_OVERLAY_PRESET,
|
||||||
|
"input_osk_overlay"
|
||||||
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_OVERLAY_SCALE_LANDSCAPE,
|
MENU_ENUM_LABEL_OVERLAY_SCALE_LANDSCAPE,
|
||||||
"input_overlay_scale_landscape"
|
"input_overlay_scale_landscape"
|
||||||
|
@ -3701,11 +3701,11 @@ MSG_HASH(
|
|||||||
)
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_VALUE_INPUT_META_OSK,
|
MENU_ENUM_LABEL_VALUE_INPUT_META_OSK,
|
||||||
"On-Screen Keyboard (Toggle)"
|
"Keyboard Overlay (Toggle)"
|
||||||
)
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_SUBLABEL_INPUT_META_OSK,
|
MENU_ENUM_SUBLABEL_INPUT_META_OSK,
|
||||||
"Switches on-screen keyboard on/off."
|
"Switches keyboard overlay on/off."
|
||||||
)
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_VALUE_INPUT_META_OVERLAY_NEXT,
|
MENU_ENUM_LABEL_VALUE_INPUT_META_OVERLAY_NEXT,
|
||||||
@ -5033,6 +5033,41 @@ MSG_HASH(
|
|||||||
MENU_ENUM_SUBLABEL_OVERLAY_Y_OFFSET_PORTRAIT,
|
MENU_ENUM_SUBLABEL_OVERLAY_Y_OFFSET_PORTRAIT,
|
||||||
"Vertical overlay offset when using portrait display orientations. Positive values shift overlay upwards; negative values downwards."
|
"Vertical overlay offset when using portrait display orientations. Positive values shift overlay upwards; negative values downwards."
|
||||||
)
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_VALUE_OSK_OVERLAY_SETTINGS,
|
||||||
|
"Keyboard Overlay"
|
||||||
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_SUBLABEL_OSK_OVERLAY_SETTINGS,
|
||||||
|
"Select and adjust a keyboard overlay."
|
||||||
|
)
|
||||||
|
|
||||||
|
/* Settings > On-Screen Display > On-Screen Overlay > Keyboard Overlay */
|
||||||
|
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_VALUE_OSK_OVERLAY_PRESET,
|
||||||
|
"Keyboard Overlay Preset"
|
||||||
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_SUBLABEL_OSK_OVERLAY_PRESET,
|
||||||
|
"Select a keyboard overlay from the file browser."
|
||||||
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_VALUE_INPUT_OSK_OVERLAY_AUTO_SCALE,
|
||||||
|
"Auto-Scale Keyboard Overlay"
|
||||||
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_SUBLABEL_INPUT_OSK_OVERLAY_AUTO_SCALE,
|
||||||
|
"Adjust keyboard overlay to its original aspect ratio. Disable to stretch to screen."
|
||||||
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_VALUE_OSK_OVERLAY_OPACITY,
|
||||||
|
"Keyboard Overlay Opacity"
|
||||||
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_SUBLABEL_OSK_OVERLAY_OPACITY,
|
||||||
|
"Opacity of all UI elements of the keyboard overlay."
|
||||||
|
)
|
||||||
|
|
||||||
/* Settings > On-Screen Display > Video Layout */
|
/* Settings > On-Screen Display > Video Layout */
|
||||||
|
|
||||||
@ -7596,6 +7631,14 @@ MSG_HASH(
|
|||||||
MENU_ENUM_SUBLABEL_OVERLAY_DIRECTORY,
|
MENU_ENUM_SUBLABEL_OVERLAY_DIRECTORY,
|
||||||
"Overlays are stored in this directory."
|
"Overlays are stored in this directory."
|
||||||
)
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_VALUE_OSK_OVERLAY_DIRECTORY,
|
||||||
|
"Keyboard Overlays"
|
||||||
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_SUBLABEL_OSK_OVERLAY_DIRECTORY,
|
||||||
|
"Keyboard Overlays are stored in this directory."
|
||||||
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_VALUE_VIDEO_LAYOUT_DIRECTORY,
|
MENU_ENUM_LABEL_VALUE_VIDEO_LAYOUT_DIRECTORY,
|
||||||
"Video Layouts"
|
"Video Layouts"
|
||||||
@ -13673,6 +13716,10 @@ MSG_HASH(
|
|||||||
MSG_FAILED_TO_LOAD_OVERLAY,
|
MSG_FAILED_TO_LOAD_OVERLAY,
|
||||||
"Failed to load overlay."
|
"Failed to load overlay."
|
||||||
)
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MSG_OSK_OVERLAY_NOT_SET,
|
||||||
|
"Keyboard overlay is not set."
|
||||||
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MSG_FAILED_TO_LOAD_STATE,
|
MSG_FAILED_TO_LOAD_STATE,
|
||||||
"Failed to load state from"
|
"Failed to load state from"
|
||||||
|
@ -149,6 +149,7 @@ GENERIC_DEFERRED_PUSH(deferred_push_override_file_load, DISPLAYLIST_
|
|||||||
GENERIC_DEFERRED_PUSH(deferred_push_record_configfile, DISPLAYLIST_RECORD_CONFIG_FILES)
|
GENERIC_DEFERRED_PUSH(deferred_push_record_configfile, DISPLAYLIST_RECORD_CONFIG_FILES)
|
||||||
GENERIC_DEFERRED_PUSH(deferred_push_stream_configfile, DISPLAYLIST_STREAM_CONFIG_FILES)
|
GENERIC_DEFERRED_PUSH(deferred_push_stream_configfile, DISPLAYLIST_STREAM_CONFIG_FILES)
|
||||||
GENERIC_DEFERRED_PUSH(deferred_push_input_overlay, DISPLAYLIST_OVERLAYS)
|
GENERIC_DEFERRED_PUSH(deferred_push_input_overlay, DISPLAYLIST_OVERLAYS)
|
||||||
|
GENERIC_DEFERRED_PUSH(deferred_push_input_osk_overlay, DISPLAYLIST_OSK_OVERLAYS)
|
||||||
GENERIC_DEFERRED_PUSH(deferred_push_video_font_path, DISPLAYLIST_VIDEO_FONTS)
|
GENERIC_DEFERRED_PUSH(deferred_push_video_font_path, DISPLAYLIST_VIDEO_FONTS)
|
||||||
GENERIC_DEFERRED_PUSH(deferred_push_xmb_font_path, DISPLAYLIST_FONTS)
|
GENERIC_DEFERRED_PUSH(deferred_push_xmb_font_path, DISPLAYLIST_FONTS)
|
||||||
GENERIC_DEFERRED_PUSH(deferred_push_content_history_path, DISPLAYLIST_CONTENT_HISTORY)
|
GENERIC_DEFERRED_PUSH(deferred_push_content_history_path, DISPLAYLIST_CONTENT_HISTORY)
|
||||||
@ -187,6 +188,7 @@ GENERIC_DEFERRED_PUSH(deferred_push_onscreen_notifications_settings_list, DISPLA
|
|||||||
GENERIC_DEFERRED_PUSH(deferred_push_onscreen_notifications_views_settings_list, DISPLAYLIST_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST)
|
GENERIC_DEFERRED_PUSH(deferred_push_onscreen_notifications_views_settings_list, DISPLAYLIST_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST)
|
||||||
#if defined(HAVE_OVERLAY)
|
#if defined(HAVE_OVERLAY)
|
||||||
GENERIC_DEFERRED_PUSH(deferred_push_onscreen_overlay_settings_list, DISPLAYLIST_ONSCREEN_OVERLAY_SETTINGS_LIST)
|
GENERIC_DEFERRED_PUSH(deferred_push_onscreen_overlay_settings_list, DISPLAYLIST_ONSCREEN_OVERLAY_SETTINGS_LIST)
|
||||||
|
GENERIC_DEFERRED_PUSH(deferred_push_osk_overlay_settings_list, DISPLAYLIST_OSK_OVERLAY_SETTINGS_LIST)
|
||||||
#endif
|
#endif
|
||||||
GENERIC_DEFERRED_PUSH(deferred_push_menu_file_browser_settings_list,DISPLAYLIST_MENU_FILE_BROWSER_SETTINGS_LIST)
|
GENERIC_DEFERRED_PUSH(deferred_push_menu_file_browser_settings_list,DISPLAYLIST_MENU_FILE_BROWSER_SETTINGS_LIST)
|
||||||
GENERIC_DEFERRED_PUSH(deferred_push_menu_views_settings_list, DISPLAYLIST_MENU_VIEWS_SETTINGS_LIST)
|
GENERIC_DEFERRED_PUSH(deferred_push_menu_views_settings_list, DISPLAYLIST_MENU_VIEWS_SETTINGS_LIST)
|
||||||
@ -712,6 +714,7 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
|
|||||||
{MENU_ENUM_LABEL_DEFERRED_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST, deferred_push_onscreen_notifications_views_settings_list},
|
{MENU_ENUM_LABEL_DEFERRED_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST, deferred_push_onscreen_notifications_views_settings_list},
|
||||||
#if defined(HAVE_OVERLAY)
|
#if defined(HAVE_OVERLAY)
|
||||||
{MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST, deferred_push_onscreen_overlay_settings_list},
|
{MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST, deferred_push_onscreen_overlay_settings_list},
|
||||||
|
{MENU_ENUM_LABEL_DEFERRED_OSK_OVERLAY_SETTINGS_LIST, deferred_push_osk_overlay_settings_list},
|
||||||
#endif
|
#endif
|
||||||
{MENU_ENUM_LABEL_DEFERRED_MENU_FILE_BROWSER_SETTINGS_LIST, deferred_push_menu_file_browser_settings_list},
|
{MENU_ENUM_LABEL_DEFERRED_MENU_FILE_BROWSER_SETTINGS_LIST, deferred_push_menu_file_browser_settings_list},
|
||||||
{MENU_ENUM_LABEL_DEFERRED_MENU_VIEWS_SETTINGS_LIST, deferred_push_menu_views_settings_list},
|
{MENU_ENUM_LABEL_DEFERRED_MENU_VIEWS_SETTINGS_LIST, deferred_push_menu_views_settings_list},
|
||||||
@ -866,6 +869,7 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
|
|||||||
{MENU_ENUM_LABEL_MENU_WALLPAPER, deferred_push_images},
|
{MENU_ENUM_LABEL_MENU_WALLPAPER, deferred_push_images},
|
||||||
{MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN, deferred_push_audio_dsp_plugin},
|
{MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN, deferred_push_audio_dsp_plugin},
|
||||||
{MENU_ENUM_LABEL_INPUT_OVERLAY, deferred_push_input_overlay},
|
{MENU_ENUM_LABEL_INPUT_OVERLAY, deferred_push_input_overlay},
|
||||||
|
{MENU_ENUM_LABEL_INPUT_OSK_OVERLAY, deferred_push_input_osk_overlay},
|
||||||
{MENU_ENUM_LABEL_VIDEO_FONT_PATH, deferred_push_video_font_path},
|
{MENU_ENUM_LABEL_VIDEO_FONT_PATH, deferred_push_video_font_path},
|
||||||
{MENU_ENUM_LABEL_XMB_FONT, deferred_push_xmb_font_path},
|
{MENU_ENUM_LABEL_XMB_FONT, deferred_push_xmb_font_path},
|
||||||
{MENU_ENUM_LABEL_CHEAT_FILE_LOAD, deferred_push_cheat_file_load},
|
{MENU_ENUM_LABEL_CHEAT_FILE_LOAD, deferred_push_cheat_file_load},
|
||||||
@ -1216,6 +1220,9 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
|
|||||||
case MENU_ENUM_LABEL_INPUT_OVERLAY:
|
case MENU_ENUM_LABEL_INPUT_OVERLAY:
|
||||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_input_overlay);
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_input_overlay);
|
||||||
break;
|
break;
|
||||||
|
case MENU_ENUM_LABEL_INPUT_OSK_OVERLAY:
|
||||||
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_input_osk_overlay);
|
||||||
|
break;
|
||||||
case MENU_ENUM_LABEL_VIDEO_FONT_PATH:
|
case MENU_ENUM_LABEL_VIDEO_FONT_PATH:
|
||||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_video_font_path);
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_video_font_path);
|
||||||
break;
|
break;
|
||||||
@ -1280,6 +1287,9 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
|
|||||||
case MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST:
|
case MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST:
|
||||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_onscreen_overlay_settings_list);
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_onscreen_overlay_settings_list);
|
||||||
break;
|
break;
|
||||||
|
case MENU_ENUM_LABEL_DEFERRED_OSK_OVERLAY_SETTINGS_LIST:
|
||||||
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_osk_overlay_settings_list);
|
||||||
|
break;
|
||||||
#endif
|
#endif
|
||||||
case MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST:
|
case MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST:
|
||||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_audio_settings_list);
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_audio_settings_list);
|
||||||
|
@ -2170,6 +2170,7 @@ static int menu_cbs_init_bind_get_string_representation_compare_type(
|
|||||||
menu_action_setting_disp_set_label_menu_file_carchive);
|
menu_action_setting_disp_set_label_menu_file_carchive);
|
||||||
break;
|
break;
|
||||||
case FILE_TYPE_OVERLAY:
|
case FILE_TYPE_OVERLAY:
|
||||||
|
case FILE_TYPE_OSK_OVERLAY:
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
menu_action_setting_disp_set_label_menu_file_overlay);
|
menu_action_setting_disp_set_label_menu_file_overlay);
|
||||||
break;
|
break;
|
||||||
|
@ -1230,6 +1230,7 @@ static int menu_cbs_init_bind_left_compare_type(menu_file_list_cbs_t *cbs,
|
|||||||
case FILE_TYPE_SHADER_PRESET:
|
case FILE_TYPE_SHADER_PRESET:
|
||||||
case FILE_TYPE_IMAGE:
|
case FILE_TYPE_IMAGE:
|
||||||
case FILE_TYPE_OVERLAY:
|
case FILE_TYPE_OVERLAY:
|
||||||
|
case FILE_TYPE_OSK_OVERLAY:
|
||||||
case FILE_TYPE_VIDEOFILTER:
|
case FILE_TYPE_VIDEOFILTER:
|
||||||
case FILE_TYPE_AUDIOFILTER:
|
case FILE_TYPE_AUDIOFILTER:
|
||||||
case FILE_TYPE_CONFIG:
|
case FILE_TYPE_CONFIG:
|
||||||
|
@ -123,6 +123,7 @@ enum
|
|||||||
ACTION_OK_SET_PATH_AUDIO_FILTER,
|
ACTION_OK_SET_PATH_AUDIO_FILTER,
|
||||||
ACTION_OK_SET_PATH_VIDEO_FILTER,
|
ACTION_OK_SET_PATH_VIDEO_FILTER,
|
||||||
ACTION_OK_SET_PATH_OVERLAY,
|
ACTION_OK_SET_PATH_OVERLAY,
|
||||||
|
ACTION_OK_SET_PATH_OSK_OVERLAY,
|
||||||
ACTION_OK_SET_PATH_VIDEO_FONT,
|
ACTION_OK_SET_PATH_VIDEO_FONT,
|
||||||
ACTION_OK_SET_DIRECTORY,
|
ACTION_OK_SET_DIRECTORY,
|
||||||
ACTION_OK_SHOW_WIMP,
|
ACTION_OK_SHOW_WIMP,
|
||||||
@ -385,6 +386,8 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl)
|
|||||||
return MENU_ENUM_LABEL_DEFERRED_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST;
|
return MENU_ENUM_LABEL_DEFERRED_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST;
|
||||||
case ACTION_OK_DL_ONSCREEN_OVERLAY_SETTINGS_LIST:
|
case ACTION_OK_DL_ONSCREEN_OVERLAY_SETTINGS_LIST:
|
||||||
return MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST;
|
return MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST;
|
||||||
|
case ACTION_OK_DL_OSK_OVERLAY_SETTINGS_LIST:
|
||||||
|
return MENU_ENUM_LABEL_DEFERRED_OSK_OVERLAY_SETTINGS_LIST;
|
||||||
case ACTION_OK_DL_MENU_SETTINGS_LIST:
|
case ACTION_OK_DL_MENU_SETTINGS_LIST:
|
||||||
return MENU_ENUM_LABEL_DEFERRED_MENU_SETTINGS_LIST;
|
return MENU_ENUM_LABEL_DEFERRED_MENU_SETTINGS_LIST;
|
||||||
#ifdef _3DS
|
#ifdef _3DS
|
||||||
@ -1022,6 +1025,20 @@ int generic_action_ok_displaylist_push(const char *path,
|
|||||||
|
|
||||||
info_path = parent_dir;
|
info_path = parent_dir;
|
||||||
break;
|
break;
|
||||||
|
case ACTION_OK_DL_OSK_OVERLAY_PRESET:
|
||||||
|
filebrowser_clear_type();
|
||||||
|
info.directory_ptr = idx;
|
||||||
|
info_label = msg_hash_to_str(MENU_ENUM_LABEL_OSK_OVERLAY_PRESET);
|
||||||
|
info.enum_idx = MENU_ENUM_LABEL_OSK_OVERLAY_PRESET;
|
||||||
|
dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE;
|
||||||
|
|
||||||
|
action_ok_get_file_browser_start_path(
|
||||||
|
settings->paths.path_osk_overlay,
|
||||||
|
settings->paths.directory_osk_overlay,
|
||||||
|
parent_dir, sizeof(parent_dir), true);
|
||||||
|
|
||||||
|
info_path = parent_dir;
|
||||||
|
break;
|
||||||
case ACTION_OK_DL_VIDEO_FONT:
|
case ACTION_OK_DL_VIDEO_FONT:
|
||||||
filebrowser_set_type(FILEBROWSER_SELECT_VIDEO_FONT);
|
filebrowser_set_type(FILEBROWSER_SELECT_VIDEO_FONT);
|
||||||
info.directory_ptr = idx;
|
info.directory_ptr = idx;
|
||||||
@ -1663,6 +1680,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
|||||||
case ACTION_OK_DL_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST:
|
case ACTION_OK_DL_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST:
|
||||||
case ACTION_OK_DL_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST:
|
case ACTION_OK_DL_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST:
|
||||||
case ACTION_OK_DL_ONSCREEN_OVERLAY_SETTINGS_LIST:
|
case ACTION_OK_DL_ONSCREEN_OVERLAY_SETTINGS_LIST:
|
||||||
|
case ACTION_OK_DL_OSK_OVERLAY_SETTINGS_LIST:
|
||||||
case ACTION_OK_DL_MENU_SETTINGS_LIST:
|
case ACTION_OK_DL_MENU_SETTINGS_LIST:
|
||||||
#ifdef _3DS
|
#ifdef _3DS
|
||||||
case ACTION_OK_DL_MENU_BOTTOM_SETTINGS_LIST:
|
case ACTION_OK_DL_MENU_BOTTOM_SETTINGS_LIST:
|
||||||
@ -2329,6 +2347,10 @@ static int generic_action_ok(const char *path,
|
|||||||
flush_char = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST);
|
flush_char = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST);
|
||||||
ret = set_path_generic(menu_label, action_path);
|
ret = set_path_generic(menu_label, action_path);
|
||||||
break;
|
break;
|
||||||
|
case ACTION_OK_SET_PATH_OSK_OVERLAY:
|
||||||
|
flush_char = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_OSK_OVERLAY_SETTINGS_LIST);
|
||||||
|
ret = set_path_generic(menu_label, action_path);
|
||||||
|
break;
|
||||||
case ACTION_OK_SET_PATH_VIDEO_FONT:
|
case ACTION_OK_SET_PATH_VIDEO_FONT:
|
||||||
flush_char = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST);
|
flush_char = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST);
|
||||||
ret = set_path_generic(menu_label, action_path);
|
ret = set_path_generic(menu_label, action_path);
|
||||||
@ -2386,6 +2408,7 @@ static int default_action_ok_load_content_from_playlist_from_menu(const char *_p
|
|||||||
DEFAULT_ACTION_OK_SET(action_ok_set_path_audiofilter, ACTION_OK_SET_PATH_AUDIO_FILTER, MSG_UNKNOWN)
|
DEFAULT_ACTION_OK_SET(action_ok_set_path_audiofilter, ACTION_OK_SET_PATH_AUDIO_FILTER, MSG_UNKNOWN)
|
||||||
DEFAULT_ACTION_OK_SET(action_ok_set_path_videofilter, ACTION_OK_SET_PATH_VIDEO_FILTER, MSG_UNKNOWN)
|
DEFAULT_ACTION_OK_SET(action_ok_set_path_videofilter, ACTION_OK_SET_PATH_VIDEO_FILTER, MSG_UNKNOWN)
|
||||||
DEFAULT_ACTION_OK_SET(action_ok_set_path_overlay, ACTION_OK_SET_PATH_OVERLAY, MSG_UNKNOWN)
|
DEFAULT_ACTION_OK_SET(action_ok_set_path_overlay, ACTION_OK_SET_PATH_OVERLAY, MSG_UNKNOWN)
|
||||||
|
DEFAULT_ACTION_OK_SET(action_ok_set_path_osk_overlay, ACTION_OK_SET_PATH_OSK_OVERLAY, MSG_UNKNOWN)
|
||||||
DEFAULT_ACTION_OK_SET(action_ok_set_path_video_font, ACTION_OK_SET_PATH_VIDEO_FONT, MSG_UNKNOWN)
|
DEFAULT_ACTION_OK_SET(action_ok_set_path_video_font, ACTION_OK_SET_PATH_VIDEO_FONT, MSG_UNKNOWN)
|
||||||
DEFAULT_ACTION_OK_SET(action_ok_set_path, ACTION_OK_SET_PATH, MSG_UNKNOWN)
|
DEFAULT_ACTION_OK_SET(action_ok_set_path, ACTION_OK_SET_PATH, MSG_UNKNOWN)
|
||||||
DEFAULT_ACTION_OK_SET(action_ok_load_core, ACTION_OK_LOAD_CORE, MSG_UNKNOWN)
|
DEFAULT_ACTION_OK_SET(action_ok_load_core, ACTION_OK_LOAD_CORE, MSG_UNKNOWN)
|
||||||
@ -5899,6 +5922,7 @@ STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_onscreen_display_list, ACTION_OK_DL_ONSC
|
|||||||
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_onscreen_notifications_list, ACTION_OK_DL_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST)
|
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_onscreen_notifications_list, ACTION_OK_DL_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST)
|
||||||
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_onscreen_notifications_views_list, ACTION_OK_DL_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST)
|
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_onscreen_notifications_views_list, ACTION_OK_DL_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST)
|
||||||
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_onscreen_overlay_list, ACTION_OK_DL_ONSCREEN_OVERLAY_SETTINGS_LIST)
|
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_onscreen_overlay_list, ACTION_OK_DL_ONSCREEN_OVERLAY_SETTINGS_LIST)
|
||||||
|
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_osk_overlay_list, ACTION_OK_DL_OSK_OVERLAY_SETTINGS_LIST)
|
||||||
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_menu_list, ACTION_OK_DL_MENU_SETTINGS_LIST)
|
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_menu_list, ACTION_OK_DL_MENU_SETTINGS_LIST)
|
||||||
#ifdef _3DS
|
#ifdef _3DS
|
||||||
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_menu_bottom_list, ACTION_OK_DL_MENU_BOTTOM_SETTINGS_LIST)
|
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_menu_bottom_list, ACTION_OK_DL_MENU_BOTTOM_SETTINGS_LIST)
|
||||||
@ -5949,6 +5973,7 @@ STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_push_generic_list, ACTION_OK_DL_GENERIC)
|
|||||||
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_audio_dsp_plugin, ACTION_OK_DL_AUDIO_DSP_PLUGIN)
|
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_audio_dsp_plugin, ACTION_OK_DL_AUDIO_DSP_PLUGIN)
|
||||||
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_video_filter, ACTION_OK_DL_VIDEO_FILTER)
|
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_video_filter, ACTION_OK_DL_VIDEO_FILTER)
|
||||||
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_overlay_preset, ACTION_OK_DL_OVERLAY_PRESET)
|
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_overlay_preset, ACTION_OK_DL_OVERLAY_PRESET)
|
||||||
|
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_osk_overlay_preset, ACTION_OK_DL_OSK_OVERLAY_PRESET)
|
||||||
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_video_font, ACTION_OK_DL_VIDEO_FONT)
|
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_video_font, ACTION_OK_DL_VIDEO_FONT)
|
||||||
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_rpl_entry, ACTION_OK_DL_RPL_ENTRY)
|
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_rpl_entry, ACTION_OK_DL_RPL_ENTRY)
|
||||||
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_open_archive_detect_core, ACTION_OK_DL_OPEN_ARCHIVE_DETECT_CORE)
|
STATIC_DEFAULT_ACTION_OK_FUNC(action_ok_open_archive_detect_core, ACTION_OK_DL_OPEN_ARCHIVE_DETECT_CORE)
|
||||||
@ -8344,6 +8369,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
|||||||
{MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN, action_ok_audio_dsp_plugin},
|
{MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN, action_ok_audio_dsp_plugin},
|
||||||
{MENU_ENUM_LABEL_VIDEO_FILTER, action_ok_video_filter},
|
{MENU_ENUM_LABEL_VIDEO_FILTER, action_ok_video_filter},
|
||||||
{MENU_ENUM_LABEL_OVERLAY_PRESET, action_ok_overlay_preset},
|
{MENU_ENUM_LABEL_OVERLAY_PRESET, action_ok_overlay_preset},
|
||||||
|
{MENU_ENUM_LABEL_OSK_OVERLAY_PRESET, action_ok_osk_overlay_preset},
|
||||||
{MENU_ENUM_LABEL_RECORD_CONFIG, action_ok_record_configfile},
|
{MENU_ENUM_LABEL_RECORD_CONFIG, action_ok_record_configfile},
|
||||||
{MENU_ENUM_LABEL_STREAM_CONFIG, action_ok_stream_configfile},
|
{MENU_ENUM_LABEL_STREAM_CONFIG, action_ok_stream_configfile},
|
||||||
#ifdef HAVE_RGUI
|
#ifdef HAVE_RGUI
|
||||||
@ -8496,6 +8522,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
|||||||
{MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_SETTINGS, action_ok_onscreen_notifications_list},
|
{MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_SETTINGS, action_ok_onscreen_notifications_list},
|
||||||
{MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS, action_ok_onscreen_notifications_views_list},
|
{MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS, action_ok_onscreen_notifications_views_list},
|
||||||
{MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS, action_ok_onscreen_overlay_list},
|
{MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS, action_ok_onscreen_overlay_list},
|
||||||
|
{MENU_ENUM_LABEL_OSK_OVERLAY_SETTINGS, action_ok_osk_overlay_list},
|
||||||
{MENU_ENUM_LABEL_MENU_SETTINGS, action_ok_menu_list},
|
{MENU_ENUM_LABEL_MENU_SETTINGS, action_ok_menu_list},
|
||||||
#ifdef _3DS
|
#ifdef _3DS
|
||||||
{MENU_ENUM_LABEL_MENU_BOTTOM_SETTINGS, action_ok_menu_bottom_list},
|
{MENU_ENUM_LABEL_MENU_BOTTOM_SETTINGS, action_ok_menu_bottom_list},
|
||||||
@ -8581,6 +8608,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
|||||||
{MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN, action_ok_audio_dsp_plugin},
|
{MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN, action_ok_audio_dsp_plugin},
|
||||||
{MENU_ENUM_LABEL_VIDEO_FILTER, action_ok_video_filter},
|
{MENU_ENUM_LABEL_VIDEO_FILTER, action_ok_video_filter},
|
||||||
{MENU_ENUM_LABEL_OVERLAY_PRESET, action_ok_overlay_preset},
|
{MENU_ENUM_LABEL_OVERLAY_PRESET, action_ok_overlay_preset},
|
||||||
|
{MENU_ENUM_LABEL_OSK_OVERLAY_PRESET, action_ok_osk_overlay_preset},
|
||||||
{MENU_ENUM_LABEL_REMAP_FILE_LOAD, action_ok_remap_file},
|
{MENU_ENUM_LABEL_REMAP_FILE_LOAD, action_ok_remap_file},
|
||||||
{MENU_ENUM_LABEL_OVERRIDE_FILE_LOAD, action_ok_override_file},
|
{MENU_ENUM_LABEL_OVERRIDE_FILE_LOAD, action_ok_override_file},
|
||||||
{MENU_ENUM_LABEL_RECORD_CONFIG, action_ok_record_configfile},
|
{MENU_ENUM_LABEL_RECORD_CONFIG, action_ok_record_configfile},
|
||||||
@ -9061,6 +9089,9 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs,
|
|||||||
case FILE_TYPE_OVERLAY:
|
case FILE_TYPE_OVERLAY:
|
||||||
BIND_ACTION_OK(cbs, action_ok_set_path_overlay);
|
BIND_ACTION_OK(cbs, action_ok_set_path_overlay);
|
||||||
break;
|
break;
|
||||||
|
case FILE_TYPE_OSK_OVERLAY:
|
||||||
|
BIND_ACTION_OK(cbs, action_ok_set_path_osk_overlay);
|
||||||
|
break;
|
||||||
case FILE_TYPE_AUDIOFILTER:
|
case FILE_TYPE_AUDIOFILTER:
|
||||||
BIND_ACTION_OK(cbs, action_ok_set_path_audiofilter);
|
BIND_ACTION_OK(cbs, action_ok_set_path_audiofilter);
|
||||||
break;
|
break;
|
||||||
|
@ -1066,6 +1066,7 @@ static int menu_cbs_init_bind_right_compare_type(menu_file_list_cbs_t *cbs,
|
|||||||
case FILE_TYPE_SHADER_PRESET:
|
case FILE_TYPE_SHADER_PRESET:
|
||||||
case FILE_TYPE_IMAGE:
|
case FILE_TYPE_IMAGE:
|
||||||
case FILE_TYPE_OVERLAY:
|
case FILE_TYPE_OVERLAY:
|
||||||
|
case FILE_TYPE_OSK_OVERLAY:
|
||||||
case FILE_TYPE_VIDEOFILTER:
|
case FILE_TYPE_VIDEOFILTER:
|
||||||
case FILE_TYPE_AUDIOFILTER:
|
case FILE_TYPE_AUDIOFILTER:
|
||||||
case FILE_TYPE_CONFIG:
|
case FILE_TYPE_CONFIG:
|
||||||
|
@ -413,6 +413,7 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_meta_pause_toggle, ME
|
|||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_meta_frameadvance, MENU_ENUM_SUBLABEL_INPUT_META_FRAMEADVANCE)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_meta_frameadvance, MENU_ENUM_SUBLABEL_INPUT_META_FRAMEADVANCE)
|
||||||
|
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_meta_mute, MENU_ENUM_SUBLABEL_INPUT_META_MUTE)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_meta_mute, MENU_ENUM_SUBLABEL_INPUT_META_MUTE)
|
||||||
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_meta_osk, MENU_ENUM_SUBLABEL_INPUT_META_OSK)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_meta_volume_up, MENU_ENUM_SUBLABEL_INPUT_META_VOLUME_UP)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_meta_volume_up, MENU_ENUM_SUBLABEL_INPUT_META_VOLUME_UP)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_meta_volume_down, MENU_ENUM_SUBLABEL_INPUT_META_VOLUME_DOWN)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_meta_volume_down, MENU_ENUM_SUBLABEL_INPUT_META_VOLUME_DOWN)
|
||||||
|
|
||||||
@ -664,6 +665,7 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_overlay_hide_when_gamepad_conn
|
|||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_overlay_show_mouse_cursor, MENU_ENUM_SUBLABEL_INPUT_OVERLAY_SHOW_MOUSE_CURSOR)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_overlay_show_mouse_cursor, MENU_ENUM_SUBLABEL_INPUT_OVERLAY_SHOW_MOUSE_CURSOR)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_overlay_auto_rotate, MENU_ENUM_SUBLABEL_INPUT_OVERLAY_AUTO_ROTATE)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_overlay_auto_rotate, MENU_ENUM_SUBLABEL_INPUT_OVERLAY_AUTO_ROTATE)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_overlay_auto_scale, MENU_ENUM_SUBLABEL_INPUT_OVERLAY_AUTO_SCALE)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_overlay_auto_scale, MENU_ENUM_SUBLABEL_INPUT_OVERLAY_AUTO_SCALE)
|
||||||
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_osk_overlay_auto_scale, MENU_ENUM_SUBLABEL_INPUT_OSK_OVERLAY_AUTO_SCALE)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_overlay_dpad_diag_sens, MENU_ENUM_SUBLABEL_INPUT_OVERLAY_DPAD_DIAGONAL_SENSITIVITY)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_overlay_dpad_diag_sens, MENU_ENUM_SUBLABEL_INPUT_OVERLAY_DPAD_DIAGONAL_SENSITIVITY)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_overlay_abxy_diag_sens, MENU_ENUM_SUBLABEL_INPUT_OVERLAY_ABXY_DIAGONAL_SENSITIVITY)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_overlay_abxy_diag_sens, MENU_ENUM_SUBLABEL_INPUT_OVERLAY_ABXY_DIAGONAL_SENSITIVITY)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_content_collection_list, MENU_ENUM_SUBLABEL_PLAYLISTS_TAB)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_content_collection_list, MENU_ENUM_SUBLABEL_PLAYLISTS_TAB)
|
||||||
@ -811,6 +813,7 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_microphone_wasapi_sh_buffer_length,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_opacity, MENU_ENUM_SUBLABEL_OVERLAY_OPACITY)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_opacity, MENU_ENUM_SUBLABEL_OVERLAY_OPACITY)
|
||||||
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_osk_overlay_opacity, MENU_ENUM_SUBLABEL_OSK_OVERLAY_OPACITY)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_scale_landscape, MENU_ENUM_SUBLABEL_OVERLAY_SCALE_LANDSCAPE)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_scale_landscape, MENU_ENUM_SUBLABEL_OVERLAY_SCALE_LANDSCAPE)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_aspect_adjust_landscape, MENU_ENUM_SUBLABEL_OVERLAY_ASPECT_ADJUST_LANDSCAPE)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_aspect_adjust_landscape, MENU_ENUM_SUBLABEL_OVERLAY_ASPECT_ADJUST_LANDSCAPE)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_x_separation_landscape, MENU_ENUM_SUBLABEL_OVERLAY_X_SEPARATION_LANDSCAPE)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_x_separation_landscape, MENU_ENUM_SUBLABEL_OVERLAY_X_SEPARATION_LANDSCAPE)
|
||||||
@ -825,6 +828,7 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_x_offset_portrait, MEN
|
|||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_y_offset_portrait, MENU_ENUM_SUBLABEL_OVERLAY_Y_OFFSET_PORTRAIT)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_y_offset_portrait, MENU_ENUM_SUBLABEL_OVERLAY_Y_OFFSET_PORTRAIT)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_enable, MENU_ENUM_SUBLABEL_INPUT_OVERLAY_ENABLE)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_enable, MENU_ENUM_SUBLABEL_INPUT_OVERLAY_ENABLE)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_preset, MENU_ENUM_SUBLABEL_OVERLAY_PRESET)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_preset, MENU_ENUM_SUBLABEL_OVERLAY_PRESET)
|
||||||
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_osk_overlay_preset, MENU_ENUM_SUBLABEL_OSK_OVERLAY_PRESET)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_netplay_public_announce, MENU_ENUM_SUBLABEL_NETPLAY_PUBLIC_ANNOUNCE)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_netplay_public_announce, MENU_ENUM_SUBLABEL_NETPLAY_PUBLIC_ANNOUNCE)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_netplay_ip_address, MENU_ENUM_SUBLABEL_NETPLAY_IP_ADDRESS)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_netplay_ip_address, MENU_ENUM_SUBLABEL_NETPLAY_IP_ADDRESS)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_netplay_tcp_udp_port, MENU_ENUM_SUBLABEL_NETPLAY_TCP_UDP_PORT)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_netplay_tcp_udp_port, MENU_ENUM_SUBLABEL_NETPLAY_TCP_UDP_PORT)
|
||||||
@ -1115,6 +1119,7 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_savefile_directory,
|
|||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_savestate_directory, MENU_ENUM_SUBLABEL_SAVESTATE_DIRECTORY)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_savestate_directory, MENU_ENUM_SUBLABEL_SAVESTATE_DIRECTORY)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_screenshot_directory, MENU_ENUM_SUBLABEL_SCREENSHOT_DIRECTORY)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_screenshot_directory, MENU_ENUM_SUBLABEL_SCREENSHOT_DIRECTORY)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_directory, MENU_ENUM_SUBLABEL_OVERLAY_DIRECTORY)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_overlay_directory, MENU_ENUM_SUBLABEL_OVERLAY_DIRECTORY)
|
||||||
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_osk_overlay_directory, MENU_ENUM_SUBLABEL_OSK_OVERLAY_DIRECTORY)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_audio_filter_directory, MENU_ENUM_SUBLABEL_AUDIO_FILTER_DIR)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_audio_filter_directory, MENU_ENUM_SUBLABEL_AUDIO_FILTER_DIR)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_video_filter_directory, MENU_ENUM_SUBLABEL_VIDEO_FILTER_DIR)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_video_filter_directory, MENU_ENUM_SUBLABEL_VIDEO_FILTER_DIR)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_video_shader_directory, MENU_ENUM_SUBLABEL_VIDEO_SHADER_DIR)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_video_shader_directory, MENU_ENUM_SUBLABEL_VIDEO_SHADER_DIR)
|
||||||
@ -1176,6 +1181,7 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_midi_input,
|
|||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_midi_output, MENU_ENUM_SUBLABEL_MIDI_OUTPUT)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_midi_output, MENU_ENUM_SUBLABEL_MIDI_OUTPUT)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_midi_volume, MENU_ENUM_SUBLABEL_MIDI_VOLUME)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_midi_volume, MENU_ENUM_SUBLABEL_MIDI_VOLUME)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_onscreen_overlay_settings_list, MENU_ENUM_SUBLABEL_ONSCREEN_OVERLAY_SETTINGS)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_onscreen_overlay_settings_list, MENU_ENUM_SUBLABEL_ONSCREEN_OVERLAY_SETTINGS)
|
||||||
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_osk_overlay_settings_list, MENU_ENUM_SUBLABEL_OSK_OVERLAY_SETTINGS)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_onscreen_notifications_settings_list, MENU_ENUM_SUBLABEL_ONSCREEN_NOTIFICATIONS_SETTINGS)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_onscreen_notifications_settings_list, MENU_ENUM_SUBLABEL_ONSCREEN_NOTIFICATIONS_SETTINGS)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_onscreen_notifications_views_settings_list, MENU_ENUM_SUBLABEL_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS)
|
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_onscreen_notifications_views_settings_list, MENU_ENUM_SUBLABEL_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS)
|
||||||
#ifdef HAVE_QT
|
#ifdef HAVE_QT
|
||||||
@ -2350,6 +2356,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
|||||||
case RARCH_NETPLAY_FADE_CHAT_TOGGLE:
|
case RARCH_NETPLAY_FADE_CHAT_TOGGLE:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_meta_netplay_fade_chat_toggle);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_meta_netplay_fade_chat_toggle);
|
||||||
return 0;
|
return 0;
|
||||||
|
case RARCH_OSK:
|
||||||
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_meta_osk);
|
||||||
|
return 0;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -2633,6 +2642,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
|||||||
case MENU_ENUM_LABEL_OVERLAY_DIRECTORY:
|
case MENU_ENUM_LABEL_OVERLAY_DIRECTORY:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_overlay_directory);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_overlay_directory);
|
||||||
break;
|
break;
|
||||||
|
case MENU_ENUM_LABEL_OSK_OVERLAY_DIRECTORY:
|
||||||
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_osk_overlay_directory);
|
||||||
|
break;
|
||||||
case MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY:
|
case MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_screenshot_directory);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_screenshot_directory);
|
||||||
break;
|
break;
|
||||||
@ -3566,12 +3578,18 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
|||||||
case MENU_ENUM_LABEL_OVERLAY_PRESET:
|
case MENU_ENUM_LABEL_OVERLAY_PRESET:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_overlay_preset);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_overlay_preset);
|
||||||
break;
|
break;
|
||||||
|
case MENU_ENUM_LABEL_OSK_OVERLAY_PRESET:
|
||||||
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_osk_overlay_preset);
|
||||||
|
break;
|
||||||
case MENU_ENUM_LABEL_INPUT_OVERLAY_ENABLE:
|
case MENU_ENUM_LABEL_INPUT_OVERLAY_ENABLE:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_overlay_enable);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_overlay_enable);
|
||||||
break;
|
break;
|
||||||
case MENU_ENUM_LABEL_OVERLAY_OPACITY:
|
case MENU_ENUM_LABEL_OVERLAY_OPACITY:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_overlay_opacity);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_overlay_opacity);
|
||||||
break;
|
break;
|
||||||
|
case MENU_ENUM_LABEL_OSK_OVERLAY_OPACITY:
|
||||||
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_osk_overlay_opacity);
|
||||||
|
break;
|
||||||
case MENU_ENUM_LABEL_OVERLAY_SCALE_LANDSCAPE:
|
case MENU_ENUM_LABEL_OVERLAY_SCALE_LANDSCAPE:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_overlay_scale_landscape);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_overlay_scale_landscape);
|
||||||
break;
|
break;
|
||||||
@ -4046,6 +4064,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
|||||||
case MENU_ENUM_LABEL_INPUT_OVERLAY_AUTO_SCALE:
|
case MENU_ENUM_LABEL_INPUT_OVERLAY_AUTO_SCALE:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_overlay_auto_scale);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_overlay_auto_scale);
|
||||||
break;
|
break;
|
||||||
|
case MENU_ENUM_LABEL_INPUT_OSK_OVERLAY_AUTO_SCALE:
|
||||||
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_osk_overlay_auto_scale);
|
||||||
|
break;
|
||||||
case MENU_ENUM_LABEL_INPUT_OVERLAY_DPAD_DIAGONAL_SENSITIVITY:
|
case MENU_ENUM_LABEL_INPUT_OVERLAY_DPAD_DIAGONAL_SENSITIVITY:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_overlay_dpad_diag_sens);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_overlay_dpad_diag_sens);
|
||||||
break;
|
break;
|
||||||
@ -5052,6 +5073,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
|||||||
case MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS:
|
case MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_onscreen_overlay_settings_list);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_onscreen_overlay_settings_list);
|
||||||
break;
|
break;
|
||||||
|
case MENU_ENUM_LABEL_OSK_OVERLAY_SETTINGS:
|
||||||
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_osk_overlay_settings_list);
|
||||||
|
break;
|
||||||
case MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_SETTINGS:
|
case MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_SETTINGS:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_onscreen_notifications_settings_list);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_onscreen_notifications_settings_list);
|
||||||
break;
|
break;
|
||||||
|
@ -639,6 +639,7 @@ DEFAULT_TITLE_MACRO(action_get_onscreen_display_settings_list, MENU_ENUM_LABEL_
|
|||||||
DEFAULT_TITLE_MACRO(action_get_onscreen_notifications_settings_list, MENU_ENUM_LABEL_VALUE_ONSCREEN_NOTIFICATIONS_SETTINGS)
|
DEFAULT_TITLE_MACRO(action_get_onscreen_notifications_settings_list, MENU_ENUM_LABEL_VALUE_ONSCREEN_NOTIFICATIONS_SETTINGS)
|
||||||
DEFAULT_TITLE_MACRO(action_get_onscreen_notifications_views_settings_list, MENU_ENUM_LABEL_VALUE_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS)
|
DEFAULT_TITLE_MACRO(action_get_onscreen_notifications_views_settings_list, MENU_ENUM_LABEL_VALUE_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS)
|
||||||
DEFAULT_TITLE_MACRO(action_get_onscreen_overlay_settings_list, MENU_ENUM_LABEL_VALUE_ONSCREEN_OVERLAY_SETTINGS)
|
DEFAULT_TITLE_MACRO(action_get_onscreen_overlay_settings_list, MENU_ENUM_LABEL_VALUE_ONSCREEN_OVERLAY_SETTINGS)
|
||||||
|
DEFAULT_TITLE_MACRO(action_get_osk_overlay_settings_list, MENU_ENUM_LABEL_VALUE_OSK_OVERLAY_SETTINGS)
|
||||||
DEFAULT_TITLE_MACRO(action_get_menu_views_settings_list, MENU_ENUM_LABEL_VALUE_MENU_VIEWS_SETTINGS)
|
DEFAULT_TITLE_MACRO(action_get_menu_views_settings_list, MENU_ENUM_LABEL_VALUE_MENU_VIEWS_SETTINGS)
|
||||||
DEFAULT_TITLE_MACRO(action_get_settings_views_settings_list, MENU_ENUM_LABEL_VALUE_SETTINGS_VIEWS_SETTINGS)
|
DEFAULT_TITLE_MACRO(action_get_settings_views_settings_list, MENU_ENUM_LABEL_VALUE_SETTINGS_VIEWS_SETTINGS)
|
||||||
DEFAULT_TITLE_MACRO(action_get_quick_menu_views_settings_list, MENU_ENUM_LABEL_VALUE_QUICK_MENU_VIEWS_SETTINGS)
|
DEFAULT_TITLE_MACRO(action_get_quick_menu_views_settings_list, MENU_ENUM_LABEL_VALUE_QUICK_MENU_VIEWS_SETTINGS)
|
||||||
@ -998,6 +999,7 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs,
|
|||||||
{MENU_ENUM_LABEL_DEFERRED_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST, action_get_onscreen_notifications_settings_list},
|
{MENU_ENUM_LABEL_DEFERRED_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST, action_get_onscreen_notifications_settings_list},
|
||||||
{MENU_ENUM_LABEL_DEFERRED_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST, action_get_onscreen_notifications_views_settings_list},
|
{MENU_ENUM_LABEL_DEFERRED_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST, action_get_onscreen_notifications_views_settings_list},
|
||||||
{MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST, action_get_onscreen_overlay_settings_list},
|
{MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST, action_get_onscreen_overlay_settings_list},
|
||||||
|
{MENU_ENUM_LABEL_DEFERRED_OSK_OVERLAY_SETTINGS_LIST, action_get_osk_overlay_settings_list},
|
||||||
{MENU_ENUM_LABEL_DEFERRED_MENU_VIEWS_SETTINGS_LIST, action_get_menu_views_settings_list},
|
{MENU_ENUM_LABEL_DEFERRED_MENU_VIEWS_SETTINGS_LIST, action_get_menu_views_settings_list},
|
||||||
{MENU_ENUM_LABEL_DEFERRED_SETTINGS_VIEWS_SETTINGS_LIST, action_get_settings_views_settings_list},
|
{MENU_ENUM_LABEL_DEFERRED_SETTINGS_VIEWS_SETTINGS_LIST, action_get_settings_views_settings_list},
|
||||||
{MENU_ENUM_LABEL_DEFERRED_QUICK_MENU_VIEWS_SETTINGS_LIST, action_get_quick_menu_views_settings_list},
|
{MENU_ENUM_LABEL_DEFERRED_QUICK_MENU_VIEWS_SETTINGS_LIST, action_get_quick_menu_views_settings_list},
|
||||||
@ -1613,6 +1615,9 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs,
|
|||||||
case MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST:
|
case MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST:
|
||||||
BIND_ACTION_GET_TITLE(cbs, action_get_onscreen_overlay_settings_list);
|
BIND_ACTION_GET_TITLE(cbs, action_get_onscreen_overlay_settings_list);
|
||||||
break;
|
break;
|
||||||
|
case MENU_ENUM_LABEL_DEFERRED_OSK_OVERLAY_SETTINGS_LIST:
|
||||||
|
BIND_ACTION_GET_TITLE(cbs, action_get_osk_overlay_settings_list);
|
||||||
|
break;
|
||||||
case MENU_ENUM_LABEL_DEFERRED_CORE_SETTINGS_LIST:
|
case MENU_ENUM_LABEL_DEFERRED_CORE_SETTINGS_LIST:
|
||||||
BIND_ACTION_GET_TITLE(cbs, action_get_core_settings_list);
|
BIND_ACTION_GET_TITLE(cbs, action_get_core_settings_list);
|
||||||
break;
|
break;
|
||||||
|
@ -10882,6 +10882,7 @@ static void materialui_list_insert(
|
|||||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS_VIEWS_SETTINGS))
|
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS_VIEWS_SETTINGS))
|
||||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_MENU_SETTINGS))
|
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_MENU_SETTINGS))
|
||||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS))
|
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS))
|
||||||
|
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_OSK_OVERLAY_SETTINGS))
|
||||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_SETTINGS))
|
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_SETTINGS))
|
||||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS))
|
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS))
|
||||||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ACCOUNTS_LIST))
|
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ACCOUNTS_LIST))
|
||||||
|
@ -1893,6 +1893,8 @@ static uintptr_t ozone_entries_icon_get_texture(
|
|||||||
case MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS:
|
case MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS:
|
||||||
case MENU_ENUM_LABEL_CONTENT_SHOW_OVERLAYS:
|
case MENU_ENUM_LABEL_CONTENT_SHOW_OVERLAYS:
|
||||||
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_OVERLAY];
|
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_OVERLAY];
|
||||||
|
case MENU_ENUM_LABEL_OSK_OVERLAY_SETTINGS:
|
||||||
|
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SETTING];
|
||||||
case MENU_ENUM_LABEL_UPDATE_CG_SHADERS:
|
case MENU_ENUM_LABEL_UPDATE_CG_SHADERS:
|
||||||
case MENU_ENUM_LABEL_UPDATE_GLSL_SHADERS:
|
case MENU_ENUM_LABEL_UPDATE_GLSL_SHADERS:
|
||||||
case MENU_ENUM_LABEL_UPDATE_SLANG_SHADERS:
|
case MENU_ENUM_LABEL_UPDATE_SLANG_SHADERS:
|
||||||
|
@ -3047,6 +3047,8 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
|
|||||||
case MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS:
|
case MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS:
|
||||||
case MENU_ENUM_LABEL_CONTENT_SHOW_OVERLAYS:
|
case MENU_ENUM_LABEL_CONTENT_SHOW_OVERLAYS:
|
||||||
return xmb->textures.list[XMB_TEXTURE_OVERLAY];
|
return xmb->textures.list[XMB_TEXTURE_OVERLAY];
|
||||||
|
case MENU_ENUM_LABEL_OSK_OVERLAY_SETTINGS:
|
||||||
|
return xmb->textures.list[XMB_TEXTURE_SETTING];
|
||||||
case MENU_ENUM_LABEL_UPDATE_CG_SHADERS:
|
case MENU_ENUM_LABEL_UPDATE_CG_SHADERS:
|
||||||
case MENU_ENUM_LABEL_UPDATE_GLSL_SHADERS:
|
case MENU_ENUM_LABEL_UPDATE_GLSL_SHADERS:
|
||||||
case MENU_ENUM_LABEL_UPDATE_SLANG_SHADERS:
|
case MENU_ENUM_LABEL_UPDATE_SLANG_SHADERS:
|
||||||
|
@ -77,6 +77,7 @@ enum
|
|||||||
ACTION_OK_DL_AUDIO_DSP_PLUGIN,
|
ACTION_OK_DL_AUDIO_DSP_PLUGIN,
|
||||||
ACTION_OK_DL_VIDEO_FILTER,
|
ACTION_OK_DL_VIDEO_FILTER,
|
||||||
ACTION_OK_DL_OVERLAY_PRESET,
|
ACTION_OK_DL_OVERLAY_PRESET,
|
||||||
|
ACTION_OK_DL_OSK_OVERLAY_PRESET,
|
||||||
ACTION_OK_DL_VIDEO_FONT,
|
ACTION_OK_DL_VIDEO_FONT,
|
||||||
ACTION_OK_DL_SHADER_PASS,
|
ACTION_OK_DL_SHADER_PASS,
|
||||||
ACTION_OK_DL_FAVORITES_LIST,
|
ACTION_OK_DL_FAVORITES_LIST,
|
||||||
@ -183,6 +184,7 @@ enum
|
|||||||
ACTION_OK_DL_MIXER_STREAM_SETTINGS_LIST,
|
ACTION_OK_DL_MIXER_STREAM_SETTINGS_LIST,
|
||||||
ACTION_OK_DL_ONSCREEN_DISPLAY_SETTINGS_LIST,
|
ACTION_OK_DL_ONSCREEN_DISPLAY_SETTINGS_LIST,
|
||||||
ACTION_OK_DL_ONSCREEN_OVERLAY_SETTINGS_LIST,
|
ACTION_OK_DL_ONSCREEN_OVERLAY_SETTINGS_LIST,
|
||||||
|
ACTION_OK_DL_OSK_OVERLAY_SETTINGS_LIST,
|
||||||
ACTION_OK_DL_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST,
|
ACTION_OK_DL_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST,
|
||||||
ACTION_OK_DL_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST,
|
ACTION_OK_DL_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST,
|
||||||
ACTION_OK_DL_MENU_VIEWS_SETTINGS_LIST,
|
ACTION_OK_DL_MENU_VIEWS_SETTINGS_LIST,
|
||||||
|
@ -6802,8 +6802,7 @@ unsigned menu_displaylist_build_list(
|
|||||||
if (i == RARCH_FIRST_META_KEY)
|
if (i == RARCH_FIRST_META_KEY)
|
||||||
continue;
|
continue;
|
||||||
/* Hidden items */
|
/* Hidden items */
|
||||||
else if ((key == RARCH_OVERLAY_NEXT)
|
else if (key == RARCH_OVERLAY_NEXT)
|
||||||
|| (key == RARCH_OSK))
|
|
||||||
continue;
|
continue;
|
||||||
/* Show combo entries before normal binds */
|
/* Show combo entries before normal binds */
|
||||||
else if (key == RARCH_MENU_TOGGLE)
|
else if (key == RARCH_MENU_TOGGLE)
|
||||||
@ -9651,6 +9650,7 @@ unsigned menu_displaylist_build_list(
|
|||||||
{MENU_ENUM_LABEL_OVERLAY_Y_SEPARATION_PORTRAIT, PARSE_ONLY_FLOAT, false },
|
{MENU_ENUM_LABEL_OVERLAY_Y_SEPARATION_PORTRAIT, PARSE_ONLY_FLOAT, false },
|
||||||
{MENU_ENUM_LABEL_OVERLAY_X_OFFSET_PORTRAIT, PARSE_ONLY_FLOAT, false },
|
{MENU_ENUM_LABEL_OVERLAY_X_OFFSET_PORTRAIT, PARSE_ONLY_FLOAT, false },
|
||||||
{MENU_ENUM_LABEL_OVERLAY_Y_OFFSET_PORTRAIT, PARSE_ONLY_FLOAT, false },
|
{MENU_ENUM_LABEL_OVERLAY_Y_OFFSET_PORTRAIT, PARSE_ONLY_FLOAT, false },
|
||||||
|
{MENU_ENUM_LABEL_OSK_OVERLAY_SETTINGS, PARSE_ACTION, false },
|
||||||
};
|
};
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(build_list); i++)
|
for (i = 0; i < ARRAY_SIZE(build_list); i++)
|
||||||
@ -9700,6 +9700,17 @@ unsigned menu_displaylist_build_list(
|
|||||||
BIT16_GET(menu_st->overlay_types, OVERLAY_TYPE_ABXY_AREA))
|
BIT16_GET(menu_st->overlay_types, OVERLAY_TYPE_ABXY_AREA))
|
||||||
build_list[i].checked = true;
|
build_list[i].checked = true;
|
||||||
break;
|
break;
|
||||||
|
case MENU_ENUM_LABEL_OSK_OVERLAY_SETTINGS:
|
||||||
|
/* Show keyboard menu if the main overlay has
|
||||||
|
* an osk_toggle or if the OSK hotkey is set */
|
||||||
|
if (input_overlay_enable &&
|
||||||
|
(BIT16_GET(menu_st->overlay_types, OVERLAY_TYPE_OSK_TOGGLE)
|
||||||
|
|| input_config_binds[0][RARCH_OSK].joykey != NO_BTN
|
||||||
|
|| input_config_binds[0][RARCH_OSK].joyaxis != AXIS_NONE
|
||||||
|
|| input_config_binds[0][RARCH_OSK].key != RETROK_UNKNOWN
|
||||||
|
|| input_config_binds[0][RARCH_OSK].mbutton != NO_BTN))
|
||||||
|
build_list[i].checked = true;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -9717,6 +9728,20 @@ unsigned menu_displaylist_build_list(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case DISPLAYLIST_OSK_OVERLAY_SETTINGS_LIST:
|
||||||
|
if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list,
|
||||||
|
MENU_ENUM_LABEL_OSK_OVERLAY_PRESET,
|
||||||
|
PARSE_ONLY_PATH, false) == 0)
|
||||||
|
count++;
|
||||||
|
if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list,
|
||||||
|
MENU_ENUM_LABEL_INPUT_OSK_OVERLAY_AUTO_SCALE,
|
||||||
|
PARSE_ONLY_BOOL, false) == 0)
|
||||||
|
count++;
|
||||||
|
if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list,
|
||||||
|
MENU_ENUM_LABEL_OSK_OVERLAY_OPACITY,
|
||||||
|
PARSE_ONLY_FLOAT, false) == 0)
|
||||||
|
count++;
|
||||||
|
break;
|
||||||
#endif
|
#endif
|
||||||
case DISPLAYLIST_LATENCY_SETTINGS_LIST:
|
case DISPLAYLIST_LATENCY_SETTINGS_LIST:
|
||||||
{
|
{
|
||||||
@ -10623,6 +10648,7 @@ unsigned menu_displaylist_build_list(
|
|||||||
{MENU_ENUM_LABEL_RECORDING_OUTPUT_DIRECTORY, PARSE_ONLY_DIR},
|
{MENU_ENUM_LABEL_RECORDING_OUTPUT_DIRECTORY, PARSE_ONLY_DIR},
|
||||||
{MENU_ENUM_LABEL_RECORDING_CONFIG_DIRECTORY, PARSE_ONLY_DIR},
|
{MENU_ENUM_LABEL_RECORDING_CONFIG_DIRECTORY, PARSE_ONLY_DIR},
|
||||||
{MENU_ENUM_LABEL_OVERLAY_DIRECTORY, PARSE_ONLY_DIR},
|
{MENU_ENUM_LABEL_OVERLAY_DIRECTORY, PARSE_ONLY_DIR},
|
||||||
|
{MENU_ENUM_LABEL_OSK_OVERLAY_DIRECTORY, PARSE_ONLY_DIR},
|
||||||
#ifdef HAVE_SCREENSHOTS
|
#ifdef HAVE_SCREENSHOTS
|
||||||
{MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY, PARSE_ONLY_DIR},
|
{MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY, PARSE_ONLY_DIR},
|
||||||
#endif
|
#endif
|
||||||
@ -13592,6 +13618,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
|
|||||||
case DISPLAYLIST_LATENCY_SETTINGS_LIST:
|
case DISPLAYLIST_LATENCY_SETTINGS_LIST:
|
||||||
#if defined(HAVE_OVERLAY)
|
#if defined(HAVE_OVERLAY)
|
||||||
case DISPLAYLIST_ONSCREEN_OVERLAY_SETTINGS_LIST:
|
case DISPLAYLIST_ONSCREEN_OVERLAY_SETTINGS_LIST:
|
||||||
|
case DISPLAYLIST_OSK_OVERLAY_SETTINGS_LIST:
|
||||||
#endif
|
#endif
|
||||||
case DISPLAYLIST_ACCOUNTS_CHEEVOS_LIST:
|
case DISPLAYLIST_ACCOUNTS_CHEEVOS_LIST:
|
||||||
case DISPLAYLIST_ACCOUNTS_LIST:
|
case DISPLAYLIST_ACCOUNTS_LIST:
|
||||||
@ -14479,6 +14506,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
|
|||||||
case DISPLAYLIST_STREAM_CONFIG_FILES:
|
case DISPLAYLIST_STREAM_CONFIG_FILES:
|
||||||
case DISPLAYLIST_RECORD_CONFIG_FILES:
|
case DISPLAYLIST_RECORD_CONFIG_FILES:
|
||||||
case DISPLAYLIST_OVERLAYS:
|
case DISPLAYLIST_OVERLAYS:
|
||||||
|
case DISPLAYLIST_OSK_OVERLAYS:
|
||||||
case DISPLAYLIST_FONTS:
|
case DISPLAYLIST_FONTS:
|
||||||
case DISPLAYLIST_VIDEO_FONTS:
|
case DISPLAYLIST_VIDEO_FONTS:
|
||||||
case DISPLAYLIST_AUDIO_FILTERS:
|
case DISPLAYLIST_AUDIO_FILTERS:
|
||||||
@ -14519,6 +14547,10 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
|
|||||||
info->type_default = FILE_TYPE_OVERLAY;
|
info->type_default = FILE_TYPE_OVERLAY;
|
||||||
info->exts = strldup("cfg", sizeof("cfg"));
|
info->exts = strldup("cfg", sizeof("cfg"));
|
||||||
break;
|
break;
|
||||||
|
case DISPLAYLIST_OSK_OVERLAYS:
|
||||||
|
info->type_default = FILE_TYPE_OSK_OVERLAY;
|
||||||
|
info->exts = strldup("cfg", sizeof("cfg"));
|
||||||
|
break;
|
||||||
case DISPLAYLIST_FONTS:
|
case DISPLAYLIST_FONTS:
|
||||||
info->type_default = FILE_TYPE_FONT;
|
info->type_default = FILE_TYPE_FONT;
|
||||||
info->exts = strldup("ttf", sizeof("ttf"));
|
info->exts = strldup("ttf", sizeof("ttf"));
|
||||||
|
@ -157,6 +157,7 @@ enum menu_displaylist_ctl_state
|
|||||||
DISPLAYLIST_EJECT_DISC,
|
DISPLAYLIST_EJECT_DISC,
|
||||||
#endif
|
#endif
|
||||||
DISPLAYLIST_OVERLAYS,
|
DISPLAYLIST_OVERLAYS,
|
||||||
|
DISPLAYLIST_OSK_OVERLAYS,
|
||||||
DISPLAYLIST_SHADER_PARAMETERS,
|
DISPLAYLIST_SHADER_PARAMETERS,
|
||||||
DISPLAYLIST_SHADER_PARAMETERS_PRESET,
|
DISPLAYLIST_SHADER_PARAMETERS_PRESET,
|
||||||
DISPLAYLIST_SHADER_PRESET_SAVE,
|
DISPLAYLIST_SHADER_PRESET_SAVE,
|
||||||
@ -203,6 +204,7 @@ enum menu_displaylist_ctl_state
|
|||||||
DISPLAYLIST_INPUT_HOTKEY_BINDS_LIST,
|
DISPLAYLIST_INPUT_HOTKEY_BINDS_LIST,
|
||||||
#if defined(HAVE_OVERLAY)
|
#if defined(HAVE_OVERLAY)
|
||||||
DISPLAYLIST_ONSCREEN_OVERLAY_SETTINGS_LIST,
|
DISPLAYLIST_ONSCREEN_OVERLAY_SETTINGS_LIST,
|
||||||
|
DISPLAYLIST_OSK_OVERLAY_SETTINGS_LIST,
|
||||||
#endif
|
#endif
|
||||||
DISPLAYLIST_AI_SERVICE_SETTINGS_LIST,
|
DISPLAYLIST_AI_SERVICE_SETTINGS_LIST,
|
||||||
DISPLAYLIST_ACCESSIBILITY_SETTINGS_LIST,
|
DISPLAYLIST_ACCESSIBILITY_SETTINGS_LIST,
|
||||||
|
@ -294,6 +294,7 @@ enum settings_list_type
|
|||||||
SETTINGS_LIST_FRAME_TIME_COUNTER,
|
SETTINGS_LIST_FRAME_TIME_COUNTER,
|
||||||
SETTINGS_LIST_ONSCREEN_NOTIFICATIONS,
|
SETTINGS_LIST_ONSCREEN_NOTIFICATIONS,
|
||||||
SETTINGS_LIST_OVERLAY,
|
SETTINGS_LIST_OVERLAY,
|
||||||
|
SETTINGS_LIST_OSK_OVERLAY,
|
||||||
SETTINGS_LIST_MENU,
|
SETTINGS_LIST_MENU,
|
||||||
SETTINGS_LIST_MENU_FILE_BROWSER,
|
SETTINGS_LIST_MENU_FILE_BROWSER,
|
||||||
SETTINGS_LIST_MULTIMEDIA,
|
SETTINGS_LIST_MULTIMEDIA,
|
||||||
@ -9997,6 +9998,15 @@ static bool setting_append_list(
|
|||||||
&subgroup_info,
|
&subgroup_info,
|
||||||
parent_group);
|
parent_group);
|
||||||
SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_LAKKA_ADVANCED);
|
SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_LAKKA_ADVANCED);
|
||||||
|
|
||||||
|
CONFIG_ACTION(
|
||||||
|
list, list_info,
|
||||||
|
MENU_ENUM_LABEL_OSK_OVERLAY_SETTINGS,
|
||||||
|
MENU_ENUM_LABEL_VALUE_OSK_OVERLAY_SETTINGS,
|
||||||
|
&group_info,
|
||||||
|
&subgroup_info,
|
||||||
|
parent_group);
|
||||||
|
SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_LAKKA_ADVANCED);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
CONFIG_ACTION(
|
CONFIG_ACTION(
|
||||||
@ -16499,9 +16509,74 @@ static bool setting_append_list(
|
|||||||
|
|
||||||
END_SUB_GROUP(list, list_info, parent_group);
|
END_SUB_GROUP(list, list_info, parent_group);
|
||||||
|
|
||||||
START_SUB_GROUP(list, list_info, "Onscreen Keyboard Overlay", &group_info, &subgroup_info, parent_group);
|
END_GROUP(list, list_info, parent_group);
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
case SETTINGS_LIST_OSK_OVERLAY:
|
||||||
|
#ifdef HAVE_OVERLAY
|
||||||
|
START_GROUP(list, list_info, &group_info,
|
||||||
|
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OSK_OVERLAY_SETTINGS),
|
||||||
|
parent_group);
|
||||||
|
|
||||||
|
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_OVERLAY_SETTINGS);
|
||||||
|
|
||||||
|
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
|
||||||
|
|
||||||
|
CONFIG_PATH(
|
||||||
|
list, list_info,
|
||||||
|
settings->paths.path_osk_overlay,
|
||||||
|
sizeof(settings->paths.path_osk_overlay),
|
||||||
|
MENU_ENUM_LABEL_OSK_OVERLAY_PRESET,
|
||||||
|
MENU_ENUM_LABEL_VALUE_OSK_OVERLAY_PRESET,
|
||||||
|
settings->paths.directory_osk_overlay,
|
||||||
|
&group_info,
|
||||||
|
&subgroup_info,
|
||||||
|
parent_group,
|
||||||
|
general_write_handler,
|
||||||
|
general_read_handler);
|
||||||
|
MENU_SETTINGS_LIST_CURRENT_ADD_VALUES(list, list_info, "cfg");
|
||||||
|
MENU_SETTINGS_LIST_CURRENT_ADD_CMD(list, list_info, CMD_EVENT_OVERLAY_INIT);
|
||||||
|
|
||||||
|
CONFIG_BOOL(
|
||||||
|
list, list_info,
|
||||||
|
&settings->bools.input_osk_overlay_auto_scale,
|
||||||
|
MENU_ENUM_LABEL_INPUT_OSK_OVERLAY_AUTO_SCALE,
|
||||||
|
MENU_ENUM_LABEL_VALUE_INPUT_OSK_OVERLAY_AUTO_SCALE,
|
||||||
|
DEFAULT_INPUT_OVERLAY_AUTO_SCALE,
|
||||||
|
MENU_ENUM_LABEL_VALUE_OFF,
|
||||||
|
MENU_ENUM_LABEL_VALUE_ON,
|
||||||
|
&group_info,
|
||||||
|
&subgroup_info,
|
||||||
|
parent_group,
|
||||||
|
general_write_handler,
|
||||||
|
general_read_handler,
|
||||||
|
SD_FLAG_NONE
|
||||||
|
);
|
||||||
|
(*list)[list_info->index - 1].action_ok = &setting_bool_action_left_with_refresh;
|
||||||
|
(*list)[list_info->index - 1].action_left = &setting_bool_action_left_with_refresh;
|
||||||
|
(*list)[list_info->index - 1].action_right = &setting_bool_action_right_with_refresh;
|
||||||
|
MENU_SETTINGS_LIST_CURRENT_ADD_CMD(list, list_info, CMD_EVENT_OVERLAY_SET_SCALE_FACTOR);
|
||||||
|
SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_CMD_APPLY_AUTO);
|
||||||
|
|
||||||
|
CONFIG_FLOAT(
|
||||||
|
list, list_info,
|
||||||
|
&settings->floats.input_osk_overlay_opacity,
|
||||||
|
MENU_ENUM_LABEL_OSK_OVERLAY_OPACITY,
|
||||||
|
MENU_ENUM_LABEL_VALUE_OSK_OVERLAY_OPACITY,
|
||||||
|
DEFAULT_INPUT_OVERLAY_OPACITY,
|
||||||
|
"%.2f",
|
||||||
|
&group_info,
|
||||||
|
&subgroup_info,
|
||||||
|
parent_group,
|
||||||
|
general_write_handler,
|
||||||
|
general_read_handler);
|
||||||
|
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
|
||||||
|
MENU_SETTINGS_LIST_CURRENT_ADD_CMD(list, list_info, CMD_EVENT_OVERLAY_SET_ALPHA_MOD);
|
||||||
|
menu_settings_list_current_add_range(list, list_info, 0, 1, 0.01, true, true);
|
||||||
|
SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_CMD_APPLY_AUTO);
|
||||||
|
|
||||||
END_SUB_GROUP(list, list_info, parent_group);
|
END_SUB_GROUP(list, list_info, parent_group);
|
||||||
|
|
||||||
END_GROUP(list, list_info, parent_group);
|
END_GROUP(list, list_info, parent_group);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
@ -22192,6 +22267,21 @@ static bool setting_append_list(
|
|||||||
general_write_handler,
|
general_write_handler,
|
||||||
general_read_handler);
|
general_read_handler);
|
||||||
(*list)[list_info->index - 1].action_start = directory_action_start_generic;
|
(*list)[list_info->index - 1].action_start = directory_action_start_generic;
|
||||||
|
|
||||||
|
CONFIG_DIR(
|
||||||
|
list, list_info,
|
||||||
|
settings->paths.directory_osk_overlay,
|
||||||
|
sizeof(settings->paths.directory_osk_overlay),
|
||||||
|
MENU_ENUM_LABEL_OSK_OVERLAY_DIRECTORY,
|
||||||
|
MENU_ENUM_LABEL_VALUE_OSK_OVERLAY_DIRECTORY,
|
||||||
|
g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY],
|
||||||
|
MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT,
|
||||||
|
&group_info,
|
||||||
|
&subgroup_info,
|
||||||
|
parent_group,
|
||||||
|
general_write_handler,
|
||||||
|
general_read_handler);
|
||||||
|
(*list)[list_info->index - 1].action_start = directory_action_start_generic;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
CONFIG_DIR(
|
CONFIG_DIR(
|
||||||
@ -22836,6 +22926,7 @@ static rarch_setting_t *menu_setting_new_internal(rarch_setting_info_t *list_inf
|
|||||||
SETTINGS_LIST_FRAME_TIME_COUNTER,
|
SETTINGS_LIST_FRAME_TIME_COUNTER,
|
||||||
SETTINGS_LIST_ONSCREEN_NOTIFICATIONS,
|
SETTINGS_LIST_ONSCREEN_NOTIFICATIONS,
|
||||||
SETTINGS_LIST_OVERLAY,
|
SETTINGS_LIST_OVERLAY,
|
||||||
|
SETTINGS_LIST_OSK_OVERLAY,
|
||||||
SETTINGS_LIST_MENU,
|
SETTINGS_LIST_MENU,
|
||||||
SETTINGS_LIST_MENU_FILE_BROWSER,
|
SETTINGS_LIST_MENU_FILE_BROWSER,
|
||||||
SETTINGS_LIST_MULTIMEDIA,
|
SETTINGS_LIST_MULTIMEDIA,
|
||||||
|
12
msg_hash.h
12
msg_hash.h
@ -170,6 +170,8 @@ enum msg_file_type
|
|||||||
|
|
||||||
FILE_TYPE_DOWNLOAD_CORE_SYSTEM_FILES,
|
FILE_TYPE_DOWNLOAD_CORE_SYSTEM_FILES,
|
||||||
|
|
||||||
|
FILE_TYPE_OSK_OVERLAY,
|
||||||
|
|
||||||
FILE_TYPE_LAST
|
FILE_TYPE_LAST
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -499,6 +501,7 @@ enum msg_hash_enums
|
|||||||
MSG_AUDIO_UNMUTED,
|
MSG_AUDIO_UNMUTED,
|
||||||
MSG_FAILED_TO_UNMUTE_AUDIO,
|
MSG_FAILED_TO_UNMUTE_AUDIO,
|
||||||
MSG_FAILED_TO_LOAD_OVERLAY,
|
MSG_FAILED_TO_LOAD_OVERLAY,
|
||||||
|
MSG_OSK_OVERLAY_NOT_SET,
|
||||||
MSG_PAUSED,
|
MSG_PAUSED,
|
||||||
MSG_UNPAUSED,
|
MSG_UNPAUSED,
|
||||||
MSG_CORE_DOES_NOT_SUPPORT_DISK_OPTIONS,
|
MSG_CORE_DOES_NOT_SUPPORT_DISK_OPTIONS,
|
||||||
@ -1077,7 +1080,7 @@ enum msg_hash_enums
|
|||||||
MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_FADE_CHAT_TOGGLE,
|
MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_FADE_CHAT_TOGGLE,
|
||||||
|
|
||||||
MENU_ENUM_LABEL_VALUE_INPUT_META_OVERLAY_NEXT, /* Hidden */
|
MENU_ENUM_LABEL_VALUE_INPUT_META_OVERLAY_NEXT, /* Hidden */
|
||||||
MENU_ENUM_LABEL_VALUE_INPUT_META_OSK, /* Hidden */
|
MENU_ENUM_LABEL_VALUE_INPUT_META_OSK,
|
||||||
MENU_ENUM_LABEL_VALUE_INPUT_META_SEND_DEBUG_INFO, /* Deprecated */
|
MENU_ENUM_LABEL_VALUE_INPUT_META_SEND_DEBUG_INFO, /* Deprecated */
|
||||||
|
|
||||||
MENU_ENUM_LABEL_VALUE_INPUT_DEVICE_INDEX,
|
MENU_ENUM_LABEL_VALUE_INPUT_DEVICE_INDEX,
|
||||||
@ -1159,7 +1162,7 @@ enum msg_hash_enums
|
|||||||
MENU_ENUM_SUBLABEL_INPUT_META_NETPLAY_FADE_CHAT_TOGGLE,
|
MENU_ENUM_SUBLABEL_INPUT_META_NETPLAY_FADE_CHAT_TOGGLE,
|
||||||
|
|
||||||
MENU_ENUM_SUBLABEL_INPUT_META_OVERLAY_NEXT, /* Hidden */
|
MENU_ENUM_SUBLABEL_INPUT_META_OVERLAY_NEXT, /* Hidden */
|
||||||
MENU_ENUM_SUBLABEL_INPUT_META_OSK, /* Hidden */
|
MENU_ENUM_SUBLABEL_INPUT_META_OSK,
|
||||||
MENU_ENUM_SUBLABEL_INPUT_META_SEND_DEBUG_INFO, /* Deprecated */
|
MENU_ENUM_SUBLABEL_INPUT_META_SEND_DEBUG_INFO, /* Deprecated */
|
||||||
|
|
||||||
MENU_ENUM_LABEL_INPUT_DESCRIPTION,
|
MENU_ENUM_LABEL_INPUT_DESCRIPTION,
|
||||||
@ -1232,6 +1235,7 @@ enum msg_hash_enums
|
|||||||
MENU_LABEL(INPUT_OVERLAY_SHOW_MOUSE_CURSOR),
|
MENU_LABEL(INPUT_OVERLAY_SHOW_MOUSE_CURSOR),
|
||||||
MENU_LABEL(INPUT_OVERLAY_AUTO_ROTATE),
|
MENU_LABEL(INPUT_OVERLAY_AUTO_ROTATE),
|
||||||
MENU_LABEL(INPUT_OVERLAY_AUTO_SCALE),
|
MENU_LABEL(INPUT_OVERLAY_AUTO_SCALE),
|
||||||
|
MENU_LABEL(INPUT_OSK_OVERLAY_AUTO_SCALE),
|
||||||
MENU_LABEL(INPUT_OVERLAY_DPAD_DIAGONAL_SENSITIVITY),
|
MENU_LABEL(INPUT_OVERLAY_DPAD_DIAGONAL_SENSITIVITY),
|
||||||
MENU_LABEL(INPUT_OVERLAY_ABXY_DIAGONAL_SENSITIVITY),
|
MENU_LABEL(INPUT_OVERLAY_ABXY_DIAGONAL_SENSITIVITY),
|
||||||
MENU_LABEL(INPUT_KEYBOARD_GAMEPAD_MAPPING_TYPE),
|
MENU_LABEL(INPUT_KEYBOARD_GAMEPAD_MAPPING_TYPE),
|
||||||
@ -1923,6 +1927,7 @@ enum msg_hash_enums
|
|||||||
MENU_ENUM_LABEL_DEFERRED_CHEAT_SEARCH_SETTINGS_LIST,
|
MENU_ENUM_LABEL_DEFERRED_CHEAT_SEARCH_SETTINGS_LIST,
|
||||||
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_DISPLAY_SETTINGS_LIST,
|
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_DISPLAY_SETTINGS_LIST,
|
||||||
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST,
|
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST,
|
||||||
|
MENU_ENUM_LABEL_DEFERRED_OSK_OVERLAY_SETTINGS_LIST,
|
||||||
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_VIDEO_LAYOUT_SETTINGS_LIST,
|
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_VIDEO_LAYOUT_SETTINGS_LIST,
|
||||||
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST,
|
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_NOTIFICATIONS_SETTINGS_LIST,
|
||||||
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST,
|
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS_LIST,
|
||||||
@ -2369,7 +2374,9 @@ enum msg_hash_enums
|
|||||||
MENU_LABEL(OVERLAY_X_OFFSET_PORTRAIT),
|
MENU_LABEL(OVERLAY_X_OFFSET_PORTRAIT),
|
||||||
MENU_LABEL(OVERLAY_Y_OFFSET_PORTRAIT),
|
MENU_LABEL(OVERLAY_Y_OFFSET_PORTRAIT),
|
||||||
MENU_LABEL(OVERLAY_PRESET),
|
MENU_LABEL(OVERLAY_PRESET),
|
||||||
|
MENU_LABEL(OSK_OVERLAY_PRESET),
|
||||||
MENU_LABEL(OVERLAY_OPACITY),
|
MENU_LABEL(OVERLAY_OPACITY),
|
||||||
|
MENU_LABEL(OSK_OVERLAY_OPACITY),
|
||||||
|
|
||||||
/* TODO/FIXME: These legacy enums are no longer
|
/* TODO/FIXME: These legacy enums are no longer
|
||||||
* required, but we cannot delete them until the
|
* required, but we cannot delete them until the
|
||||||
@ -3130,6 +3137,7 @@ enum msg_hash_enums
|
|||||||
MENU_LABEL(SAVE_NEW_CONFIG),
|
MENU_LABEL(SAVE_NEW_CONFIG),
|
||||||
MENU_LABEL(ONSCREEN_DISPLAY_SETTINGS),
|
MENU_LABEL(ONSCREEN_DISPLAY_SETTINGS),
|
||||||
MENU_LABEL(ONSCREEN_OVERLAY_SETTINGS),
|
MENU_LABEL(ONSCREEN_OVERLAY_SETTINGS),
|
||||||
|
MENU_LABEL(OSK_OVERLAY_SETTINGS),
|
||||||
MENU_LABEL(ONSCREEN_VIDEO_LAYOUT_SETTINGS),
|
MENU_LABEL(ONSCREEN_VIDEO_LAYOUT_SETTINGS),
|
||||||
MENU_LABEL(ONSCREEN_NOTIFICATIONS_SETTINGS),
|
MENU_LABEL(ONSCREEN_NOTIFICATIONS_SETTINGS),
|
||||||
MENU_LABEL(ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS),
|
MENU_LABEL(ONSCREEN_NOTIFICATIONS_VIEWS_SETTINGS),
|
||||||
|
109
retroarch.c
109
retroarch.c
@ -3039,19 +3039,24 @@ bool command_event(enum event_command cmd, void *data)
|
|||||||
*video_st = video_state_get_ptr();
|
*video_st = video_state_get_ptr();
|
||||||
input_driver_state_t *input_st = input_state_get_ptr();
|
input_driver_state_t *input_st = input_state_get_ptr();
|
||||||
bool inp_overlay_auto_rotate = settings->bools.input_overlay_auto_rotate;
|
bool inp_overlay_auto_rotate = settings->bools.input_overlay_auto_rotate;
|
||||||
float input_overlay_opacity = settings->floats.input_overlay_opacity;
|
input_overlay_t *ol = input_st->overlay_ptr;
|
||||||
if (!input_st->overlay_ptr)
|
float input_overlay_opacity;
|
||||||
|
if (!ol)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
input_st->overlay_ptr->index = input_st->overlay_ptr->next_index;
|
ol->index = ol->next_index;
|
||||||
input_st->overlay_ptr->active = &input_st->overlay_ptr->overlays[
|
ol->active = &ol->overlays[ol->index];
|
||||||
input_st->overlay_ptr->index];
|
|
||||||
|
input_overlay_opacity = (ol->flags & INPUT_OVERLAY_IS_OSK)
|
||||||
|
? settings->floats.input_osk_overlay_opacity
|
||||||
|
: settings->floats.input_overlay_opacity;
|
||||||
|
|
||||||
input_overlay_load_active(input_st->overlay_visibility,
|
input_overlay_load_active(input_st->overlay_visibility,
|
||||||
input_st->overlay_ptr, input_overlay_opacity);
|
ol, input_overlay_opacity);
|
||||||
|
|
||||||
input_st->overlay_ptr->flags |= INPUT_OVERLAY_BLOCKED;
|
ol->flags |= INPUT_OVERLAY_BLOCKED;
|
||||||
input_st->overlay_ptr->next_index = (unsigned)((input_st->overlay_ptr->index + 1) % input_st->overlay_ptr->size);
|
ol->next_index =
|
||||||
|
(unsigned)((ol->index + 1) % ol->size);
|
||||||
|
|
||||||
/* Check orientation, if required */
|
/* Check orientation, if required */
|
||||||
if (inp_overlay_auto_rotate)
|
if (inp_overlay_auto_rotate)
|
||||||
@ -3061,18 +3066,37 @@ bool command_event(enum event_command cmd, void *data)
|
|||||||
video_st->width,
|
video_st->width,
|
||||||
video_st->height,
|
video_st->height,
|
||||||
settings->bools.input_overlay_enable,
|
settings->bools.input_overlay_enable,
|
||||||
input_st->overlay_ptr);
|
ol);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case CMD_EVENT_OSK_TOGGLE:
|
case CMD_EVENT_OSK_TOGGLE:
|
||||||
|
#ifdef HAVE_OVERLAY
|
||||||
{
|
{
|
||||||
input_driver_state_t *input_st = input_state_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
|
input_driver_state_t *input_st = input_state_get_ptr();
|
||||||
|
|
||||||
if (input_st->flags & INP_FLAG_KB_LINEFEED_ENABLE)
|
if (input_st->flags & INP_FLAG_KB_LINEFEED_ENABLE)
|
||||||
input_st->flags &= ~INP_FLAG_KB_LINEFEED_ENABLE;
|
input_st->flags &= ~INP_FLAG_KB_LINEFEED_ENABLE;
|
||||||
else
|
else if (!string_is_empty(settings->paths.path_osk_overlay))
|
||||||
input_st->flags |= INP_FLAG_KB_LINEFEED_ENABLE;
|
input_st->flags |= INP_FLAG_KB_LINEFEED_ENABLE;
|
||||||
|
else
|
||||||
|
runloop_msg_queue_push(
|
||||||
|
msg_hash_to_str(MSG_OSK_OVERLAY_NOT_SET), 1, 100, false,
|
||||||
|
NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
|
||||||
|
|
||||||
|
command_event(CMD_EVENT_OVERLAY_INIT, NULL);
|
||||||
|
|
||||||
|
#ifdef HAVE_MENU
|
||||||
|
/* Avoid stray menu input during transition */
|
||||||
|
if (menu_st->flags & MENU_ST_FLAG_ALIVE)
|
||||||
|
{
|
||||||
|
menu_st->input_state.select_inhibit = true;
|
||||||
|
menu_st->input_state.cancel_inhibit = true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case CMD_EVENT_DSP_FILTER_INIT:
|
case CMD_EVENT_DSP_FILTER_INIT:
|
||||||
#ifdef HAVE_DSP_FILTER
|
#ifdef HAVE_DSP_FILTER
|
||||||
@ -3342,26 +3366,40 @@ bool command_event(enum event_command cmd, void *data)
|
|||||||
#ifdef HAVE_OVERLAY
|
#ifdef HAVE_OVERLAY
|
||||||
{
|
{
|
||||||
overlay_layout_desc_t layout_desc;
|
overlay_layout_desc_t layout_desc;
|
||||||
video_driver_state_t
|
video_driver_state_t *video_st = video_state_get_ptr();
|
||||||
*video_st = video_state_get_ptr();
|
input_driver_state_t *input_st = input_state_get_ptr();
|
||||||
input_driver_state_t *input_st = input_state_get_ptr();
|
input_overlay_t *ol = input_st->overlay_ptr;
|
||||||
|
|
||||||
layout_desc.scale_landscape = settings->floats.input_overlay_scale_landscape;
|
if (!ol)
|
||||||
layout_desc.aspect_adjust_landscape = settings->floats.input_overlay_aspect_adjust_landscape;
|
break;
|
||||||
layout_desc.x_separation_landscape = settings->floats.input_overlay_x_separation_landscape;
|
|
||||||
layout_desc.y_separation_landscape = settings->floats.input_overlay_y_separation_landscape;
|
|
||||||
layout_desc.x_offset_landscape = settings->floats.input_overlay_x_offset_landscape;
|
|
||||||
layout_desc.y_offset_landscape = settings->floats.input_overlay_y_offset_landscape;
|
|
||||||
layout_desc.scale_portrait = settings->floats.input_overlay_scale_portrait;
|
|
||||||
layout_desc.aspect_adjust_portrait = settings->floats.input_overlay_aspect_adjust_portrait;
|
|
||||||
layout_desc.x_separation_portrait = settings->floats.input_overlay_x_separation_portrait;
|
|
||||||
layout_desc.y_separation_portrait = settings->floats.input_overlay_y_separation_portrait;
|
|
||||||
layout_desc.x_offset_portrait = settings->floats.input_overlay_x_offset_portrait;
|
|
||||||
layout_desc.y_offset_portrait = settings->floats.input_overlay_y_offset_portrait;
|
|
||||||
layout_desc.touch_scale = (float)settings->uints.input_touch_scale;
|
|
||||||
layout_desc.auto_scale = settings->bools.input_overlay_auto_scale;
|
|
||||||
|
|
||||||
input_overlay_set_scale_factor(input_st->overlay_ptr,
|
if (ol->flags & INPUT_OVERLAY_IS_OSK)
|
||||||
|
{
|
||||||
|
memset(&layout_desc, 0, sizeof(overlay_layout_desc_t));
|
||||||
|
layout_desc.scale_landscape = 1.0f;
|
||||||
|
layout_desc.scale_portrait = 1.0f;
|
||||||
|
layout_desc.touch_scale = 1.0f;
|
||||||
|
layout_desc.auto_scale = settings->bools.input_osk_overlay_auto_scale;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
layout_desc.scale_landscape = settings->floats.input_overlay_scale_landscape;
|
||||||
|
layout_desc.aspect_adjust_landscape = settings->floats.input_overlay_aspect_adjust_landscape;
|
||||||
|
layout_desc.x_separation_landscape = settings->floats.input_overlay_x_separation_landscape;
|
||||||
|
layout_desc.y_separation_landscape = settings->floats.input_overlay_y_separation_landscape;
|
||||||
|
layout_desc.x_offset_landscape = settings->floats.input_overlay_x_offset_landscape;
|
||||||
|
layout_desc.y_offset_landscape = settings->floats.input_overlay_y_offset_landscape;
|
||||||
|
layout_desc.scale_portrait = settings->floats.input_overlay_scale_portrait;
|
||||||
|
layout_desc.aspect_adjust_portrait = settings->floats.input_overlay_aspect_adjust_portrait;
|
||||||
|
layout_desc.x_separation_portrait = settings->floats.input_overlay_x_separation_portrait;
|
||||||
|
layout_desc.y_separation_portrait = settings->floats.input_overlay_y_separation_portrait;
|
||||||
|
layout_desc.x_offset_portrait = settings->floats.input_overlay_x_offset_portrait;
|
||||||
|
layout_desc.y_offset_portrait = settings->floats.input_overlay_y_offset_portrait;
|
||||||
|
layout_desc.touch_scale = (float)settings->uints.input_touch_scale;
|
||||||
|
layout_desc.auto_scale = settings->bools.input_overlay_auto_scale;
|
||||||
|
}
|
||||||
|
|
||||||
|
input_overlay_set_scale_factor(ol,
|
||||||
&layout_desc,
|
&layout_desc,
|
||||||
video_st->width,
|
video_st->width,
|
||||||
video_st->height);
|
video_st->height);
|
||||||
@ -3373,11 +3411,18 @@ bool command_event(enum event_command cmd, void *data)
|
|||||||
* The alpha factor is applied for all overlays. */
|
* The alpha factor is applied for all overlays. */
|
||||||
#ifdef HAVE_OVERLAY
|
#ifdef HAVE_OVERLAY
|
||||||
{
|
{
|
||||||
float input_overlay_opacity = settings->floats.input_overlay_opacity;
|
|
||||||
input_driver_state_t *input_st = input_state_get_ptr();
|
input_driver_state_t *input_st = input_state_get_ptr();
|
||||||
|
input_overlay_t *ol = input_st->overlay_ptr;
|
||||||
|
|
||||||
input_overlay_set_alpha_mod(input_st->overlay_visibility,
|
if (ol)
|
||||||
input_st->overlay_ptr, input_overlay_opacity);
|
{
|
||||||
|
float input_overlay_opacity = (ol->flags & INPUT_OVERLAY_IS_OSK)
|
||||||
|
? settings->floats.input_osk_overlay_opacity
|
||||||
|
: settings->floats.input_overlay_opacity;
|
||||||
|
|
||||||
|
input_overlay_set_alpha_mod(input_st->overlay_visibility,
|
||||||
|
ol, input_overlay_opacity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
10
runloop.c
10
runloop.c
@ -5483,7 +5483,6 @@ static enum runloop_state_enum runloop_check_state(
|
|||||||
#ifdef HAVE_OVERLAY
|
#ifdef HAVE_OVERLAY
|
||||||
if (settings->bools.input_overlay_enable)
|
if (settings->bools.input_overlay_enable)
|
||||||
{
|
{
|
||||||
static char prev_overlay_restore = false;
|
|
||||||
static unsigned last_width = 0;
|
static unsigned last_width = 0;
|
||||||
static unsigned last_height = 0;
|
static unsigned last_height = 0;
|
||||||
unsigned video_driver_width = video_st->width;
|
unsigned video_driver_width = video_st->width;
|
||||||
@ -5513,15 +5512,6 @@ static enum runloop_state_enum runloop_check_state(
|
|||||||
/* Check next overlay hotkey */
|
/* Check next overlay hotkey */
|
||||||
HOTKEY_CHECK(RARCH_OVERLAY_NEXT, CMD_EVENT_OVERLAY_NEXT, true, &check_next_rotation);
|
HOTKEY_CHECK(RARCH_OVERLAY_NEXT, CMD_EVENT_OVERLAY_NEXT, true, &check_next_rotation);
|
||||||
|
|
||||||
/* Ensure overlay is restored after displaying OSK */
|
|
||||||
if (input_st->flags & INP_FLAG_KB_LINEFEED_ENABLE)
|
|
||||||
prev_overlay_restore = true;
|
|
||||||
else if (prev_overlay_restore)
|
|
||||||
{
|
|
||||||
input_overlay_init();
|
|
||||||
prev_overlay_restore = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Check whether video aspect has changed */
|
/* Check whether video aspect has changed */
|
||||||
if ((video_driver_width != last_width) ||
|
if ((video_driver_width != last_width) ||
|
||||||
(video_driver_height != last_height))
|
(video_driver_height != last_height))
|
||||||
|
@ -329,6 +329,8 @@ static bool task_overlay_load_desc(
|
|||||||
config_get_array(conf, overlay_key,
|
config_get_array(conf, overlay_key,
|
||||||
desc->next_index_name, sizeof(desc->next_index_name));
|
desc->next_index_name, sizeof(desc->next_index_name));
|
||||||
}
|
}
|
||||||
|
else if (BIT256_GET(desc->button_mask, RARCH_OSK))
|
||||||
|
BIT16_SET(loader->overlay_types, OVERLAY_TYPE_OSK_TOGGLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
BIT16_SET(loader->overlay_types, desc->type);
|
BIT16_SET(loader->overlay_types, desc->type);
|
||||||
@ -962,6 +964,7 @@ static bool task_overlay_finder(retro_task_t *task, void *user_data)
|
|||||||
bool task_push_overlay_load_default(
|
bool task_push_overlay_load_default(
|
||||||
retro_task_callback_t cb,
|
retro_task_callback_t cb,
|
||||||
const char *overlay_path,
|
const char *overlay_path,
|
||||||
|
bool is_osk,
|
||||||
void *user_data)
|
void *user_data)
|
||||||
{
|
{
|
||||||
task_finder_data_t find_data;
|
task_finder_data_t find_data;
|
||||||
@ -1012,6 +1015,8 @@ bool task_push_overlay_load_default(
|
|||||||
loader->state = OVERLAY_STATUS_DEFERRED_LOAD;
|
loader->state = OVERLAY_STATUS_DEFERRED_LOAD;
|
||||||
loader->pos_increment = (loader->size / 4) ? (loader->size / 4) : 4;
|
loader->pos_increment = (loader->size / 4) ? (loader->size / 4) : 4;
|
||||||
|
|
||||||
|
if (is_osk)
|
||||||
|
loader->flags |= OVERLAY_LOADER_IS_OSK;
|
||||||
#ifdef RARCH_INTERNAL
|
#ifdef RARCH_INTERNAL
|
||||||
if (video_driver_supports_rgba())
|
if (video_driver_supports_rgba())
|
||||||
loader->flags |= OVERLAY_LOADER_RGBA_SUPPORT;
|
loader->flags |= OVERLAY_LOADER_RGBA_SUPPORT;
|
||||||
|
@ -219,6 +219,7 @@ bool task_push_manual_content_scan(
|
|||||||
bool task_push_overlay_load_default(
|
bool task_push_overlay_load_default(
|
||||||
retro_task_callback_t cb,
|
retro_task_callback_t cb,
|
||||||
const char *overlay_path,
|
const char *overlay_path,
|
||||||
|
bool is_osk,
|
||||||
void *user_data);
|
void *user_data);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user