Skip to content
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

[Bug] Keyboard and gamepad controls are disabled on macOS after hitting CMD+AnyKey combination on macOS #17124

Open
shchukin opened this issue Oct 26, 2024 · 1 comment

Comments

@shchukin
Copy link

shchukin commented Oct 26, 2024

Description

Sometimes I press a CMD + AnyKey combinations during the play to control other apps in the background. For example, I might use CMD + Y to start screen recording. However, once I hit any of them, RetroArch freezes in the menu when it's open.

Specifically, it feels like both the keyboard and controller stop working. I can still use the mouse to press Resume and see that the emulation is still goes on. So it's something to do with the input handling.

This bug disables all controls and hotkeys. Can't play, save, go full-screen, open or close the menu, or even close RetroArch by pressing Esc twice. This also results in game progress loss.

The only thing that still works is Set All Controls thing in SettingsInputRetroPad BindsPort 1 ControlsSet All Controls (need to go there using mouse). For some reason, it catches controller buttons presses normally.

Assigning a modifier in SettingsInputHotkeysHotkey Enable actually solves the problem. From now on, I press all the RetroArch hotkeys with additional hold of Left Alt.

More details

  • CMD + Tab combination works fine.
  • Only CMD key is affected. Alt, Shift and Fn work fine.
  • Both Left CMD and Right CMD are affected.
  • It only freezes in the menu. I can play an hour normally, but it will freeze once the menu is open.
  • It's unrelated to screen recording (above there it was just an example). The bug occurs even when nothing in background apps is assigned to the specific combination.
  • It's not related to controllers; it happens even without one plugged in.
  • Reinstalling RetroArch from scratch and cleaning related folders in Library/Documents doesn't help.

Steps to reproduce the bug

  1. Run RetroArch.
  2. Open any game on any core.
  3. Press CMD+AnyKey combination, like CMD + Y CMD + U or CMD + N.
  4. Open menu by [Fn+F1] or by the home button on the controller.
    Repeat steps 3-4 a few times if it doesn’t happen on the first try. It happens about 90% of the time.

Version/Commit

RetroArch: 1.19.1

Environment information

  • OS: Macbook Pro on M1 chip
  • macOS Sonoma 14.6.1

Thank you for checking up this.

@shchukin
Copy link
Author

shchukin commented Oct 26, 2024

Another strange thing I just noticed.

Now I have to press Alt + F to go full-screen. It's a standard hotkey but with Alt modifier. Alt here is the Hotkey Enable option I mentioned above). Everything work as expected.

But if I press CMD + F (which has no effects), RetroArch seems going to another state where F button is held constantly. From now on it is only enough to press Alt to go full-screen.

Same for other combination: CMD + N has no effect, but after pressing it, it is enough just to press Alt to be registered same as Alt + N to change the shader.

It feels like CMD + AnyKey works the way it puts that AnyKey in always hold state.


Holding a key doesn't seems to be enough to break RetroArch, but maybe it's another hint to the whole puzzle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant