-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
controller not properly supported after release-2.0.22 on macOS #8769
Comments
I don't have a dance mat for testing. Are you able to debug using lldb on SDL testjoystick to see what's happening? |
I could do so in the coming days and will update this ticket. |
I'm doing all experiments on Okay, so after getting to compile
So, when I comment out the IOKit driver in
Can someone here make any sense out of this and/or help me fix the issue? An unrelated remark: The output on |
I think in your case, you just need to disable the MFi joystick driver. What's happening is that GCController is reporting that the dance mat is handled by that driver but then doesn't actually know how to handle it. You can disable it by setting the environment variable
SDL_JOYDEVICEADDED reports indices, the other APIs report instance IDs. This is fixed in SDL3 where instance IDs are used in all cases. I'll leave this open for now, but short of somebody from Apple stopping by and letting us know they have a fix, I don't think there's anything we can do. |
Actually, I just double checked and we've done a bunch of MFi driver improvements since the version you're testing. Can you update to the latest SDL2 code and check that? |
I've done so, but (please compare my tests from Python) there was little further insight I could gain: As described above, tag Regarding the actual issue here, support for my dance mat: in contrast to I've looked at Not sure what direction I could look into to take this further. |
Can you post an Amazon link? Maybe I can pick up that dance mat and investigate further. I also haven't seen any crashes, so I'm not sure if it's specific to that device or a general problem. |
It's this one: https://www.amazon.de/dp/B00FJ2KTXC/ |
Okay, I bought this mat, I should get it in a month or so and will take a look. |
Summary
I'm trying to get a USB dance mat to work with Project Outfox that uses a recent version of SDL2. When plugging in the controller, it is recognized as being present, but not button presses are seen. I could get it to work using the "SDL2 Gamepad Tool" using SDL version 2.0.7.
The original issue is filed as TeamRizu/OutFox#716
Now, I've dug into it and could narrow it down to changes between
release-2.0.22
andrelease-2.24.0
.How to reproduce
I've written a small Python test script that will print events related to game pads and joysticks to
stdout
that I namedsdl_gamepad_test.py
:These are the steps I do:
sdl_gamepad_test.py
start
andup
button on the dance matExpected result
This is the (expected) result when trying the procedure above with SDL version
2.0.22.post1
:Actual result
This is the (buggy) result when trying the procedure above with SDL version
2.24.0
:Additional info
I've got the following versions of SDL2 that I could test:
These are the findings for versions newer that
2.0.22.post1
:2.24.1
,2.24.2
all behave as described for2.24.0
above2.26.0
,2.26.1',
2.26.2nearly behave as described for
2.24.0above, but additionally show
Controller removed`:2.28.0
,2.28.2
,2.28.4
,2.28.5
nearly behave as described for2.26.x
above, but additionally crash with various strange errors when unplugging the dance mat:System information
The tests were run on an intel MacBook Pro 2017, using macOS Ventura 13.6.3 (22G436).
The text was updated successfully, but these errors were encountered: