What could be the reason gamepad button presses and releases aren't received by the game sometimes?

Indeed, that’s the plan.

I can reproduce it with a minimal test project, so I guess I’ll report it as a bug then.

If anyone’s interested, I posted the code for the test project on Github:

1 Like

So I downloaded your project and tried it with my XBox controller. I could not reproduce it. I suspect that it could be an issue with your hardware or drivers.

BTW, this code does the same thing as what you had.

extends Node2D

@onready var Player = $Player

func _input(event) -> void:
	if event.is_action_pressed("ui_cancel"):
		get_tree().quit()

I’m still not sure if it might be driver related, I have to test on another computer. It’s unlikely to be the hardware though, since I tested with two separate XBox controllers now.

For what it’s worth, it can take a really long time for the bug to manifest itself, it’s extremely annoying that way.

Indeed, thanks. The Player variable is also not required for the test.

1 Like

I recommend trying to increase the reproducibility of the bug. As it is now, it’s likely to languish in the pile of Need More Info.

I suspect so too.

I don’t see this in Godot issues yet. Maybe you are hesitating to post?
I would do so anyway so that more people might see it and test with their own controllers.
Also are the controllers you tested the same model?
Be sure and post the controller details as this looks like it could be specific controller type related.
And link the bug report here as well please.

I downloaded this, and tried it for quite a while (15 minutes or more..?) with an EasySMX Wireless controller (ESM 9110…) and couldn’t reproduce the issue; the graphic responded faultlessly every time. I tested the keyboard and mouse entries, too, with no errors, and tried to confuse the controller with multiple buttons, but no issues with the graphic. It turned, every time, in the correct direction, whether I jabbed the buttons or held them, ether briefly or for longer. Hope this helps; good luck with finding the cause of your problem.

Try to reproduce it with some program other than Godot. If it does reproduce, the culprit is something in your system (driver etc). Otherwise, time to report.

I’ve been doing some more testing to make sure the report contains as much useful info as possible, since it’s so difficult to reproduce.

Thanks for trying it. 15 minutes is probably enough time for it to happen at least once, though I can’t be entirely sure.

1 Like

It hasn’t happened in Super Hexagon so far, which is a similar game. But I haven’t done a very thorough test in that game yet, so I’ll do that next.

If anyone knows of a Godot-made game that has similar movement (with the LB and RB buttons if possible), that would make an interesting test as well.

I tried Super Hexagon again and it happened twice in about 5 minutes of playing. So it doesn’t seem like Godot has anything to do with this after all.

Thanks everyone for helping me out here, this one’s been haunting me for a while.

1 Like

For future reference, a couple of websites you can use to test controllers:

4 Likes

Thanks, that looks very useful.