Apparently on MacOS the SNES controller gets registered under two frameworks, and SDL/Love picks this up twice, causing a bunch of weird problems for me when trying to use the controller
(from the #751 I used earlier)
A workaround that I found was to run love with SDL_JOYSTICK_MFI=0, which seems to disable one of the frameworks that
SDL_JOYSTICK_MFI=0 /Applications/love.app/Contents/MacOS/love .
# with the above only one joystick is seen
^ in this workaround, "B" becomes "A", "X" becomes "Y" and vice versa... but that doesn't bug me that much.
The Claude explainer when working on this, though I'm really not a MacOS expert so this might not be at all true...
The most likely cause on macOS: the NSO SNES controller appears as two separate joystick devices
simultaneously — one from the raw IOKit/HID layer and one from Apple's Game Controller
(GCController) framework. Love2D sees both, so love.joystickpressed fires twice for every button
press, producing two distinct keys (same button index, different GUID or different slot).
Apparently on MacOS the SNES controller gets registered under two frameworks, and SDL/Love picks this up twice, causing a bunch of weird problems for me when trying to use the controller
(from the #751 I used earlier)
A workaround that I found was to run love with
SDL_JOYSTICK_MFI=0, which seems to disable one of the frameworks that^ in this workaround, "B" becomes "A", "X" becomes "Y" and vice versa... but that doesn't bug me that much.
The Claude explainer when working on this, though I'm really not a MacOS expert so this might not be at all true...