Skip to content

Fix es input missing triggers#4174

Open
XenuIsWatching wants to merge 1 commit intoRetroPie:masterfrom
XenuIsWatching:fix-es-input-missing-triggers
Open

Fix es input missing triggers#4174
XenuIsWatching wants to merge 1 commit intoRetroPie:masterfrom
XenuIsWatching:fix-es-input-missing-triggers

Conversation

@XenuIsWatching
Copy link
Copy Markdown
Contributor

@XenuIsWatching XenuIsWatching commented Apr 6, 2026

The map_emulationstation_joystick function was silently dropping lefttrigger, righttrigger, leftthumb and rightthumb inputs — they fell through to the *) return case despite being documented as supported. Add them to the passthrough case so they get written to es_input.cfg.

What's happening is that when a controller is configured with the 'wizard', these inputs are not copied in and then these inputs can't be used in ES .Right now most (if not all) are unused, but during development i noticed that these buttons were not being responsive and then i noticed they were missing the in the es_input.cfg. Adding them in manually showed that it made ES responsive, and this script was the one that generated that file.

The map_emulationstation_joystick function was silently dropping
lefttrigger, righttrigger, leftthumb and rightthumb inputs — they fell
through to the *) return case despite being documented as supported.
Add them to the passthrough case so they get written to es_input.cfg.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@cmitu
Copy link
Copy Markdown
Contributor

cmitu commented Apr 6, 2026

I think the corresponding buttons are ignored since they're not used by ES, hence there is no action associated with them in EmulationStation. What's the point in adding them to es_input.cfg if they're not useful ?

@XenuIsWatching
Copy link
Copy Markdown
Contributor Author

XenuIsWatching commented Apr 6, 2026

It seems odd as the emulationstation will write out the buttons for hotkeyenable, lefttrigger, righttrigger, those all appear correctly in es_temporaryinput.cfg. The only reason they don't appear for es_inputs.cfg is because this script silently drops them. That would surprise any developer trying to use those inputs.

The input wizard prompts the user for these buttons, the user presses them, ES records them in memory and writes them to the temp file but then this script throws them away before they reach es_input.cfg. From the user's perspective they configured those buttons and nothing happened (if those buttons are used in a future usecase).

The argument that they're "not currently used" isn't really a reason to drop them, es_input.cfg is the authoritative mapping file that any ES feature or fork can query via isMappedTo(). If a button isn't in that file, it simply cannot be used, which forecloses future use unnecessarily.

@cmitu
Copy link
Copy Markdown
Contributor

cmitu commented Apr 7, 2026

It seems odd as the emulationstation will write out the buttons for hotkeyenable, lefttrigger, righttrigger, those all appear correctly in es_temporaryinput.cfg. The only reason they don't appear for es_inputs.cfg is because this script silently drops them. That would surprise any developer trying to use those inputs.

It seems normal to drop them if they're not used. The temporary input config file is used to configure other emulators, so it's normal to contain all inputs configured. This script configures the RetroPie ES fork, so we keep only the supported inputs.

...
The argument that they're "not currently used" isn't really a reason to drop them, es_input.cfg is the authoritative mapping file that any ES feature or fork can query via isMappedTo()

It is a reason the RetroPie mapping scripts. Nothing keeps you from modifying es_input.cfg to add any inputs you like. I don't agree that es_input.cfg being the normative reference for input mapping in ES for developers - the source code is the reference.

IMHO we should add input mapping only for input features that our ES fork supports, if you have an ES fork that has more input mappings then you can add them to your es_input.cfg OR submit the extra inputs modifications to the ES fork to be included.

@XenuIsWatching
Copy link
Copy Markdown
Contributor Author

XenuIsWatching commented Apr 9, 2026

I dont' really see a reason 'not' to include this as I don't really see this taking anything away... but anyways i was going to be submitting the extra inputs usecase in a seperate PR to emulationstation, but it's not ready yet to be published yet as i'm still working out the bugs and design of it.

Why I am submitting it here is at first I did modify es_input.cfg by hand first after I found the wizard wasn't persisting it, This script makes it impossible to use these inputs manually without editing es_input.cfg after every wizard run... which wasn't a great experience.

I just found this issue in RetroPie as I was working on it and it stands on it's own here hence why this is submitted early here. It's a 'search' feature for emulation station... here's a preview

Video.Project.10.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants