libretro / libretro/RetroArch

[Feature Request] Add an alternative default key bindings for keyboard

Open
#16,388 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.