-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Set All Controls: Analog L2/R2 issues for udev and linuxraw, but not sdl2 #16767
Comments
Test case to reproduce this issue for DualSense with Remote RetroPad:
Correct controller driverSDL2 (correct L2/R2)Note: I've evaluated SDL2 in Flatpak, but not in Appimage (sdl2 does not work hizzlekizzle/RetroArch-AppImage#9) retroarch/autoconfig/sdl2/PS5 Controller.cfg
Incorrect controller driverslinuxraw
Manually replaced and variables commented in libretro/retroarch-joypad-autoconfig#1141
udevretroarch/autoconfig/udev/Sony Interactive Entertainment DualSense Wireless Controller.cfg
Manually replaced and variables commented in libretro/retroarch-joypad-autoconfig#1135
|
I'm surprised you only saw a problem. Lots of hardware is buggy as hell and depends on "driver fixes" to fix their nonsensical cost saving measures. Linux likes to have two levels of hardware access. Linuxraw as implied is the "raw" inputs the hardware reports. Udev I can't recall what it does. But things like kde, gnome or sdl got the short end of the stick and maintain a input library of "quirks" that sits between the kernel output and the user that has all the hardware specific hacks (this library is libinput). I found this out when using kms RetroArch - RetroArch running without a desktop environment - and realized my portable touch input was making the cursor jump, not drag. Tl;Dr: using Linuxraw with certain hardware (especially common in portables and tablets but not only) is a good way to get fucked input and there is little to be done because this is the hardware doing it. I don't know the situation with udev now. |
There's a link to this issue above if you want to read related issues: |
Description
This bug is specific to controllers featuring analog (pressure-sensitive) L2/R2 triggers.
When mapping the L2/R2 buttons at a standard speed, the system erroneously registers them as double inputs. This malfunction appears to be related to the pressure sensitivity feature, causing a single press to be interpreted as two separate inputs.
Expected behavior
The current behavior deviates from this expected outcome, resulting in unintended double inputs for these trigger buttons.
Actual behavior
Flatpak 1.19.1 uses udev as controller driver by default, which is used in this example.
Fast pressing
When L2 and R2 are activated with extreme speed (using a quick finger-slapping motion), the system does not register double-clicking. This contrasts with the problematic behavior observed during normal-speed activation. However, the L2/R2 variables are set to digital (input_l2_btn, input_r2_btn) instead of analog (input_l2_axis, input_r2_axis) which is incorrect.
Issue: Pressing L2/R2 extremely quickly generates:
Expectation: Pressing L2/R2 extremely quickly should generate:
Normal pressing
Normal pressing speed is registered as slow pressing.
Issue: Pressing L2 ("slowly") generates:
Expectation: Pressing L2 ("slowly") should only generate:
Issue: Pressing R2 ("slowly") generates:
Expectation: Pressing R2 ("slowly") should only generate:
Steps to reproduce the bug
Settings -> Input -> RetroPad Binds -> Port 1 Controls -> Set All Controls
Version/Commit
OS
The text was updated successfully, but these errors were encountered: