Configuring <CODE_NOT> Control Mapping in lr-MAME2003?
-
@Riverstorm Yeah, I think we are only dealing with a RetroArch/Libretro core issue here.
I tested lr-mame2010 and I could create <CODE_NOT> mappings in the MAME GUI whether I have P1 controls mapped in retroarch.cfg or bound to "nul". It works both ways. However, I cannot map ANYTHING in 2010 besides Player1 inputs (in both cases). I don't know if that's an issue with 2010 or what (I don't use it), but I could not setup coins, start, or any joystick/buttons from other player locations on my control panel.
Still, there may be something to learn from how inputs are captured in lr-mame2010. I don't see double entries like I do in 2003. Instead, a key mapped in the GUI to Player 1 left, for example, shows up as
Kbd P1 JoyL
I am not sure what the logic is there, but it doesn't read like two inputs captured, and it does pickup the AND, OR and NOT mapping just fine, so something inside there is working like it should. -
An interesting observation worth mentioning here is that while it took a complete set of "nul" bindings in lr-mame2003 to setup Vindicators (using <CODE_NOT> mappings for RAW keyboard inputs), once MAME has the inputs mapped for the game, you can remove the custom retroarch.cfg (
vindictr.zip.cfg
). It was only needed to do the mapping. The game plays fine because it is configured to only watch for the RAW inputs. When the regular RetroArch bindings are restored, the game still works. This is further evidence that the keyboard inputs are sending both RAW and RetroPad to MAME. -
i've been going through this and i'm not sure i can think of a nice way to resolve it. the problem is, mame is reading from the abstracted retropad and retrokeyboard. it doesn't know that they are the same key, because they are already abstracted at that point. i don't believe there's a point where you can do a comparison to see if they're the same key.
this seems like something that's best solved through configuration - if you want to avoid the double presses you should change the default binding of (for example) LEFT ARROW from RetroPad1 Left, or change it to 'null'.
-
@dankcushions I can appreciate that, but it seems lr-mame2010 has it figured out. Maybe apples and oranges, but the double keys aren't showing up there.
-
@caver01 said in Configuring <CODE_NOT> Control Mapping in lr-MAME2003?:
@dankcushions I can appreciate that, but it seems lr-mame2010 has it figured out. Maybe apples and oranges, but the double keys aren't showing up there.
i think 2010 gets around it by making mame think a connected gamepad is a keyboard, so it never actually detects gamepads as gamepads, but as the virtual keyboard (i think in the tab menu it will always show up as "Kbd PX...". player 2 SHOULD work (the code is there.. possibly bugged), but player 3 and up won't work i believe, because it only maps 2 virtual keyboards. so this isn't a good solution, but a hack that happens to help in this specific situation.
that's my theory from the code, but i can't test it because i can't connect pads to my mac and can't be bothered to compile it on the pi :)
interestingly, i just found out that mame2010 runs killer instinct 2... at least on my mac.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.