Native Emulator Controller Mapping Management š®š§©
šSummary
Introduce a robust controller mapping system within LaunchBox that allows users to configure and manage button layouts per emulator and platformāright from LaunchBox itself. This would make controller setup more visual, more intuitive, and more centralized across different emulators.
āProblem
One of the most frustrating parts of setting up emulators is configuring consistent, accurate controller mappingsāespecially for users with multiple types of controllers (e.g. DualSense, arcade sticks, Xbox controllers). Each emulator handles configuration differently, often requiring manual editing of config files or navigating clunky UI tools. Itās time-consuming, error-prone, and difficult to maintain across platforms.
š”Proposal
Allow LaunchBox to manage controller configurations across supported emulators with the following capabilities:
Associate each controller with a visual reference image (e.g., DualSense, Xbox, arcade stick)
Configure button mappings visually by dragging/dropping or selecting between the emulator/controller layout and the original platform layout (e.g., SNES, Genesis, etc.)
Store and apply these mappings in the background by editing emulator config files
Display a real-time mapping diagram during gameplay, accessible from the pause menu via a new āControlsā option
Support output of control diagrams to a secondary screen (perfect for cabinet or dual-display setups)
This wouldnāt replace emulatorsā native input settings but would act as a unified layer on top, streamlining the process.
ā Benefits
Provides a visual, user-friendly method for setting up controller inputs
Ensures consistency across emulators without needing separate setup per platform
Greatly reduces setup time and improves accessibility for newer users
Makes it easy to manage multiple controllers with unique layouts
Enhances the in-game experience with quick-reference control maps, especially helpful for retro games with unfamiliar button schemes
Perfectly complements multi-screen setups or arcade builds by showing mappings in real-time š¹ļøš¼ļø

Log in to comment and vote
Comments3
Apr 20, 2025
PinnedHi there!
Thanks so much for submitting this request and for taking the time to explain your use-case ā that context is always super helpful. Iāve gone ahead and fleshed out the main idea using the info you provided, and Iām opening it up to the community for further discussion and feedback.
Note, that this would compliment Individual Controller Mappings for LaunchBox & Big Box Navigation , although this request is more focused on having LaunchBox manage controller profiles for specific emulators, rather than LaunchBox Navigation
Feel free to chime in with any extra thoughts, examples, or edge cases you think might be relevant!
Cheers,
The LaunchBox team
gboava
Apr 20, 2025
That is perfect! Thanks!!
gboava
Apr 20, 2025
Controller and Button Mapping Management
One of the most challenging aspects of configuring emulators is setting up good button mappings for controllers, especially when the user owns more than one type of controller. I'm thinking of a new functionality for LaunchBox that may be complex to implement, but would be a dream for many users. I'll try to explain it in steps:
In LaunchBox, the user could associate a default image for each of their controllers (for example, LaunchBox could include images of the DualSense, a generic XInput controller, an arcade stick, etc.).
LaunchBox would offer the ability to configure button mappings for each Emulator and Platform association. For instance, when configuring the Super Nintendo platform, LaunchBox would display both the SNES controller layout and the user's controller, allowing for an easy visual mapping process. LaunchBox would manage these mappings within the emulator's config files. While this may not be as necessary for Retroarch ā which already handles controller mapping well ā it would be extremely valuable for other emulators (like MAME).
When launching a game, LaunchBox could generate in real-time an image showing the mapping between the user's controller and the system's original controller layout. This image would be accessible through the pause menu via a new option called "Controls".
Combined with the multi-screen management feature, the control layout image could be displayed on a secondary screen.