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 0e92138cb..5ecce6dc4 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 @@ -166,13 +166,25 @@ class Settings { KEY_CSTICK_AXIS_HORIZONTAL ) val dPadKeys = listOf( - KEY_DPAD_AXIS_VERTICAL, - KEY_DPAD_AXIS_HORIZONTAL +// KEY_DPAD_AXIS_VERTICAL, +// KEY_DPAD_AXIS_HORIZONTAL, + KEY_BUTTON_UP, + KEY_BUTTON_DOWN, + KEY_BUTTON_LEFT, + KEY_BUTTON_RIGHT ) val axisTitles = listOf( - R.string.controller_axis_vertical, + R.string.controller_axis_vertical, R.string.controller_axis_horizontal ) + + val dPadTitles = listOf( + R.string.direction_up, + R.string.direction_down, + R.string.direction_left, + R.string.direction_right, + ) + val triggerKeys = listOf( KEY_BUTTON_L, KEY_BUTTON_R, diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/InputBindingSetting.kt b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/InputBindingSetting.kt index c3756abf7..967b81a8d 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/InputBindingSetting.kt +++ b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/view/InputBindingSetting.kt @@ -79,6 +79,14 @@ class InputBindingSetting( else -> false } + fun isDpadButtons(): Boolean = + when (abstractSetting.key) { + Settings.KEY_BUTTON_DOWN, + Settings.KEY_BUTTON_LEFT, + Settings.KEY_BUTTON_UP, + Settings.KEY_BUTTON_RIGHT -> true + else -> false + } /** * Returns true if this key is for the 3DS L/R or ZL/ZR buttons. Note, these are not real * triggers on the 3DS, but we support them as such on a physical gamepad. 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 51a96644a..43371565d 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 @@ -612,7 +612,7 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) add(HeaderSetting(R.string.controller_dpad)) Settings.dPadKeys.forEachIndexed { i: Int, key: String -> val button = getInputObject(key) - add(InputBindingSetting(button, Settings.axisTitles[i])) + add(InputBindingSetting(button, Settings.dPadTitles[i])) } add(HeaderSetting(R.string.controller_triggers)) diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 6ad304cfd..8c6c0a49b 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -110,6 +110,10 @@ D-Pad Up/Down Axis Left/Right Axis + Up + Down + Left + Right Bind %1$s %2$s Press or move an input. Input Binding