[Feature Request] Add an alternative default key bindings for keyboard
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Description
Currently there's no keyboard binds by default for Left Analog, Right Analog, L2, L3, R2 and R3 buttons. This is often very confusing for users for cores like Mupen64Plus-Next for example where d-pad is almost never used and L2 being a very important button (Z-Trigger for N64).
Could be nice to have an alternative default key bindings while keeping the current ones for backward compatibility (could be "Classic" and "Modern" presets for example).
Something similar to other emus would be nice, like WASD for Left Analog, TFGH for Right Analog, IJKL for face buttons, QE for L1/R1, 13 for L2/R2 and UO for L3/R3.
It would require moving some hotkeys as well tho (and maybe unbind less important ones by default?)...
It's probably much more work than I imagine and I know devs tend to avoid input code as much as possible so I'm not holding my breath on this one, it's more like an idea I wanted to put in writing.
Expected behavior
Having default key bindings for EVERY RetroPad buttons.
Actual behavior
No default keyboard binds for analogs, triggers and L3/R3.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing RetroArch's default keyboard-binding and hotkey configuration paths; the issue does not name a file or test. Compare the existing bindings with the listed RetroPad controls and determine how an alternative preset can preserve the current defaults. Done means every RetroPad button has a default keyboard binding without breaking backward compatibility.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100