Bug #2307
Problem changing bindings with DualShock 4 (and other controllers)
Description
I cannot change in game binding with DualShock 4 controller. As reported on forum when I try to change DualShock 4 binding, after pressing enter joy-w or joy+w is written and then controller or keyboard keys pressing does nothing. I tried to adjust deadzone with no effect. If I apply PS4 presets, default turn left is joy-x joy-z and turn right joy+x joy+z so it is strafing and turning at the same time on left stick.
Associated revisions
Input|Client: Prevent interference from nonexistent controller axes
When applying a game controller preset, disable all extra game controller axes.
IssueID #2307
Fixed|Bindings: Failure to remove bindings of device
When removing bindings of a specific input device, the wrong ID was used when searching for bindings to remove.
IssueID #2307
Fixed|Input: Controls menu does not wait for axis movement
When making axis bindings, check the position relative to the axis position at the beginning.
IssueID #2307
Fixed|Input: Controls menu does not wait for axis movement
When making axis bindings, check the position relative to the axis position at the beginning.
IssueID #2307
History
#1
Updated by J345 about 6 years ago
I tried to increase deadzone even more to 1 and there was a change - now it wrote joy+axis05 after pressing enter but then still does not react to any presses.
#2
Updated by skyjake about 6 years ago
- Category set to 3rd party compatibility
- Assignee set to skyjake
- Target version set to 2.3.x
- which operating system are you using?
- is the DualShock connected via USB cable?
- do you have any additional software installed for managing/configuring game controllers?
#3
Updated by J345 about 6 years ago
OS is Windows 10, DualShock is connected via USB cable. I have Steam and DS4Windows installed but disabled when running Doomsday. BTW: Now I found old post on Doomsday forum that is about the similar problem - see third post in the thread:
https://talk.dengine.net/discussion/2291/how-to-reset-joystick-settings
#4
Updated by J345 about 6 years ago
So I wrote to console input-joy-w-deadzone 1 and input-joy+axis05-deadzone 1. Now it started to react to gamepad press but after I pressed for example button 12, it wrote: joy+axis05 joy+w joy-x joy+button12.
#5
Updated by skyjake about 6 years ago
I will try to replicate your setup (Win10, USB, with or without DS4Windows) and see if I can get these issues to occur on my system.
#6
Updated by J345 about 6 years ago
Ok, please check also PS4 default binding. Strange I have strafing and turning at the same time on the left stick when choosing presets.
Edit: I tinkered with it more and duplicity happens only if I apply presets without deleting original binding. To replicate:
With new Doomsday install I have this in controls:
If I then apply PS4 presets, I get this (strafing and turning at the same time):
If I delete bindings and apply PS4 presets, I get this:
#7
Updated by skyjake about 6 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
- Before applying a controller preset, Doomsday failed to remove all the previously existing joy bindings, resulting in duplicates (e.g.,
sidestep
andturn
controlled by the same axis). - Doomsday allocates a generous 32 axes for each controller, but apparently SDL is giving some sort of activity/non-zero values for the extra, non-existent axes as well, or Doomsday is using uninitialized values. This was making it difficult to use the bindings menu.
The fix for the latter issue is that the presets disable all the additional axes, since it is known how many axes each controller has.
Please test with the next 2.1.1 candidate (build 2905 or later).
#8
Updated by skyjake about 6 years ago
- Target version changed from 2.3.x to 2.1.1
#9
Updated by skyjake about 6 years ago
- Subject changed from problem to change binding with DualShock 4 to Problem changing bindings with DualShock 4 (and other controllers)
#10
Updated by J345 about 6 years ago
Ok, thanks, I will test it.
#11
Updated by J345 about 6 years ago
So I tested it with 2905 build and it works fine when presets are applied. If they are not, the bindings menu has the same problem as before so users that don't know that presets must be applied first may still struggle a bit with it.
#12
Updated by skyjake about 6 years ago
- Status changed from Resolved to In Progress
- % Done changed from 100 to 80
Yeah I agree there is still a third bug that needs addressing: the bindings menu should actually wait for some activity on a controller axis before deciding to bind it. The non-existent axes shouldn't be moving at all, so they'll be ignored as they should.
#13
Updated by skyjake almost 6 years ago
- Status changed from In Progress to Resolved
- % Done changed from 80 to 100
#14
Updated by skyjake almost 6 years ago
- Status changed from Resolved to Closed
Input|Client: Prevent interference from nonexistent controller axes
When applying a game controller preset, disable all extra game controller axes.
IssueID #2307