Skip to content

Change default mappings between retropad and mgba core #310

@fekir

Description

@fekir

As far as I've understood, the core itself is responsible for the default mappings between retropad ad the core, if not, sorry

Currently the mapping between retropad and a game boy advance looks like

|===
|Retropad (input) |Game Boy Advance (game)
|A                |A
|B                |B
|X                |A
|Y                |B
|L                |L
|R                |R
|Start            |Start
|Select           |Select
|D-Pad            |D-Pad
|Retroarch Menu   |
|===

I would like to propose to map the button X,Y to L,R as there are remotes that do not have buttons mapped to the L,R button of retropad, but have the same amount of buttons as a game boy advance: the wiimote.

With the proposed change, the table (with additional column for the wiimote) looks like

|===
|Wiimote (input) |Retropad (input) |Game Boy Advance (game)
|2               |A                |A
|1               |B                |B
|A               |X                |R (instead of A)
|B               |Y                |L (instead of B)
|                |L                |L
|                |R                |R
|+               |Start            |Start
|-               |Select           |Select
|D-Pad           |D-Pad            |D-Pad
|HOME            |Retroarch Menu   |
|===

and all GBA games can be played with a remote

As far as I could observe, all controllers that have buttons mapped to retropad L,R (dualshock, snes, ...) also always have the equivalents of the buttons mapped to A,B,X,Y, and all controller that have X,Y seem to have L,R; the wiimote is the only exception I could find.

This is to say I could not find any controller that has the retropad buttons X,Y,L,R but not A,B, and thus where the proposed mapping would not make it possible to play game boy advanced games that use the A,B buttons.

On the other hand, changing the current mapping between wiimote and retropad would break some scenarios; for example snes games that do not use L,R but use X,Y.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions