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

Retroflag SNES Controller compatibility issues #43603

Closed
remi-san opened this issue Nov 16, 2020 · 2 comments
Closed

Retroflag SNES Controller compatibility issues #43603

remi-san opened this issue Nov 16, 2020 · 2 comments

Comments

@remi-san
Copy link

remi-san commented Nov 16, 2020

Godot version: v3.2.3.stable.mono.official

OS/device including version: macOS Catalina 10.15.7

Issue description:

When connecting a retroflag SNES controller, buttons 13 and 15 (d-pad down and right) are like spammed and prevent buttons 12 and 14 (dpad up and left) to be detected when pressed (as a matter of fact, buttons 13 and 15 cannot be used either).

Gamepad GUID is 03000000830500006020000000010000
Gamepad name is iBuffalo SNES Controller
The SDL2 configuration is already right, replacing it with Input.AddJoyMapping(".....", true) doesn't change that.

The controllers (as I've got two of them) have been tested with gamepad-tool which shows no spamming on the buttons and detects correctly all button presses. They also work well on other games on the same computer.

Steps to reproduce:
Connect a Retroflag SNES controller, detect in code (see snippet) which buttons have been pressed and launch the scene in Godot.

        for (int i=0; i < 16; i++)
        {
            if (Input.IsJoyButtonPressed(0, i))
            {
                GD.Print("#" + i);
            }
        }

        GD.Print("------------");

It will print :

#13
#15
------------
#13
#15
------------
#13
#15
------------

endlessly, without any button pressed on the controller.

Minimal reproduction project:

controller-problem.zip

@Calinou
Copy link
Member

Calinou commented Nov 16, 2020

cc @madmiraal

@madmiraal
Copy link
Contributor

Sounds like a duplicate of #41065. The specified controller mapping has D-pad buttons mapped to half-axes:

03000000830500006020000000010000,iBuffalo SNES Controller,a:b1,b:b0,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b2,platform:Mac OS X,

#41065 was fixed with #42799, and backported to 3.2 (#42800) which will be included in 3.2.4.beta2.

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