diff --git a/input/input_driver.h b/input/input_driver.h
index b84c54747a..7bde935407 100644
--- a/input/input_driver.h
+++ b/input/input_driver.h
@@ -57,6 +57,7 @@ enum input_toggle_type
    INPUT_TOGGLE_L3_R3,
    INPUT_TOGGLE_L1_R1_START_SELECT,
    INPUT_TOGGLE_START_SELECT,
+   INPUT_TOGGLE_L3_R,
    INPUT_TOGGLE_LAST
 };
 
diff --git a/menu/menu_setting.c b/menu/menu_setting.c
index c57fd5fd49..6506af7fd3 100644
--- a/menu/menu_setting.c
+++ b/menu/menu_setting.c
@@ -1703,6 +1703,9 @@ static void setting_get_string_representation_toggle_gamepad_combo(
       case INPUT_TOGGLE_START_SELECT:
          strlcpy(s, "Start + Select", len);
          break;
+      case INPUT_TOGGLE_L3_R:
+         strlcpy(s, "L3 + R", len);
+         break;
    }
 }
 
@@ -6265,7 +6268,7 @@ static bool setting_append_list(
             (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
             (*list)[list_info->index - 1].get_string_representation =
                &setting_get_string_representation_toggle_gamepad_combo;
-            menu_settings_list_current_add_range(list, list_info, 0, 4, 1, true, true);
+            menu_settings_list_current_add_range(list, list_info, 0, 5, 1, true, true);
 
             CONFIG_BOOL(
                   list, list_info,
diff --git a/retroarch.c b/retroarch.c
index d307b43c6b..8d27451066 100644
--- a/retroarch.c
+++ b/retroarch.c
@@ -2489,6 +2489,12 @@ static bool input_driver_toggle_button_combo(
          if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_SELECT))
             return false;
          break;
+      case INPUT_TOGGLE_L3_R:
+         if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_L3))
+            return false;
+         if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_R))
+            return false;
+         break;
       default:
       case INPUT_TOGGLE_NONE:
          return false;