Skip to content
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

Keyboard and PS4 Controller Inputs conflict. #48180

Closed
frostlove opened this issue Apr 25, 2021 · 8 comments
Closed

Keyboard and PS4 Controller Inputs conflict. #48180

frostlove opened this issue Apr 25, 2021 · 8 comments

Comments

@frostlove
Copy link

Godot version:

3.3

OS/device including version:

Windows 7

Issue description:

When PS4 Controller is plugged in Dpad/Keyboard directional inputs aren't responsive. The arrow keys move sprite only for a little while before stopping completely. PS4 input on the other hand continues to move flawlessly. Changing Deadzones doesn't fix issue.

Steps to reproduce:

  • Created a sprite2d node.
  • Moved it around by changing global_position coordinates. Used Input.is_action_pressed functions.
  • Used input mapper in the Project Settings tab.
  • Keyboard works perfectly if I unplug the ps4 controller.

Minimal reproduction project:

Gamepad Arrow Key Bug Test.zip

@Calinou
Copy link
Member

Calinou commented Apr 25, 2021

Can you reproduce this on the Joypads Demo or other games/applications? Can you reproduce this on Godot 3.2.3?

@frostlove
Copy link
Author

I got the same results on 3.2.3. Although it took a little longer for the keyboard input to stop on 3.2.3 than on 3.3. It doesn't seem to happen as often in 3.2.3.
I'm had this problem with pretty much every project I've tried so far. About 3 or so.
I recreated the demo I uploaded within Tte joypads demo and got the same result for every other project I did.

a small difference between the 3.2.3 and 3.3
3.2.3: The problem only happens after I hold down the left analog stick then release.
3.3: The problem happens whenever the ps4 controller is plugged into the PC.

*After experimenting some more I found out that even lightly touching the left analog stick stops the keyboard movement. But this happens regardless of the deadzone level. I've set the deadzone to 1.0 in the project settings but the problem still happens.
And by lightly touching I mean just barely touching it. Like 1-2% of the way down. I've tried setting the deadzone in gdscript so it could change during runtime but no luck there either.

@Calinou
Copy link
Member

Calinou commented Apr 25, 2021

@frostlove Thanks for the reply. Can you test this on all older 3.3 RCs and betas to determine when the regression started? You can download them here and here (3.2.4 was renamed to 3.3 during the development process).

@frostlove
Copy link
Author

frostlove commented Apr 25, 2021

Okay so Godot v3.2.4 beta1 is the earliest version that doesn't cause the PS4 plug in issue. But the lightly touching the left analog stick issue is still there (despite the deadzone). But I can still move the sprite around with the PS4 controller plugged in using the keyboard or controller.

edit-
I tested the deadzone issue all the way down to RC1 3.2.1 but it was still present.

@Calinou
Copy link
Member

Calinou commented Apr 25, 2021

cc @madmiraal

@madmiraal
Copy link
Contributor

Duplicate of #45628?

@Zertuk
Copy link

Zertuk commented Apr 26, 2021

A player of mine is running into a similar issue, their ps4 left/right input is randomly not working every few minutes. I haven't been able to reproduce the issue myself but here is a video that they took:

https://youtu.be/bI--bdFIZzg

@madmiraal
Copy link
Contributor

Closing as a duplicate of #45628.
The Input Map settings of the MRP show that keys, buttons and axes are mapped to the same action:
InputMap

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants