Offer layouts for flat and ergonomic gamepads
The most important buttons tend to be the ones on which your right thumb rest, typically you run and attack with the tip of your thumb, and you jump with the middle of your thumb.
The two buttons on which your right thumb rest tend to depend on the shape of your gamepad:
- flat gamepads are more comfortable to hold from the side, letting your right thumb sitting horizontally between the bottom and right buttons
- ergonomic gamepads are more comfortable to hold with a firmer grip and 45° lower, letting your right thumb sitting on the left and the bottom buttons
When emulating gamepads with less than 4 face buttons, cores often choose to map them for flat gamepads, whcih isn't comfortable on ergonomic gamepads, I suggest we offer to support ergonomic gamepads by rotating 90° clockwise the position of the emulated buttons.
This depends on both the emulated controller (only gamepads, and only less than 4 face buttons) and the actual gamepad. We need to design how to make this as cumberless as possible for the user, maybe by letting them mark a gamepad as being either flat or ergonomic in the gamepad preferences, applying the best mapping where possible.
This may be provided by libmanette, see GNOME/libmanette#25.