Input & Controls¶
PFC adds its own input actions and merges them into the vanilla CarContext, so they're active whenever the
player is the active pilot. PFC_FlightController reads these, smooths them with per-axis slew limits, and
exposes them to the flight model.
Actions & default bindings¶
Defined in Configs/System/chimeraInputCommon.conf:
| Action | Keyboard | Gamepad | Joystick |
|---|---|---|---|
PFC_Pitch |
W/S, Up/Down | left stick Y | axis1 |
PFC_Roll |
A/D, Left/Right | left stick X | axis0 |
PFC_Yaw |
Q/E | left/right trigger | axis5 (twist) |
PFC_ThrottleUp |
Shift | RB (shoulder_right) |
button4 |
PFC_ThrottleDown |
Ctrl | LB (shoulder_left) |
button5 |
Each analog axis (Pitch/Roll/Yaw) is built as an InputSourceSum of signed +/- halves, following
the vanilla convention (the negative half carries an InputFilterValue Multiplier -1).
Input smoothing¶
PFC_FlightController doesn't pass raw input to the model - it slews each axis toward its target at a
per-axis rate, so control response is smooth and a little "heavy" like a real aircraft:
| Attribute | Default (prefab) | Meaning |
|---|---|---|
m_fControlRate |
3.5 | Roll slew rate (units/sec; 1.0 = full deflection in 1 s) |
m_fPitchControlRate |
3 | Pitch slew rate (slower - heavy elevator) |
m_fYawControlRate |
3.5 | Yaw slew rate |
m_fPitchInputScale |
1 | Caps max pitch input magnitude (0..1) |
m_fThrottleRate |
0.5 | Throttle change per second while held |
Note
The component's attribute defaults differ from the values set on the Cessna prefab (shown above). The prefab is the source of truth for the reference airframe.
Ground steering & key de-conflicting¶
Because the airframe rides on Wheeled_Base.et, its native car controls collide with the flight keys.
PFC_FlightController.ApplyGroundSteering() runs in EOnFrame (the wheel sim consumes CarSteering before
the simulate phase, so writing it later is ignored) and:
- Zeroes
CarThrust- otherwise W revs the car engine and you hear the leftover turbine spin up. - Zeroes
CarBrake- otherwise S (pitch back) grabs the wheel brake. - Zeroes
CarShift- otherwise Q/E (yaw) shift the gearbox. - Injects nose-wheel steering - writes the smoothed
PFC_Yawvalue intoCarSteering(scaled bym_fGroundSteerScale, default-1.0), so Q/E steer the nose wheel on the ground while A/D stay roll-only. Setm_fGroundSteerScaleto0to disable (then A/D steer as vanilla).