diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/Settings.kt b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/Settings.kt index b229ffe17..6476644bf 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/Settings.kt +++ b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/Settings.kt @@ -112,6 +112,7 @@ class Settings { const val SECTION_CUSTOM_LANDSCAPE = "Custom Landscape Layout" const val SECTION_CUSTOM_PORTRAIT = "Custom Portrait Layout" const val SECTION_PERFORMANCE_OVERLAY = "Performance Overlay" + const val SECTION_COMBO = "Combo Button" const val KEY_BUTTON_A = "button_a" const val KEY_BUTTON_B = "button_b" diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.kt b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.kt index e6b67e448..4e8e6dfb3 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.kt @@ -104,6 +104,7 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) Settings.SECTION_CUSTOM_LANDSCAPE -> addCustomLandscapeSettings(sl) Settings.SECTION_CUSTOM_PORTRAIT -> addCustomPortraitSettings(sl) Settings.SECTION_PERFORMANCE_OVERLAY -> addPerformanceOverlaySettings(sl) + Settings.SECTION_COMBO -> addComboButtonSettings(sl) else -> { fragmentView.showToastMessage("Unimplemented menu", false) return @@ -795,9 +796,47 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) BooleanSetting.USE_ARTIC_BASE_CONTROLLER.defaultValue ) ) + add( + SubmenuSetting( + R.string.combo_key_options, + R.string.combo_key_description, + R.drawable.button_combo, + Settings.SECTION_COMBO + ) + ) } } + private fun addComboButtonSettings(sl: ArrayList) { + settingsActivity.setToolbarTitle(settingsActivity.getString(R.string.combo_key)) + sl.apply { + add( + SwitchSetting( + BooleanSetting.ENABLE_COMBO_KEY, + R.string.combo_key_enable, + R.string.combo_key_submenu_description, + BooleanSetting.ENABLE_COMBO_KEY.key, + BooleanSetting.ENABLE_COMBO_KEY.defaultValue, + ) + ) + add(HeaderSetting(R.string.combo_key_options)) + // TODO: Implement displaying selectable buttons + /* + add( + StringSingleChoiceSetting( + comboSetting, + R.string.emulated_language, + 0, + R.array.n3dsButtons, + R.array. + ) + ) + + */ + } + + } + private fun getInputObject(key: String): AbstractStringSetting { return object : AbstractStringSetting { override var string: String diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 3d47200be..76937f301 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -153,6 +153,11 @@ Turbo Speed Turbo Speed Enabled Turbo Speed Disabled + Combo Key + Enable Combo Button + Combo Key Settings + Enable and Change Combo Button Bindings. + Changes whether or not Combo Button can be displayed and used in game. System Files