Can't deactivate menu button on Dualshock 3 pad (maybe others?)


I’ve recently updated my retroarch to:

RetroArch: Frontend for libretro -- v1.8.4 -- 9e25601 --
Compiler: GCC (7.4.0) 64-bit Built: Jan 18 2020

And I noticed that now I can’t deactivate the button to make the retroarch menu to appear when in the game (it’s the PS button in my Dualshock 3 pad). I tried manually editing the configuration file with these two options:

input_menu_toggle_btn = "87"  # that button doesn't exist
input_menu_toggle_btn = "nul"

None of them work and the Playstation button keeps opening the retroarch menu. If I go to the option in the menu itself I can see that the PS button is back there.

Do you know if it’s a bug or there is a way of completely deactivating/unbinding that option?


It’s probably included in the autoconfig profile. Try deleting it there.

Interesting, hunterk.

I call retroarch from command line using my own script which appends (that was my initial understanding) new configuration files over the default retroarch.cfg).

--appendconfig "/home/retroarch_configs/retroarch_0_master.cfg"

There is where I have my own custom configuration for controls. So, if the autoconfig profile is still able to overwrite it, should I assume that autoconfig profiles are applied after?

EDIT:* After trying to modify the autoconfig profiles

There is something going there, that’s for sure…

  1. I’m using an official Sony Dualshock 3 connected through Bluetooth and my input driver in is udev. If I remove read permission to all Sony* configuration files, nothing happens. PS button still brings back retroarch menu. I did a grep for “PS” and I found all these files contain reference to it (so, somehow retroarch is using one of those configs for my pad).
Gasia_PS_Gamepad_BT.cfg:input_menu_toggle_btn_label = "PS"     
Gasia_PS_Gamepad_USB.cfg:input_menu_toggle_btn_label = "PS"
HORI_Fighting_Commander_4.cfg:input_menu_toggle_btn_label = "PS"
HORI_Fighting_Commander_PS4-044_3.cfg:input_menu_toggle_btn_label = "PS"
HORI_Fighting_Commander_PS4-044_4.cfg:input_menu_toggle_btn_label = "PS"
HORI_Fighting_Commander_PS4-044_PC.cfg:input_menu_toggle_btn_label = "PS"
HORI_Fighting_Stick_mini_4.cfg:input_menu_toggle_btn_label = "PS"
HORI_HORIPAD_mini_PS4.cfg:input_menu_toggle_btn_label = "PS"
HORI_Real_Arcade_Pro_4.cfg:input_menu_toggle_btn_label = "PS"
Mad Catz FightPad PRO PS3.cfg:input_menu_toggle_btn_label = "PS"
Mad Catz FightPad PRO PS4.cfg:input_menu_toggle_btn_label = "PS"
SHANWAN PS3 GamePad.cfg:input_menu_toggle_btn_label = "PS"
Sony-PlayStation3-DualShock3-Controller-Bluetooth.cfg:input_menu_toggle_btn_label = "PS"
Sony-PlayStation3-DualShock3-Controller-Bluez.cfg:input_menu_toggle_btn_label = "PS"
Sony-PlayStation3-DualShock3-Controller-USB.cfg:input_menu_toggle_btn_label = "PS"
Sony_PlayStation4_Dualshock4_500-Million_Limited_Edition.cfg:input_menu_toggle_btn_label = "PS"
Sony-PlayStation4-DualShock4-Controller-Bluetooth.cfg:input_menu_toggle_btn_label = "PS"
Sony-PlayStation4-DualShock4-Controller.cfg:input_menu_toggle_btn_label = "PS"
Sony-PlayStation4-DualShock4v2-Controller.cfg:input_menu_toggle_btn_label = "PS"
Sony-PlayStation4-DualShock4v2-Wireless-Crystal-Controller.cfg:input_menu_toggle_btn_label = "PS"
  1. If I remove read permission from ALL files, yes the PS button doesn’t open retroarch anymore.

Is there any way to find out which configuration files is retroarch reading and in which order is it applying them?


Autoconfigs are applied once the controller is recognized. If you don’t want that to happen, you can just disable autoconfiguration altogether in settings > input.

I don’t have that option (edit: I’ve just seen that you have to activate show advanced options first)

Anyway, I realised that launching retroarch with “-v” (verbose) you can see which autoconfig file is applied. So I started deactivating reading properties for each of the files it tried to read (adding one each time). For me, that sequence was:

  1. Gasia_PS_Gamepad_USB.cfg
  2. Sony-PlayStation3-DualShock3-Controller-Bluez.cfg
  3. SHANWAN PS3 GamePad.cfg
  4. Sony-PlayStation3-DualShock3-Controller-USB.cfg
  5. Sony-PlayStation3-DualShock3-Controller-Bluetooth.cfg

With those five deactivated, the PS action is not bound anymore.

Now I’m intrigued by that sequence and why USB profiles are even tried when I’m using a bluetooth device. IMHO, I think there is something not working right in the autoconfiguration code.


it’s based on vid/pid and device name

1 Like