-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Description
RetroArch for Android version 1.16.0 respects the default Settings -> Input -> Bind Timeout: 3 for all buttons, but RetroArch 1.17.0 does not do this
Analog button issue
- Go to: Settings -> Input -> RetroPad Binds -> Port 1 Controls
- Use a gamepad controller and press the face button that will activate "Set All Controls"
- All buttons are requested to be remapped, except R2. Analog L2 is pressed, it functions as a double click.
Evaluated in Android 13 with a Sony DualSense controller.
Screen touch activation issues
Description
Affects entries in:
- Settings -> Input -> RetroPad Binds -> Port * Controls
- Settings -> Input -> Hotkeys
If you touch a menu entry to activate button remapping. This does not happen if you press the controller button to activate it.
- 1.16.0: 3 seconds
- 1.17.0: 0.2~ second -- you will barely see it, so there's a risk that you don't remap it
There's a risk that people will upload incomplete autoconfig files to https://github.com/libretro/retroarch-joypad-autoconfig
"Set All Controls"
"Set All Controls" -> "D-Pad Up" (the first button that pop-ups):
- 1.16.0: 3 seconds
1.17.0:
- D-PAD up appears for 0.2~ second (it's very difficult to detect it)! More importantly, the "Set All Controls" process it not cancelled when the D-pad Up is not pressed.
If you press D-Pad Up during "Set All Controls", then these buttons are not requested automatically:
- "B Button (Down)" is not requested later.
These buttons are sometimes never requested to be remapped (not even for a blink of an eye) regardless if you pressed D-Pad Up earlier or not:
- L3, and R3
- Right thumb stick Up
D-PAD Up issue
| Platform | Input Method to press "OK" to set Set All Controls |
Settings -> Input -> Bind Timeout: 3 prompts for D-Pad Up |
Notes |
|---|---|---|---|
| RetroArch Android | Touch Screen | No | |
| RetroArch Android | Gamepad button (fallback profile) | Yes | |
| RetroArch Android | Gamepad touch screen activation button (fallback profile) | Yes | |
| RetroArch Android | Bluetooth Mouse | N/A | Mouse activation doesn't work |
| RetroArch Desktop (GNU/Linux) | Touch Screen | Unknown | Not tested. Does quick tap source code exist in other releases than Android? If so, then someone with a touch screen could help us. |
| RetroArch Desktop (GNU/Linux) | Gamepad button (fallback profile) | Yes | |
| RetroArch Android (GNU/Linux) | Gamepad touch screen activation button (fallback profile) | Yes | |
| RetroArch Desktop (GNU/Linux) | Bluetooth Mouse | Yes |
Solution
Ideal workaround
This issue should be re-opened.
Current workaround
This issue was temporarily resolved by changing input_bind_hold = "0" to input_bind_hold = "1"
From #17704
Due to touchscreen quick tap function, binding runs into problems with the default setting of bind_hold = 0 that works well on other platforms. Using a nonzero value avoids that problem.
Some investigation notes are in the (now closed) #17157 .
Implementing #17644 would be more complex - bind_hold is currently an uint, so it can't be assigned a value of 0.1 as-is, and changing the type of existing config keys is a no-no, so it would need to be stored under a new name with some additional logic. Extra logic for the value 0 in case of Android is again doable, but would complicate the code more, and it needs more testing than what I am prepared for currently.
Merged to RetroArch 1.21.0
Version/Commit
You can find this information under Information/System Information
Affected RetroArch versions:
- 1.17.0 and later
Environment information
- OS: I could reproduce this issue in both Android 10, and Android 13.