Controls
The keyboard acts as an Xbox 360 controller: each of its 24 controls has two keys. The game sees the same controller whatever drives it. ReCarbon ships two built-in keyboard presets, WASD (what a new player starts with) and Arrows; the tables below show both. For the interactive view, open the Garage.
What the badges mean
Section titled “What the badges mean”- Tested pinned by ReCarbon’s unit tests (
key_map_test,settings_keys_test,profiles_test,pad_map_test). - Automated seen in scripted or virtual-controller runs, not on a physical controller.
- Hand-verified checked by a person in a hand test.
- From source read from ReCarbon’s code or option text, not yet hand-tested.
- Pending expected from the option text, waiting for its hand test.
- To verify the control is bound, but what it does in the game isn’t known yet. Nitrous, Handbrake and Speedbreaker are still to verify: nothing ties them to a control yet, and that waits for a hand test.
- Not mapped ReCarbon doesn’t read the input (back paddles, the Guide button).
The key → control bindings below are all tested, in every preset. Of the game actions in a race, Throttle, Brake and Steering were seen working in hand tests, on the WASD keys. Change Camera (RB), Look Back (LB), Gear Up and Gear Down (the right stick, with a manual gearbox), Reverse (the Left Trigger at a standstill) and Pause (Start) were seen with SDL’s virtual controller in a scripted Quick Race (automated), not yet by hand. The rest wait for a hand test. The physical controller test is deferred: nothing on a real pad is verified.
Drive: In a race or free-roam.
| Control | Keyboard: WASD | Keyboard: Arrows | Controller | Does | Status |
|---|---|---|---|---|---|
Right triggerright_trigger | W | ↑ | RT (right trigger) | Throttle | Hand-verified |
Left triggerleft_trigger | S | ↓ | LT (left trigger) | Brake / Reverse | Hand-verified |
Left stick ← →left_stick_leftleft_stick_right | A, ←, D, → | ←, → | Left stick | Steering Left / Right | Hand-verified |
Left stick ↑ ↓left_stick_upleft_stick_down | ↑, ↓ | No key | Left stick | Action to verify | To verify |
A (South)a | space | space | A (South) | Action to verify | To verify |
B (East)b | delete ⌫ | delete ⌫ | B (East) | Action to verify | To verify |
X (West)x | shift ⇧ | shift ⇧ | X (West) | Action to verify | To verify |
Y (North)y | ⌃ ctrl | ⌃ ctrl | Y (North) | Action to verify | To verify |
Left bumperlb | Q | Q | LB (left bumper) | Look Back | Automated |
Right bumperrb | E | E | RB (right bumper) | Change Camera | Automated |
D-paddpad_updpad_downdpad_leftdpad_right | ↑, ↓, ←, → | W, S, A, D | D-pad up, D-pad down, D-pad left, D-pad right | Action to verify | To verify |
Menu (Start)start | return | return | Menu (Start) | Pause | Automated |
View (Back)back | esc | esc | View (Back) | Action to verify | To verify |
Right stick ↑ ↓right_stick_upright_stick_down | O, L | O, L | Right stick | Gear Up / Down | Automated |
Right stick ← →right_stick_leftright_stick_right | K, ; | K, ; | Right stick | Action to verify | To verify |
Left stick clickleft_stick_click | Z | Z | Left stick | Action to verify | To verify |
Right stick clickright_stick_click | C | C | Right stick | Action to verify | To verify |
Menu: The game's own menus.
| Control | Keyboard: WASD | Keyboard: Arrows | Controller | Does | Status |
|---|---|---|---|---|---|
Left stick ↑ ↓left_stick_upleft_stick_down | ↑, ↓ | No key | Left stick | Navigate | From source |
A (South)a | space | space | A (South) | Confirm | Hand-verified |
B (East)b | delete ⌫ | delete ⌫ | B (East) | Back | Hand-verified |
D-paddpad_updpad_downdpad_leftdpad_right | ↑, ↓, ←, → | W, S, A, D | D-pad up, D-pad down, D-pad left, D-pad right | Navigate | Hand-verified |
Menu (Start)start | return | return | Menu (Start) | Start / Done | Automated |
View (Back)back | esc | esc | View (Back) | Back | From source |
Settings: ReCarbon's Settings overlay (F1).
| Control | Keyboard: WASD | Keyboard: Arrows | Controller | Does | Status |
|---|---|---|---|---|---|
| Open / Close Settings | F1, ⌘ cmd + , | View (Back) + Menu (Start) | Any time, in game or in menus. On a Mac keyboard F1 is the brightness key: press Fn+F1, or Cmd+,. | From source | |
| Previous / Next Tab | Q, E | LB (left bumper), RB (right bumper) | The tabs, in order: Display, Graphics, Audio, Input, Controls, Controller, Advanced. | From source | |
| Navigate / Change Value | ↑, ↓, ←, → | D-pad up, D-pad down, D-pad left, D-pad right, Left stick | Choose a row and change its value. On the Controls page, left and right pick the key slot (first or second key). | From source | |
| Activate / Set Key | space | A (South) | Dear ImGui's keyboard navigation: Space activates. On the Controls page it waits for the new key. | From source | |
| Clear Key Slot | delete ⌫ | Y (North) | On the Controls page: sets the chosen slot to none. | From source | |
| Reset Control | del ⌦ | X (West) | On the Controls page: both slots go back to their defaults. | From source | |
| Close / Back | esc | B (East) | Also cancels the Quit Game confirmation. | From source | |
Presets and profiles
Section titled “Presets and profiles”- WASD is the original layout, and a new player’s. It drives with W A S D; the arrow keys
work the left stick (Left and Right steer too) and the D-pad at once, by design. Its stored
name, in
keyboard.toml, is"Default". - Arrows drives with the arrow keys; W A S D are the D-pad. No key drives two controls, and the left stick’s up and down have no key.
- Everything else (Space, Backspace, Shift, Control, Q, E, Return, Escape, O K L ;, Z, C) is the same in both.
The website shows these built-in presets only. Custom profiles are configured in game:
- Open Settings (F1, Fn+F1 or Cmd+,) and go to the Controls tab (Q / E).
- The Keyboard Profile row switches profiles; the change takes effect at once.
- To rebind, pick a control’s row (left and right choose its first or second key), press Space (or A), then the new key. Backspace (or Y) clears the slot; Delete (or X) resets the control. The built-in presets can’t be changed: editing one makes a copy, such as “WASD (custom)”.
- Controller buttons are rebound on the Controller tab, which has its own Controller Profile row. Only buttons can be rebound; the triggers, sticks and deadzones are fixed.
Profiles are saved in ~/Library/Application Support/ReCarbon/profiles/ (keyboard.toml and
controller.toml). The active keyboard profile’s keys are also kept in the [keys] table of
settings.toml, so an older ReCarbon still finds them. Key names are physical positions,
whatever the layout: "w", "left_shift", "semicolon", "keypad_1", or "none".
F1 opens Settings and can’t be bound. Neither can Command, fn or the media keys.
Controller notes
Section titled “Controller notes”- Buttons are mapped by position: South, East, West, North are A, B, X, Y, so a PlayStation pad’s Cross is A. The Garage’s Xbox / PlayStation switch changes only the names shown.
- Automated The default mapping and controller rebinding were checked with SDL’s virtual controller only. Pending No physical controller has been hand-tested (deferred), and controller rebinding hasn’t been tried on hardware.
- Sticks have a radial deadzone (8% by default) and the triggers their own (2%): Settings > Input.
- View (Back) is held back for a moment while it might start the View + Menu chord that opens Settings.
- Back paddles and extra buttons aren’t read by ReCarbon. If the pad’s own firmware or software remaps a paddle to another button, it acts as that button. Whether a given pad’s paddles reach SDL at all is device-specific and unverified.
A RetroNative project.
ReCarbon is an unofficial fan project. It is not affiliated with, endorsed by or sponsored by Electronic Arts Inc. or the Need for Speed brand. Need for Speed and Carbon are trademarks of Electronic Arts Inc. and are used here only to describe the game. No game files are included or distributed: you need your own legally obtained copy of the Xbox 360 disc.