Skip to content
ALPHA docs. ReCarbon has no public release yet: these pages describe the current development build. Known issues

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.

  • 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.

ControlKeyboard: WASDKeyboard: ArrowsControllerDoesStatus
Right triggerright_triggerW↑RT (right trigger)ThrottleHand-verified
Left triggerleft_triggerS↓LT (left trigger)Brake / ReverseHand-verified
Left stick ← →left_stick_leftleft_stick_rightA, ←, D, →←, →Left stickSteering Left / RightHand-verified
Left stick ↑ ↓left_stick_upleft_stick_down↑, ↓No keyLeft stickAction to verifyTo verify
A (South)aspacespaceA (South)Action to verifyTo verify
B (East)bdelete ⌫delete ⌫B (East)Action to verifyTo verify
X (West)xshift ⇧shift ⇧X (West)Action to verifyTo verify
Y (North)y⌃ ctrl⌃ ctrlY (North)Action to verifyTo verify
Left bumperlbQQLB (left bumper)Look BackAutomated
Right bumperrbEERB (right bumper)Change CameraAutomated
D-paddpad_updpad_downdpad_leftdpad_right↑, ↓, ←, →W, S, A, DD-pad up, D-pad down, D-pad left, D-pad rightAction to verifyTo verify
Menu (Start)startreturnreturnMenu (Start)PauseAutomated
View (Back)backescescView (Back)Action to verifyTo verify
Right stick ↑ ↓right_stick_upright_stick_downO, LO, LRight stickGear Up / DownAutomated
Right stick ← →right_stick_leftright_stick_rightK, ;K, ;Right stickAction to verifyTo verify
Left stick clickleft_stick_clickZZLeft stickAction to verifyTo verify
Right stick clickright_stick_clickCCRight stickAction to verifyTo verify

Menu: The game's own menus.

ControlKeyboard: WASDKeyboard: ArrowsControllerDoesStatus
Left stick ↑ ↓left_stick_upleft_stick_down↑, ↓No keyLeft stickNavigateFrom source
A (South)aspacespaceA (South)ConfirmHand-verified
B (East)bdelete ⌫delete ⌫B (East)BackHand-verified
D-paddpad_updpad_downdpad_leftdpad_right↑, ↓, ←, →W, S, A, DD-pad up, D-pad down, D-pad left, D-pad rightNavigateHand-verified
Menu (Start)startreturnreturnMenu (Start)Start / DoneAutomated
View (Back)backescescView (Back)BackFrom source

Settings: ReCarbon's Settings overlay (F1).

ControlKeyboard: WASDKeyboard: ArrowsControllerDoesStatus
Open / Close SettingsF1, ⌘ 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 TabQ, ELB (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 stickChoose 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 KeyspaceA (South)Dear ImGui's keyboard navigation: Space activates. On the Controls page it waits for the new key.From source
Clear Key Slotdelete ⌫Y (North)On the Controls page: sets the chosen slot to none.From source
Reset Controldel ⌦X (West)On the Controls page: both slots go back to their defaults.From source
Close / BackescB (East)Also cancels the Quit Game confirmation.From source
  • 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:

  1. Open Settings (F1, Fn+F1 or Cmd+,) and go to the Controls tab (Q / E).
  2. The Keyboard Profile row switches profiles; the change takes effect at once.
  3. 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)”.
  4. 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.

  • 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.