From 1ea5a80d02d8a09186f1bebe8d925a1d2c0a3e04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20Jos=C3=A9=20Garc=C3=ADa=20Garc=C3=ADa?= Date: Fri, 14 Oct 2016 21:57:18 +0200 Subject: [PATCH] (VITA) Add Backtouch enable option --- config.def.h | 4 ++++ configuration.c | 3 +++ configuration.h | 4 +++- input/drivers_joypad/psp_joypad.c | 6 +++++- intl/msg_hash_jp.c | 2 ++ intl/msg_hash_us.c | 4 ++++ intl/msg_hash_uspseudo.c | 2 ++ menu/menu_setting.c | 19 +++++++++++++++++++ msg_hash.h | 3 ++- 9 files changed, 44 insertions(+), 3 deletions(-) diff --git a/config.def.h b/config.def.h index a3e8110499..4cc737f89d 100644 --- a/config.def.h +++ b/config.def.h @@ -602,6 +602,10 @@ static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_L1_R1_START_SELECT; static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_NONE; #endif +#if defined(VITA) +static unsigned input_backtouch_enable = false; +#endif + #ifdef ANDROID static bool back_as_menu_toggle_enable = true; #endif diff --git a/configuration.c b/configuration.c index 562d0014be..f6b1a2cf43 100644 --- a/configuration.c +++ b/configuration.c @@ -748,6 +748,9 @@ static int populate_settings_bool(settings_t *settings, struct config_bool_setti SETTING_BOOL("video_font_enable", &settings->video.font_enable, true, font_enable, false); SETTING_BOOL("core_updater_auto_extract_archive", &settings->network.buildbot_auto_extract_archive, true, true, false); SETTING_BOOL("camera_allow", &settings->camera.allow, true, false, false); +#if defined(VITA) + SETTING_BOOL("input_backtouch_enable", &settings->input.backtouch_enable, false, false, false); +#endif #if TARGET_OS_IPHONE SETTING_BOOL("small_keyboard_enable", &settings->input.small_keyboard_enable, true, false, false); #endif diff --git a/configuration.h b/configuration.h index b19f8f1ccf..2a5e23d40f 100644 --- a/configuration.h +++ b/configuration.h @@ -294,7 +294,9 @@ typedef struct settings unsigned menu_toggle_gamepad_combo; bool back_as_menu_toggle_enable; bool all_users_control_menu; - +#if defined(VITA) + bool backtouch_enable; +#endif #if TARGET_OS_IPHONE bool small_keyboard_enable; #endif diff --git a/input/drivers_joypad/psp_joypad.c b/input/drivers_joypad/psp_joypad.c index 0172091f6a..1a1cfbb968 100644 --- a/input/drivers_joypad/psp_joypad.c +++ b/input/drivers_joypad/psp_joypad.c @@ -171,6 +171,8 @@ static void psp_joypad_poll(void) { unsigned player; unsigned players_count = PSP_MAX_PADS; + settings_t *settings = config_get_ptr(); + #ifdef PSP sceCtrlSetSamplingCycle(0); #endif @@ -232,7 +234,9 @@ static void psp_joypad_poll(void) continue; #endif #if defined(VITA) - if (psp2_model == SCE_KERNEL_MODEL_VITA && !menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL)) { + if (psp2_model == SCE_KERNEL_MODEL_VITA + && !menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL) + && settings->input.backtouch_enable) { SceTouchData back = {0}; sceTouchPeek(SCE_TOUCH_PORT_BACK, &back, 1); for (int i = 0; i < back.reportNum; i++) { diff --git a/intl/msg_hash_jp.c b/intl/msg_hash_jp.c index a4f950d5cb..158f706eab 100644 --- a/intl/msg_hash_jp.c +++ b/intl/msg_hash_jp.c @@ -2036,6 +2036,8 @@ static const char *menu_hash_to_str_jp_label_enum(enum msg_hash_enums msg) return "cheevos_test_unofficial"; case MENU_ENUM_LABEL_CHEEVOS_ENABLE: return "cheevos_enable"; + case MENU_ENUM_LABEL_INPUT_BACKTOUCH_ENABLE: + return "input_backtouch_enable"; case MENU_ENUM_LABEL_INPUT_ICADE_ENABLE: return "input_icade_enable"; case MENU_ENUM_LABEL_INPUT_KEYBOARD_GAMEPAD_MAPPING_TYPE: diff --git a/intl/msg_hash_us.c b/intl/msg_hash_us.c index 24397ade6d..2741935c58 100644 --- a/intl/msg_hash_us.c +++ b/intl/msg_hash_us.c @@ -2098,6 +2098,8 @@ static const char *menu_hash_to_str_us_label_enum(enum msg_hash_enums msg) return "cheevos_test_unofficial"; case MENU_ENUM_LABEL_CHEEVOS_ENABLE: return "cheevos_enable"; + case MENU_ENUM_LABEL_INPUT_BACKTOUCH_ENABLE: + return "input_backtouch_enable"; case MENU_ENUM_LABEL_INPUT_ICADE_ENABLE: return "input_icade_enable"; case MENU_ENUM_LABEL_INPUT_KEYBOARD_GAMEPAD_MAPPING_TYPE: @@ -3513,6 +3515,8 @@ const char *msg_hash_to_str_us(enum msg_hash_enums msg) return "Test unofficial"; case MENU_ENUM_LABEL_VALUE_CHEEVOS_SETTINGS: return "Retro Achievements"; + case MENU_ENUM_LABEL_VALUE_INPUT_BACKTOUCH_ENABLE: + return "Backtouch Enable"; case MENU_ENUM_LABEL_VALUE_INPUT_ICADE_ENABLE: return "Keyboard Gamepad Mapping Enable"; case MENU_ENUM_LABEL_VALUE_INPUT_KEYBOARD_GAMEPAD_MAPPING_TYPE: diff --git a/intl/msg_hash_uspseudo.c b/intl/msg_hash_uspseudo.c index b928dbe81d..3f0defdb4f 100644 --- a/intl/msg_hash_uspseudo.c +++ b/intl/msg_hash_uspseudo.c @@ -2041,6 +2041,8 @@ static const char *menu_hash_to_str_us_label_enum(enum msg_hash_enums msg) return "cheëvòs_tëst_ünõffìçial"; case MENU_ENUM_LABEL_CHEEVOS_ENABLE: return "çheévós_enable"; + case MENU_ENUM_LABEL_INPUT_BACKTOUCH_ENABLE: + return "iñput_bâçktõüçh_ènable"; case MENU_ENUM_LABEL_INPUT_ICADE_ENABLE: return "iñput_îçâde_ènable"; case MENU_ENUM_LABEL_INPUT_KEYBOARD_GAMEPAD_MAPPING_TYPE: diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 4a289e7bfc..b7c20d8209 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -4090,6 +4090,25 @@ static bool setting_append_list( general_read_handler); menu_settings_list_current_add_range(list, list_info, 0, 2, 1, true, true); menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR); + +#ifdef VITA + CONFIG_BOOL( + list, list_info, + &settings->input.backtouch_enable, + msg_hash_to_str(MENU_ENUM_LABEL_INPUT_BACKTOUCH_ENABLE), + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_INPUT_BACKTOUCH_ENABLE), + input_backtouch_enable, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OFF), + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ON), + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler, + SD_FLAG_NONE + ); + menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_INPUT_DESCRIPTOR_HIDE_UNBOUND); +#endif #if TARGET_OS_IPHONE CONFIG_BOOL( diff --git a/msg_hash.h b/msg_hash.h index 949699b698..8709ccf830 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -434,6 +434,7 @@ enum msg_hash_enums MENU_ENUM_LABEL_INPUT_REMAP_BINDS_ENABLE, MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD, MENU_ENUM_LABEL_INPUT_SMALL_KEYBOARD_ENABLE, + MENU_ENUM_LABEL_INPUT_BACKTOUCH_ENABLE, MENU_ENUM_LABEL_INPUT_ICADE_ENABLE, MENU_ENUM_LABEL_INPUT_USER_1_BINDS, MENU_ENUM_LABEL_INPUT_USER_2_BINDS, @@ -483,6 +484,7 @@ enum msg_hash_enums MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR, MENU_ENUM_LABEL_VALUE_INPUT_BACK_AS_MENU_TOGGLE_ENABLE, MENU_ENUM_LABEL_VALUE_INPUT_SMALL_KEYBOARD_ENABLE, + MENU_ENUM_LABEL_VALUE_INPUT_BACKTOUCH_ENABLE, MENU_ENUM_LABEL_VALUE_INPUT_ICADE_ENABLE, /* Video */ @@ -2144,4 +2146,3 @@ uint32_t msg_hash_calculate(const char *s); RETRO_END_DECLS #endif -