4

My 8bitdo SN30 has a "home" button on the lower right hand side. I only ever hit this button by accident when gaming on my mac, and it opens some weird sub-folder of the never-used Launchpad app, and I can then navigate the UI to open apps that the mac thinks is a "game".

Functionally what this means is that it is a shortcut to launch "Chess" randomly in the middle of other games.

an arrow pointing to the button

Note: I do not want to remap any other controller buttons. Key remapping apps like Karabiner Elements seem to mess up the controller and make it think it's a mouse or a keyboard and require a ton of reworking to make it even marginally functional in games, and even then the game menus will show the keyboard keys it's mapped to rather than actual controller instructions. I just want to disable the Home button and leave everything else the same. Also, this answer is no longer relevant on Ventura; the home button remap was removed from System Settings, although I can still remap the Share button.

Is it possible to totally stop this button from being recognized or performing any action by macOS?

7
  • We need to see what key is being pressed when you hit the button. Use the Keyboard Viewer to see what gets identified. Your current description of a “sub menu that launches Chess” sound like some preconfigured macro/shortcut.
    – Allan
    Apr 16, 2023 at 19:10
  • It's not a keyboard. No keyboard button is pressed. It's a game controller, as you can see from the picture. Game controller buttons can be translated to keyboard or mouse button inputs, but that is not how they work normally. Keyboard Viewer does not show any keyboard buttons being actuated for any controller buttons, and even Karabiner-EventViewer, which is more comprehensive and I believe sets up a full CGEventTap, shows no input being generated for the "home" button. This is something built in to macOS, not any third party software, and I don't know at what level it is happening.
    – Glyph
    Apr 17, 2023 at 19:28
  • 1
    You still seem to be avoiding just checking it in Key Codes, just in case. 20s test to confirm or deny.
    – Tetsujin
    Apr 18, 2023 at 8:11
  • 1
    Hi @Tetsujin, I checked it in Karabiner-EventViewer first because that's more comprehensive than any of these other tools. But, since you asked (although nobody else had, so far?) I just confirmed that Key Codes indeed does not monitor inputs that are not from a keyboard device, which this is not. It's a game controller. The Key Codes log window remains empty no matter what buttons I push, including the home button.
    – Glyph
    Apr 18, 2023 at 17:29
  • 1
    People in the comments here may be missing the fact that MacOS has first class controller support nowadays and the home button opens launchpad in the "games" menu, which is quite obnoxious when you want it to do other specific things (like opening the home screen in citra, as an example).
    – monokrome
    Oct 7, 2023 at 1:22

1 Answer 1

4

As far as I know, there is unfortunately no method for disabling this as of now through the system user interface. Game controllers open launchpad when pressing the home menu by default and there is no current UI able to disable this.

With that said, there is an option for users who are comfortable with command-line tools. The following terminal commands will disable the bothersome behavior:

defaults write com.apple.GameController bluetoothPrefsMenuLongPressAction -integer 0
defaults write com.apple.GameController bluetoothPrefsShareLongPressSystemGestureMode -integer -1

I hope this helps you with the issue, as I found it quite annoying as well.

7
  • Thanks so much! I will try this later today to see if it works, but can you say how you discovered this preference item?
    – Glyph
    Oct 10, 2023 at 17:25
  • 1
    I wish that there was some way to easily discover these or some documentation where it was found, but I think most of these preferences are simply part of the internal/private Apple documentation. I'm guessing someone found it by searching through the keys, but I personally ended up finding it through a lot of searching. EDIT: Also, my apologies for the delayed response.
    – monokrome
    Nov 10, 2023 at 0:43
  • 1
    No worries about the delayed response; I had a feeling that might be the story, but it's nice to have it confirmed.
    – Glyph
    Nov 11, 2023 at 1:08
  • 2
    Someone on that reddit page said "I put the GameController framework into Hopper disassembler and had a look at the code that reads the configs mentioned above, it seems to only look for these settings:" so perhaps this just comes from reversing.
    – Glyph
    Nov 11, 2023 at 1:11
  • 1
    Ah, well that makes sense :)
    – monokrome
    Nov 12, 2023 at 4:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .