RetroArch icon indicating copy to clipboard operation
RetroArch copied to clipboard

macOS RA 1.15 Buttons swapped

Open Metal-Snake opened this issue 2 years ago • 7 comments

Description

After updating from 1.14 to 1.15 I had to remap the Controller Buttons, now the ok/cancel buttons are swapped. Tried with Nintendo Switch Pro Controller

edit: ~~In game everything is chaotic. Buttons are weirdly remapped and do completly different things than what is set up.~~

edit2: Ignore previous edit, that was because old 1.14 style overriden controls. But in Nintendo DS core DeSmuME I have to swap A-B and X-Y I guess it's because Nintendo and MS have those labels swapped and the new msi driver handles this differently than the old thing?

Expected behavior

If the "Menu Swap OK and Cancel Buttons" option is disabled, it should be Japanese (A = OK and B = Cancel on the Switch Pro Controller) and vice versa if it's enabled.

Actual behavior

Now it's the actual oposite of what the description states.

Steps to reproduce the bug

  1. Use Nintendo Switch Pro Controller
  2. Map the Buttons in Settings/Input/Port 1 Controls/
  3. Check the option in Settings/Input/Menu Controls/Menu Swap OK and Cancel Buttons

Bisect Results

1.14 Stable had the expected behavior 1.15 swapped it

Version/Commit

RetroArch 1.15 Build Date Mar 11 2023 Git Version: GIT_VERSION Port 1 Device Name: mFi Controller

Environment information

  • OS: macOS 13.2.1
  • MacBook Air M1 (2020)

Metal-Snake avatar Mar 11 '23 10:03 Metal-Snake

I'm experiencing the exact same issue.

Moreover, changing the mappings in-game does nothing to the controls, they remain as the default behavior.

Agusum avatar Mar 26 '23 09:03 Agusum

I experienced the same issue on MacOS Ventura and Metal-version of RetroArch 1.15 from Homebrew repo.

The contollers used are 8BitDo Lite 2, both are in "Switch" mode and connected over Bluetooth. I will try to test them in "Dinput" mode as well, but on previous RA versions this mode caused RA and cores to mix up the controller<->player mapping on every init (e.g. on every game start/close).

Moreover, the issue seems to be different in each core:

  • In menu the buttons are swapped A<->B (e.g. I have to press B to select menu items when using the "Japanese" controls layout);
  • In NES cores (FCEUmm, Nestopia UE and Mesen) the buttons are swapped A<->B and Turbo A<->Turbo B;
  • In SMD cores (PicoDrive and Genesis Plus GX) the C button seems to be intact, but A,B and Y are somehow mixed;
  • In SNES cores the buttons seem to be OK;

spijet avatar Apr 10 '23 10:04 spijet

Same issue with Nintendo Switch Pro controller and macOS Ventura 13.1 on M1 chip.

montyclt avatar Apr 10 '23 15:04 montyclt

I think I found the possible root cause of this problem. Turns out MacOS thinks that the 8BitDo controller has a different button mapping (XBox-like one?) and applies its' own remapping profile before passing the events to applications. Here's my attempt at fixing it:

  1. Connect the controller(s) in "S" mode to your Mac;
  2. Go to System Settings -> Game Controllers, scroll down to "Profiles" section and click the "+" button create a new profile (e.g. "8BitDo") image
  3. Double-click the newly created profile and remap the 4 "face buttons" like so: image
  4. Then double-click each of the controllers that you want to apply the fix for and select the new "8BitDo" profile in the "Use profile" option, like so: image

This fixed the problem for me. Now RA and all cores (and some other emulators as well) work as intended, with no button mixups.

spijet avatar Apr 15 '23 17:04 spijet

@LibretroAdmin This issue persists in RetroArch 1.16. Tested it on macOS Sonoma 14.0.

Agusum avatar Oct 02 '23 12:10 Agusum

@LibretroAdmin this issue seems to be present on iPadOS as well. Not really surprised as I imagine the default profiles are shared across most/all of Apple's ecosystem, but wanted to share nonetheless. Please let me know if there's a better way to report this as my intent is not to hijack but to help with scope.

iPadOS 17.5.1 (M4) RetroArch 1.19.1 (App Store) 8bitdo Lite 2 (both S and D modes, Bluetooth) Not sure how many cores are affected but I have experienced the issue with RA menu, FinalBurn Neo, Sega*, Mupen64Plus-Next, PPSSPP, and PCSX Rearmed.

Following @spijet suggestion above appears to correct the issue for all menus/cores.

sysadmininator avatar Jun 11 '24 05:06 sysadmininator

Same issue here on iPad, same versions decribed. I've created a new profile for the 8bitDo control with swapped buttons.

theFrantic avatar Sep 23 '24 11:09 theFrantic

This issue persists in RetroArch 1.20. Tested it on MacOS Sequoia 15.3.2. Using Gulikit KK2 Pro NS09 Controller.

notjl avatar Apr 08 '25 21:04 notjl