libretro / Lakka-LibreELEC

Lakka is a lightweight Linux distribution that transforms a small computer into a full blown game console.
https://www.lakka.tv
1.74k stars 288 forks source link

[Flycast Bug] Joystick movement triggers D-pad buttons as well. #899

Closed ghost closed 4 years ago

ghost commented 4 years ago

basically when playing "record of lodoss war" in flycast, with the stable 2.3 build of lakka for the RPI3B+, i discovered that with a generic USB DxInput gamepad, moving the joystick UP would cause the D-pad to go UP at the same time, and conversely, moving the joystick DOWN would also cause the D-pad to go DOWN as well.

the adverse affects of this is that when you make your character walk upwards in lodoss war, the cursor in the items bar on the right side of the screen, will scroll upwards indefinitely until you stop moving, making it impossible to use any items.

i've tried everything to fix the bug, including reconfiguring the controller or tried using different controller, but nothing works. i also tried one of the nightly builds, i don't remember which version as i have already deleted it due to the problem still being there.

i would be happy to do further testing, please let me know anytime.

PS: i have tested my usb controller in an older (may 22nd 2019) build of reicast for windows, running lodosswar. the bug i mentioned still exists there in reicast. however when i run the same game in redream with my usb controller attached, the bug is not present there. so i'm guessing this is an old bug leftover from reicast which still exists presently in flycast.

I've no luck

natinusala commented 4 years ago

Can you maybe try disabling the analog to dpad feature in the input settings?

Le 15 février 2020 03:34:57 blue-agent notifications@github.com a écrit :

basically when playing "record of lodoss war" in flycast, with the latest 2.3 build of lakka for the RPI3B+, i discovered that with a generic USB DxInput gamepad, moving the joystick UP would cause the D-pad to go UP at the same time, and conversely, moving the joystick DOWN would also cause the D-pad to go DOWN as well. the adverse affects of this is that when you make your character walk upwards in lodoss war, the cursor in the items bar on the right side of the screen, will scroll upwards indefinitely until you stop moving, making it impossible to use any items. this bug also persists in Macross M3, when you specifically move the joystick UP or DOWN to fly the plane, this will trigger the UP and DOWN button on the D-pad as well, causing the plane to transform into robot mode uncontrollably when flying. (afterall the D-pad is responsible for plane transformation) thus making the game unplayable. i've tried everything to fix the bug, including reconfiguring the controller or tried using different controller, but nothing works. i also tried one of the nightly builds, i don't remember which version as i have already deleted it due to the problem still being there. for other games like "evolution the world of sacred device" where the D-pad are programmed to functions like the joystick....well due to the joystick and d-pad syncing together in flycast, it would also resulted in sudden and erratic movement. i would be happy to do further testing, please let me know anytime. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

ghost commented 4 years ago

i disabled analog to dpad config in my raspberry pi 3 a lonnng time ago, but it never worked.

as i mentioned earlier, i plugged the same usb controller into my pc and ran reicast, this bug is also present in the windows version of reicast. (build date: may 2019)

i also tried redream in windows, again using the same usb controller, and the bug is not there.

so i have ruled out the controller being at fault. the bug is only present in windows version of reicast and raspberry pi version of flycast.

did you encounter this bug on your pi? if not then could you tell me which version of lakka are you running on so i can download that same version of lakka that you have and do further testing?

ghost commented 4 years ago

i've doubled checked the input settings, here's what it shows:

device type: Retropad analog to digital type: none

is this the one you were referring to? i already disabled this but it doesn't seem to fix anything.

ghost commented 4 years ago

by the way i need to emphasized that i only brought up reicast and redream as proof that my controller is not at fault, as the issue of my controller was brought up and i answered to the best of my ability.

when troubleshooting i always give out many details as i can, unlike others who make low effort posts with vague questions that is poorly written, grammatically incorrect, in addition to also being full of typos and also lacking the essential information that would help with the troubleshooting .

with that said, again, i only talked about reciast in the context that the bug is there also, to stressed that there might be a possibility that the bug was passed down from reicast to flycast. as for redream, i talked about that in the context of the bug not being there, even though i'm using the SAME usb controller in redream, which encountered problems in flycast of Lakka PI3.

with that said, i hope i have cleared things up for everyone. i want you all to know that there is absolutely no malice involved on my end. i'm not advertising reicast or redream or putting it on a high pedestal. everything i say, i say for the sake of troubleshooing. again, let me stressed that there is no malice involved on my end.

OctopusButtons commented 2 years ago

Can confirm issue is present in Flycast 22ad95c, ParaLLEI N64 b804ab1, and Beetle PSX, in RetroArch 1.10.2 on Mac (both metal and non-metal builds, running in macOS 10.15.7)

if you bind d-pad left/right/up/down in RetroArch, then whatever buttons you binded for Analog Stick Left/Right will wrongly also activate d-pad left/right input. The only way to avoid the problem is to unbind D-Pad left/right to nothing.

In Metropolis Street Racer the problem means that all steering inputs activate the HORN HONK (because the game assigns that to left/right dpad). Or in Ape Escape 1 it means the camera spins when you move your character, though camera movement is supposed to be dpad only.

In other words: Analog stick left/right always secretly automatically activates DPAD left/rigiht/up/down, if Dpad left/right is bound to anything. Only way to fix is to completely unbind Dpad Left/Right so that no button no button (“- -“) is assigned, which means you lose any in-game dpad functions.

I've opened a RetroArch issue here because it seems upstream, affecting both Lakka and Mac build of RetroArch.

Ntemis commented 2 years ago

You better report it upstream then as its def not a lakka issue

OctopusButtons commented 2 years ago

Yes sorry about that, it really seems like the page suddenly changed to Lakka but previously said Flycast or RetroArch or a different area, strangely. Looking for correct place now.