They were mapped to the config buttons (0x37/0x36), which the 9 and 0 keys already reach from the Upper Right MFD bank. Freeing them gives players two pad buttons to assign; bindings.txt carries the mapping as commented example lines so the way to re-enable it is in the file. Docs and the dist README follow. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
171 lines
6.8 KiB
Markdown
171 lines
6.8 KiB
Markdown
# Red Planet 4.12 — controls map
|
||
|
||
Generated from the default `bindings.txt` (the file the game writes
|
||
beside the exe on first run). Everything here is rebindable: edit that
|
||
file and restart, or delete it to get these defaults back.
|
||
|
||
Grammar reminder, from the file's own header:
|
||
|
||
```
|
||
key <name> button <addr> [toggle]
|
||
key <name> axis <axis> deflect <n> # held, springs back
|
||
key <name> axis <axis> rate <n> # walks per second, sticks
|
||
pad <button> button <addr> [toggle]
|
||
padaxis <src> axis <axis> [invert] [deadzone <d>] [rate <n>]
|
||
```
|
||
|
||
---
|
||
|
||
## Xbox controller
|
||
|
||
```
|
||
( LB ) Panic Throttle / reverse ( RB )
|
||
( LT ) Left pedal Right pedal ( RT )
|
||
______________________________________________________
|
||
/ \
|
||
/ [Back] [Start] \
|
||
| unbound unbound |
|
||
| |
|
||
| ,--. (Y) |
|
||
| ( L ) stick X / Y Upper |
|
||
| `--' (X) (B) |
|
||
| +---+ Pinky Middle |
|
||
| D-pad --> |hat| (A) |
|
||
| +---+ Main |
|
||
| |
|
||
| ,--. |
|
||
| ( R ) throttle (Y axis) |
|
||
\ `--' /
|
||
\____________________________________________________ _/
|
||
```
|
||
|
||
| Control | Does | RIO address |
|
||
|---|---|---|
|
||
| Left stick | Joystick X / Y (inverted, deadzone 0.24 — pod convention) | axes |
|
||
| Right stick Y | Throttle, as a **rate**: hold to wind it up or down, position sticks | axis |
|
||
| Left / right trigger | Left / right pedal (deadzone 0.12) | axes |
|
||
| **A** | Main trigger | `0x40` |
|
||
| **B** | Middle | `0x46` |
|
||
| **X** | Pinky | `0x45` |
|
||
| **Y** | Upper | `0x47` |
|
||
| **LB** | Panic | `0x3D` |
|
||
| **RB** | Throttle button — reverse thrust | `0x3F` |
|
||
| D-pad | Hat: up / back / left / right (look) | `0x42` `0x41` `0x44` `0x43` |
|
||
| **Start**, **Back** | unbound — yours to map | — |
|
||
|
||
The config buttons (`0x37`/`0x36`) are the first two buttons of the
|
||
Upper Right MFD's top row, reachable from the keyboard on `9` and `0`.
|
||
Start and Back ship unbound so you can put anything there; the
|
||
commented lines in `bindings.txt` show how.
|
||
|
||
---
|
||
|
||
## Keyboard
|
||
|
||
### Flight cluster — the number pad
|
||
|
||
```
|
||
+-----+-----+-----+
|
||
| 7 | 8 | 9 | 7 / 9 left / right pedal
|
||
| Lped| fwd |Rped | 8 / 2 stick forward / back
|
||
+-----+-----+-----+ 4 / 6 stick left / right
|
||
| 4 | 5 | 6 | 0 main trigger
|
||
| left| |right|
|
||
+-----+-----+-----+
|
||
| 1 | 2 | 3 |
|
||
| | back| |
|
||
+-----+-----+-----+
|
||
| 0 | . |
|
||
| trigger | |
|
||
+-----------+-----+
|
||
|
||
Shift throttle up Ctrl throttle down Alt reverse thrust
|
||
(both throttle keys walk the axis and it holds where you leave it)
|
||
```
|
||
|
||
| Key | Does |
|
||
|---|---|
|
||
| NumPad 8 / 2 | Stick forward / back |
|
||
| NumPad 4 / 6 | Stick left / right |
|
||
| NumPad 7 / 9 | Left / right pedal |
|
||
| NumPad 0, Space | Main trigger (`0x40`) |
|
||
| Shift / Ctrl | Throttle up / down (position holds) |
|
||
| Alt | Reverse thrust (`0x3F`) |
|
||
| Arrow keys | Hat — look up / back / left / right |
|
||
| **Alt + Q** | Abort the mission (score banked, back to menu or lobby) |
|
||
|
||
### Panel buttons — the letter and number rows
|
||
|
||
The rest of the keyboard is the pod's button board, laid out as it is
|
||
printed on the panel. Each MFD has 8 buttons (a 4-wide top row and a
|
||
4-wide bottom row); the keyboard rows run left to right across the
|
||
three upper MFDs, then the two lower ones.
|
||
|
||
```
|
||
UPPER MFDs Left MFD Middle MFD Right MFD
|
||
top row 1 2 3 4 | 5 6 7 8 | 9 0 - =
|
||
bottom row Q W E R | T Y U I | O P [ ]
|
||
0x2F..0x2C 0x27..0x24 0x37..0x34
|
||
0x2B..0x28 0x23..0x20 0x33..0x30
|
||
|
||
LOWER MFDs Left MFD Right MFD
|
||
top row A S D F (G unbound) H J K L
|
||
bottom row Z X C V (B unbound) N M , .
|
||
0x0F..0x0C 0x07..0x04
|
||
0x0B..0x08 0x03..0x00
|
||
|
||
COLUMNS beside the map
|
||
Secondary F1 F2 F3 F4 F5 F6 0x10..0x15
|
||
Screen F7 F8 F9 F10 F11 F12 0x18..0x1D
|
||
```
|
||
|
||
G and B are deliberately unbound: they are the physical gap between the
|
||
Lower Left and Lower Right MFD clusters on the real board.
|
||
|
||
Every one of these buttons is also **clickable on screen** — the red
|
||
strips around each MFD and the amber strips beside the map are the same
|
||
addresses, and they light up when the game commands their lamps.
|
||
|
||
### Not bound by default
|
||
|
||
The pilot keypad (`0x50`–`0x5F`) and external operator keypad
|
||
(`0x60`–`0x6F`) have no keys assigned — the game never reads them. They
|
||
remain bindable if you want them (they arrive as arcade RIO key events).
|
||
|
||
---
|
||
|
||
## RGB keyboard lighting
|
||
|
||
If the machine has a Dynamic Lighting keyboard, bound panel keys mirror
|
||
the pod's lamps: red for the MFD banks, amber/yellow for the Secondary
|
||
and Screen columns, blinking in step with the on-screen buttons.
|
||
Unbound keys go dark. Set `RP412KEYLIGHT=0` in `environ.ini` to switch
|
||
it off.
|
||
|
||
---
|
||
|
||
## Rebinding
|
||
|
||
`bindings.txt` sits beside the exe, written with the full default layout
|
||
and its own documentation on first run. Change a line, restart the game.
|
||
Delete the file to restore these defaults — worth doing after an update,
|
||
since an existing file is never overwritten.
|
||
|
||
Examples:
|
||
|
||
```
|
||
key J button 0x40 # main trigger on J as well
|
||
pad X button 0x40 # move the trigger to the X button
|
||
key NumPadAdd axis Throttle rate 0.75 # throttle on numpad +/-
|
||
key NumPadSubtract axis Throttle rate -0.75
|
||
padaxis LeftStickX axis JoystickX deadzone 0.15 # drop 'invert' to flip X
|
||
```
|
||
|
||
Addresses: `0x00`–`0x47` are the lamp buttons above, `0x50`–`0x6F` the
|
||
keypads. Axis names: `Throttle`, `LeftPedal`, `RightPedal`, `JoystickX`,
|
||
`JoystickY`. Key names follow the .NET `Keys` naming (`A`–`Z`, `D0`–`D9`
|
||
for the digit row, `F1`–`F12`, `NumPad0`–`NumPad9`, `Up`, `Down`,
|
||
`Left`, `Right`, `Space`, `Return`, `Shift`, `Ctrl`, `Alt`,
|
||
`OemMinus`, `Oemplus`, `Oemcomma`, `OemPeriod`, `OemOpenBrackets`,
|
||
`OemCloseBrackets`, …).
|