Configuring Libretro MAME (help)

I’m trying to configure the bleeding-edge MAME core, and I’m having problems with configuring controls (DualShock 4 via DS4Windows). Trying to use basic MAME hotkeys also overlap with RA and is a royal pain, and MAME core seems to only recognize keyboard commands and treats joypad inputs as keyboard functions and I’m trying to figure out to have them completely separate.

I realize I could easily go back to standalone, but despite frustrations setting-up things, I love RA and would like to take advantage of it’s features.

The joypad-buttons-as-keyboard-events is a function of how the core works, unfortunately. It’s not optimal but that’s how it works right now.

Is there a config or ini file i can edit?

I think pretty much any files you can feed to standalone MAME you can feed to the libretro core but it requires you to put the directory structure in place manually. I don’t really know much about it, though. I think radius knows more, so maybe he can chime in.

I can map both retrokeyboard and retropad inputs in the MAME OSD like this:

But to be able to do that I had to null out my retropad keyboard inputs in my MAME 2015 override config. That way the retropad keyboard inputs (keyboard mapped to pad) don’t conflict with retrokeyboard inputs (native keyboard, basically). This has the side effect of disabling my ability to control RA’s GUI with the keyboard when I use the MAME core. If you want to try this method, turn off per core configs if you use them and enable auto loading of override configs in your RA settings. Then create a MAME 2015 folder in your config folder and inside that a MAME 2015.cfg file with these contents:

input_player1_a = "nul"
input_player1_b = "nul"
input_player1_y = "nul"
input_player1_x = "nul"
input_player1_select = "nul"
input_player1_start = "nul"
input_player1_l = "nul"
input_player1_r = "nul"
input_player1_l2 = "nul"
input_player1_r2 = "nul"
input_player1_l3 = "nul"
input_player1_r3 = "nul"
input_player1_left = "nul"
input_player1_right = "nul"
input_player1_up = "nul"
input_player1_down = "nul"

Then when you try mapping stuff in the MAME OSD, you can do keyboard and pad inputs separately.