Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

NSO SNES controller registers twice on MacOS

Aperta
#752 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 4 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
lua
Ambito
game-dev

Direzione di ricerca

Start by reproducing the duplicate controller in Love on macOS, comparing joystick detection with and without SDL_JOYSTICK_MFI=0. Check how the two detected devices differ and whether the workaround changes button mappings; done means the controller appears once and its buttons behave correctly.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Client-side priority: 3 - wishlist question

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).
Lingua principale
Lua
Stelle
30
Fork
20
Merge medio
3g 16h
PR unite (30g)
14

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di panel-attack/panel-game

Tutte le issue di panel-attack/panel-game

Issue simili

Altre issue su Lua

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.