Skip to content

NSO SNES controller registers twice on MacOS #752

@rtpg

Description

@rtpg

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)

Image

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions