libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.23k stars 1.82k forks source link

[Android] Touchscreen issues when using the Backbone One PlayStation Edition controller [Fixed 2024-06-10] #16227

Closed ThunderDragonRandy closed 4 months ago

ThunderDragonRandy commented 8 months ago

First and foremost consider this:

Description

While I'm using the Backbone One PlayStation Edition controller (and I don't know if it's an issue with this specific version of the controller or if the original Backbone One also has this issue). EDIT (March 3, 2024): This also occurs when I'm using the GameSir G8 Galileo or 8bitdo SN30 Pro 2, but some controllers like Razer Raiju are fine.

Expected behavior

To be able to use the Backbone One PlayStation Edition (EDIT: and GameSir G8 Galilleo controller) controller and touchscreen controls as normal with no issues like with any other Android controller, USB or not.

Actual behavior

While the Backbone One PlayStation Edition telescopic controller is plugged into an Android device (before or while using RetroArch AArch64), the first thing that occurs is the message "✓ Backbone Labs, Inc. Backbone One PlayStation® Edition (13706/516) not configured, using fallback". After that, tapping inputs of the touchscreen stop working after one tap (whether it be on RetroArch's menu options or on a controller overlay's virtual buttons). The first tap of the touchscreen does register but any further taps do not. However, I can still scroll up and down through the RetroArch frontend menu but as long as I have the Backbone One PlayStation Edition telescopic controller connected, tapping menu options does not work after the first tap.

Steps to reproduce the bug

  1. Insert an Android device (with USB-C connection) into the Backbone One PlayStation Edition telescopic controller. If you have the regular Backbone One, you can also test that. If the regular Backbone One works fine and no touchscreen issues occur, then it is an issue specific to the PlayStation Edition. I don't know if this issue also exists on iOS but if anyone has an iPhone 15 as the Backbone One PlayStation Edition (USB-C) is compatible with it, test that too if the issue also exists on iOS or just Android.
  2. Use the touchscreen on your Android (or iOS) device. At least on Android, you might be able to tap something once but no further taps will be registered but you can still scroll through the menus with the touchscreen.

Bisect Results

I first got the Backbone One PlayStation Edition on July 11, 2023 (during RetroArch v1.15). It seemed fine back then with no issue to what I remember. I think the issue started happening since v1.16. [I am now testing this while writing this] Yeah, testing previous releases right now, the touchscreen worked fine with this controller in v1.15 when I first got the Backbone One PlayStation Edition with no issues despite the controller "fallback" message appearing back then too, but as of v1.16, the touchscreen has tapping issues with this controller inserted. No other Android controller I have has this touchscreen issue when I'm using them in v1.16, v1.17, EDIT (March 22, 2024, June 9, 2024): or v1.18, v1.19, v1.19.1.

Version/Commit

You can find this information under Information/System Information

Environment information

Screenshots

Screenshot_20240211_130820_RetroArch (AArch64) Screenshot_20240211_130845_RetroArch (AArch64) Screenshot_20240211_131016_RetroArch (AArch64) 20008825

Fixing the issue (discovered June 9, 2024):

https://github.com/libretro/RetroArch/issues/15757#ref-commit-c23b5e7 Hunterk made a build of the latest RetroArch build reverting https://github.com/libretro/RetroArch/commit/abcd42777f7c17559cf6eb509dc86aca63e48527 and touchscreen + controller issue is fixed. Thank you, Hunterk, for the fix (I originally thought a commit(s) on June 1, 2023 was the culprit but it turned out it occurred on Aug 15, 2023.

EDIT (1 day later): Now that this fix has been implemented in the June 10, 2024 (2024-06-10) main nightly build, I can now use the touchscreen again on my phone (after 1 touch) while using my controllers. With this fix released, it's time to close this topic as completed.

DJM75 commented 7 months ago

This is a regression introduced recently (older RetroArch versions didn't have this problem) and it happens with every phisical controller connected to an Android device (even on those chinese Android handhelds). Now it's not possibile to use gamepad overlays with a phisical controller connected, after the first "touch" the whole overlay becomes unresponsive.

ThunderDragonRandy commented 7 months ago

This is a regression introduced recently (older RetroArch versions didn't have this problem) and it happens with every phisical controller connected to an Android device (even on those chinese Android handhelds). Now it's not possibile to use gamepad overlays with a phisical controller connected, after the first "touch" the whole overlay becomes unresponsive.

Yeah, I recently got the GameSir G8 Galileo and that issue happens with that too. So far, among the Android controllers I have tested (I also tested 8Bitdo SN30 Pro 2 that is also having touchscreen issues), the Razer Raiju controller so far is the only one that doesn't have this issue.

I also just noticed while searching for issues that other people reported this for this.

I wonder if I should downgrade back to v1.15 for now.

EDIT: While there are numbers of the same reports similar to mine (I really should have checked before making this 3 weeks ago), I'll be following this reported issue on #15757.

arnaullv commented 4 months ago

This commit breaks the touchpad input, see https://github.com/libretro/RetroArch/issues/15757

https://github.com/libretro/RetroArch/commit/abcd42777f7c17559cf6eb509dc86aca63e48527 refactor: rewrite input handling to better support AINPUT_SOURCE_STYLUS (https://github.com/libretro/RetroArch/pull/15597)