Closed NABN00B closed 1 year ago
That's same as #14340(about the mouse, but same), which was fixed by #14479
I can't reproduce your problem with gamepad in my system, PPSSPP still reads keyboard "analog" input even if I use real analog stick on my gamepad(xinput). Don't understand your video as it doesn't show you pressing actual gamepad analog stick at all.
Maybe you have a "floating" analog issue with your gamepad, since if it gets different input each sample it probably would override keyboard, but I guess deadzone should stop that from happening.
@NABN00B, I think you should create 2 videos using v1.11.3 and v1.12.3 (preferably the latest dev build from https://buildbot.orphis.net/ppsspp/ in case it got fixed already), for the devs to see the difference and able to determine whether it's a bug or an intended behavior.
I'll let the footage speak for itself. In both videos v1.11.3 is on the left and v1.12.3-1018-g6f04f52f5 is on the right. I used the same configuration files for both versions.
In the first video, I hold analog left, then analog up+right at the same time. https://user-images.githubusercontent.com/22328803/161387476-422ab597-922e-4486-9bb1-cc6f683e47f8.mp4 (I accidentally clicked start on the touchscreen while clicking into the 12.x window, ignore that.)
In the second video, I do a full circle with my controller. Then I do up+left on keyboard in 12.x, then in 11.3. After this I disconnect my DualShock 4. I do up+left on keyboard again in 11.3, and finally all diagonals on keyboard in 12.x. https://user-images.githubusercontent.com/22328803/161387643-dd782745-0390-4971-8f95-d2e721dc60ba.mp4
I hope this helps.
EDIT: For the record, setting a higher deadzone in 12.x doesn't fix the problem.
I asked some people with 12.x to try reproducing the issue and received 3 responses so far. I also plugged in my old low budget controller. Here's the summary:
Player | Version | Controller | Result |
---|---|---|---|
me | v1.12.0; v1.12.1; v1.12.3; v1.12.3-1018-g6f04f52f5 | DualShock 4 w/o DS4Windows | input drops |
person A | v1.12.3 | XOne | input fine |
person B | v1.12.3 | XOne | input fine |
person C | v1.12.3-1018-g6f04f52f5 | DualShock 4 w/o DS4Windows | input drops |
me | v1.12.3-1018-g6f04f52f5 | budget controller | input fine |
Although the sample size is small, the issue seems to affect DS4 users in particular.
I've used a DualShock 4 and DualShock 5 controller without this problem. Never used DS4Windows. Just checked the DS4 to be sure, and there were no issues in the latest git build. I use the drivers installed by PS Remote Play.
-[Unknown]
I use the drivers installed by PS Remote Play.
How can we check what drivers we have?
From DS4windows site:
DS4Windows works by remapping the user’s “real” gamepad into a new, virtual / “fake” / emulated gamepad or by directly mapping the real gamepad to the user’s keyboard and mouse.
and it uses:
ViGEmBus v.1.17.333.0 driver or later (DS4Windows will install it for you)
As long as you use DS4Windows, you're emulating having Xinput gamepad and/or keyboard that's probably fine for you in most games since they typically don't use all api's, software like PPSSPP however probably sees you using direct input and xinput at the same time which maybe causes some weird interaction. Did you tried leaving just one dinput or xinput mappings? It might still not work if your "gamepad emulator" also causes the keyboard keys to be "released" constantly.
As long as you use DS4Windows, you're emulating having Xinput gamepad and/or keyboard that's probably fine for you in most games since they typically don't use all api's, software like PPSSPP however probably sees you using direct input and xinput at the same time which maybe causes some weird interaction. Did you tried leaving just one dinput or xinput mappings? It might still not work if your "gamepad emulator" also causes the keyboard keys to be "released" constantly.
We do not use DS4Windows (w/o = without) and I only have mappings for that one DS4 controller and the keyboard.
Start -> Device Manager -> I actually see it as "HID-compliant game controller" under Human Interface Devices. That's a generic driver, but I don't think it worked before I installed the PS Remote Play software.
Anyway, I don't use any input mapping software whatsoever, and I don't use Steam. I've heard people had issues before only while Steam was running due to its input remapping, although it has been a while. If you have any software doing input remapping, that could be causing strange behavior.
-[Unknown]
Just to give an update, the issue persists in v1.13.
I don't see this problem at all on my setup, but I'm tagging it for investigation for the next release. Sorry it didn't get fixed :/
By very slightly wiggling the stick of my 360 controller connected to my PC, while staying within the deadzone, I see this behavior.
I think a reasonable way around this would be to treat deadzone events specially - if the event is inside the deadzone but is not from the same device as the previous event, ignore it. That should work pretty well, I think.
Game or games this happens in
None
What area of the game / PPSSPP
Since v1.12.0, the analog input doesn't work correctly via keyboard while a controller is detected. Not sure how to describe it, but it feels like it registers input on every odd frame but drops it on every even frame. At least this is what it looks like in the calibration menu and on the touch control display. In games, barely any of the input is recognized.
The issue disappears as soon as I disconnect my controller.
What should happen
Analog input via keyboard should work smoothly even while a controller is detected, like it used to up until v1.11.3.
Logs
In the video below you can see me input analog up, analog up+left and finally analog down+right.
https://user-images.githubusercontent.com/22328803/161383313-c5b4b57d-627a-4d17-83fc-ab58f60a0f81.mp4
Platform
Windows
Mobile phone model or graphics card
NVIDIA GeForce GTX 1060 3GB
PPSSPP version affected
v1.12.x
Last working version
v1.11.3
Graphics backend (3D API)
Other
Checklist