Add action remapping to the input section of the options menu
I hope we'll also be able to bind actions to mouse buttons and also use mouse for Right Stick, this would be immensely helpful, especially to people who are used to playing it with Mouse and Keyboard on emulators or those who just prefer Mouse and Keyboard.
I would like to request support for multiple keybinds being assigned to the same action/controller input.
Originally posted as a separate issue and suggested to move to a comment on this one.
I generally prefer to play games on keyboard and mouse, so since I have experience in this i will share what I think the most comfortable mappings for the game would be. Some notes:
- Air Dash/Boost/Homing Attack separation: I know that whether or not this will be allowed in the base game is still under discussion, so I'll say that the best way to go about it is to make it so air boost (shared with boost), air dash and homing attack are separate actions in the re-mapping menu, but are mapped to the same button by default which would work like in vanilla. This also fits with the QTE changes suggested later on.
- I am going to assume that input remapping will dynamically update all control prompts and keyboard prompts are planned.
- These rely on both keyboard and mouse, since I believe this is way more comfortable than keyboard only. If it's still desired a preset system could be added, and keyboard-only would be built in selectable.
- Menu controls should be separate from gameplay controls, and I'm not sure if it would be worth making these re-mappable.
Proposed new default keyboard and mouse mappings
Sonic: WASD - Movement Q/E - Quick Step Space - Jump Shift - Boost/Air Boost/Homing Attack Left Ctrl - Slide/Stomp F - Light Speed Dash Right Mouse Button - Drift
Alternatives: Right Mouse Button - Slide/Stomp and Ctrl - Drift Middle Mouse Button - Light Speed Dash
Werehog: WASD - Movement Space - Jump Left Mouse Button - Circular Attack/Throw Right Mouse Button - Straight Attack Shift - Dash Left Ctrl - Guard Q - Unleash E - Interact/Grab
Gaia Colossus (re-mappings would be shared with the Werehog): Left/Right Mouse Buttons - Attack Shift - Boost Left Ctrl - Guard
Proposed new default keyboard-only mappings
Sonic: Arrow Keys - Movement Q/E - Quick Step Space - Jump Shift - Boost/Air Boost/Homing Attack Left Ctrl - Slide/Stomp R - Light Speed Dash W - Drift
Werehog: Arrow Keys - Movement Space - Jump Q - Circular Attack/Throw W - Straight Attack Shift - Dash Left Ctrl - Guard R - Unleash E - Interact/Grab
Gaia Colossus (re-mappings would be shared with the Werehog): Q/W - Attack Shift - Boost Left Ctrl - Guard
If preferred, QWER in all mappings could be moved down a row (QWER turns into ASDF).
Mouse Camera: When camera control is available, it should be controll-able by moving the mouse. Should also include a sensitivity slider in the options. This alone can make a game control better with m+kb than a controller if one is used to it.
Quick Time Events: QTE mappings should be re-mappable separate from the other controls. On a controller it would mainly matter to keep them on the same buttons (for example if the player wanted to re-map the boost to the right trigger), with re-mapping being less important, but on keyboard and mouse I think it matters a lot. On the default keyboard mappings the QTE layout is all over the place, keyboard prompts would help with it but not entirely solve it. I suggest default mapping for QTEs be QWEASD, it's a 3x2 grid where the left hand usually is on the proposed default controls, and it would work really well with arrow-style prompts.