libretro / RetroArch

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

[Android] Touchscreen disabled when external input device is connected (USB, Bluetooth, gamepad or keyboard...) #16210

Closed bidinou closed 3 months ago

bidinou commented 8 months ago

Description

Touchscreen does not register clicks (only scrolling) when a USB or Bluetooth gamepad/keyboard/... is plugged.

Expected behavior

Tapping on the menu should enable to navigate into options.

Actual behavior

Taps are not registered anymore. Just scrolling.

Steps to reproduce the bug

  1. Start RA
  2. Check that touchscreen is working in the menu
  3. Plug USB gamepad
  4. Check that touchscreen is not working anymore in the menu (nor in games, for instance NDS ones)

Issue also occurs with different types of input devices : USB or Bluetooth keyboards etc.

Bisect Results

Issue does not occur in the 3 years old RA from the Play Store

Version/Commit

RetroArch 1.17 (official APK)

Environment information

Android 14 Samsung A34 Razer Kishi 2 USB controller

bidinou commented 8 months ago

Update : issue actually seems to occur with any kind of external input device (keyboard, pads), both USB and Bluetooth.

cepheiduck commented 8 months ago

I have the same exact issues on different android devices where it is broken as described. Not only does the menus not respond to clicks, but games that use zapper/light guns do not respond any longer to taps either. It will work until usb or bluetooth is added/turned on, then will not work even when turned off until retroarch is closed and reopened.

AIx86 commented 8 months ago

I have the same issue as well. Screen stops capturing taps the moment I plug in the controller. Only scroll works in a odd way. Android 14 Google Pixel 4a 5g

cepheiduck commented 8 months ago

Since some games require a controller input while using a light gun, it makes the actual gameplaying on android unable to be done, even if the menus can be worked around with the controller at the moment. I tried playing around with a lot of input options, but nothing changed.

ThunderDragonRandy commented 7 months ago

Among 4 controllers I have tested for Android: Backbone One PS Edition, GameSir G8 Galileo, 8bitdo SN30 Pro 2, and Razer Raiju, the Razer Raiju is the only one that doesn't have this touchscreen issue, strangely enough. The last time these controllers + touchscreen worked normally was in RetroArch v1.15, but v1.16 and v1.17 are having touchscreen issues with certain gaming controllers after one touch.

I also made a topic weeks ago #16227 and thought it was just the Backbone One PlayStation Edition but it wasn't just that controller, it seems, as the Razer Raiju was the 2nd controller I tested at the time which was fine.

Something must have happened during the development of v1.16 that caused this issue.

Casal0x commented 7 months ago

Anyone could find any work around, on ios works well

cepheiduck commented 5 months ago

I've seen other threads pop up about same issue, but no solution yet, not for menu tapping nor for being able to play any light gun games.

cepheiduck commented 4 months ago

I went to the libretro discord to see if it was brought up there, other people asked about it but got no response, so I don't know the status, or what we can do, or even what was the thing that broke it. It's been broken since January, I think.

starjunn99 commented 4 months ago

This issue exist even without any usb device plugged or any bluetooth default phone touchscreen doesnt work after 1.15.0

https://github.com/libretro/RetroArch/issues/15757 https://github.com/libretro/RetroArch/issues/16632 https://github.com/libretro/RetroArch/issues/16227 https://github.com/libretro/RetroArch/issues/16575 https://github.com/libretro/RetroArch/issues/16091 https://github.com/libretro/RetroArch/issues/15672#issuecomment-1709879276

Makusugi commented 4 months ago

Same issue here as described by everyone above; on Samsung Galaxy S24 Ultra with Backbone 2nd Generation Xbox Controller (USB C)

LukeXanten commented 4 months ago

Same issue here with a Gamesir x2 bluetooth. I can scroll through menus, but that's it. Tapping doesn't work. Leaving retroarch (tabbing out, I guess) and reentering let's me tap once, but then it stops working again.

Edit: Samsung Galaxy S24 Ultra running Android 14. Using Retroarch 1.16.0

hizzlekizzle commented 4 months ago

Can you guys be sure to say what kind of phone you have? It seems like a device-specific issue (maybe Samsung-related?) but we can't really tell and none of us has any devices with the issue.

Makusugi commented 4 months ago

Phone - Samsung Galaxy S24 Ultra Model Name - SM-S928U Hardware Version - REV1.0 Android Version - 14 One UI Version - 6.1

Controller - Backbone USB C (2nd Generation) Xbox Version

RetroArch Version - 1.19.0

ThunderDragonRandy commented 4 months ago

Can you guys be sure to say what kind of phone you have? It seems like a device-specific issue (maybe Samsung-related?) but we can't really tell and none of us has any devices with the issue.

Phones - Samsung Galaxy S21 Ultra and Galaxy S22 Ultra Model Name - SM-G998U and SM-S9080 Android Version - 14 One UI Version - 6.1 RetroArch versions with this issue - v1.16 to current

Controllers with the touchscreen issue (both phones) - Backbone One: PlayStation Edition, 8bitdo SN30 Pro 2, GameSir G8 Galileo. First touch is fine but any further touches don't register except scrolling while any of these controllers are in use. Disconnecting work, the touchscreen works fine again

Controllers without the touchscreen issue (both phones) - Razer Raiju. So far the only one that I can use the touchscreen on newer versions.

I'm sure this issue has started since June 1, 2023 during development for v1.16. No issues with v1.15.

LukeXanten commented 4 months ago

Tapping a button on the overlay leaves that button held down, even after I release my finger. It's like I never lifted it off. This is also consistent with the weird scrolling behavior I get in menus, where tapping anywhere on the bottom half of the screen snaps the menu to the bottom, like I swiped instantly from the first tap to the second.

Samsung Galaxy S24 Ultra Android 14 One UI version 6.1 RetroArch 1.16.0

cepheiduck commented 4 months ago

I also have a Samsung Galaxy S24 Ultra, we seem to have that in common. And it's like Luke said, you get one tap, and it's like it never lifts up, whether in menu or in a game using touch screen with a light gun. Didn't always happen with the device, started around probably late January or early February right after updating Retroarch, as before that I was able to play NES zapper games no problem with touch screen. I usually update from the github here every two weeks.

Being as I was actually going through zapper games at the time of updating RA, was pretty sure it might have been issue from the version of Retroarch, and not an update from the phone. I only wish I had gone back to write down versions or dates.

bumface11 commented 4 months ago

Samsung S22 XBOX wireless controller

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)

curryking3 commented 3 months ago

Also having this issue still on July 17 2024, pretty much breaks the usability of RetroArch on Android while a controller is connected

arnaullv commented 3 months ago

On which exact version are you having the issue? Are you sure you are testing on nightly?

curryking3 commented 3 months ago

My bad that was all it was nightly is working perfectly 😆 using RetroArch aa64 nightly

hizzlekizzle commented 3 months ago

Alright, if we're all set here, can someone close this issue?