Skip to content

Steering Configuration

Barden edited this page Aug 27, 2026 · 5 revisions

🎮 Steering Configuration

🌐 Language / Язык: English | Русский

The Steering Configuration page provides deep control over how mouse physical movement and keyboard keys translate into high-fidelity virtual steering wheel angles.


🖱️ Mouse Steering Engine

vWheel Hub captures raw mouse motion directly via the Windows RawInput API via low-level RawInput running on a dedicated high-priority background thread with a Win32 message-only window .

Horizontal mouse deltas are accumulated atomically atomically, completely bypassing Windows desktop pointer acceleration, display scaling, and OS smoothing filters.

flowchart LR
    A[Hardware Mouse Sensor] -->|RawInput API| B[Atomic Delta Worker Thread]
    B --> C[Math Engine: Gamma & Clamping]
    C --> D[Speed-Sensitive Steering Multiplier]
    D --> E[vJoy Virtual Steering Axis X]
Loading

Steering Engine Parameters:

Setting Default Function & Impact
Mouse Sensitivity 3.70 (LMU: 4.00) Global multiplier for horizontal mouse displacement. Higher values translate smaller physical hand movements into larger steering wheel rotations.
Steering Gamma 1.00 (Linear) Adjusts non-linear steering progression ($y = \text{sign}(x) \cdot |x|^\gamma$). Values above 1.0 (e.g. 1.201.40) reduce sensitivity around center for stability on straights while maintaining fast lock on hairpins.
Steering Offset 0 (BeamNG: 1000) Shifts the physical zero-center position if your vehicle's mechanical alignment or virtual rack requires an offset.
Polling Rate 1000 Hz (ACC: 400 Hz, LMU: 1000 Hz / 200 Hz) Execution frequency of the high-resolution waitable timer loop (50 Hz to 1000 Hz). Set to 1000 Hz for ultra-responsive Direct Drive-like precision.
Invert Steering false Reverses steering axis polarity (moving the mouse left turns the virtual wheel right).

📐 Dynamic Steering Lock Clamping (Car Lock vs. Global Range)

Real-world race cars use drastically different steering rack lock angles:

  • Formula 1 / Open Wheel: $360^\circ$$450^\circ$
  • GT3 / GT4 / Prototypes (LMH, LMDh): $540^\circ$$720^\circ$
  • Road & Drift Cars: $900^\circ$$1080^\circ$

Instead of manually recalibrating your steering degrees in Windows or in every game options menu for each vehicle:

flowchart TD
    A[Raw Mouse Input] --> B[Global Range: e.g. 900° in Game Settings]
    B --> C{Dynamic Lock Clamp Enabled?}
    C -->|Yes: Ratio = CarLock / GlobalRange| D[Clamp Virtual Axis: e.g. 540° / 900° = 60%]
    C -->|No: Full 100% Axis Output| E[Full 100% Axis Output]
    D --> F[vJoy Steering Axis X]
    E --> F
Loading

Configuration Steps:

  1. Enable Steering Lock Clamp: Toggle switch ON.
  2. Global Steering Range (default 900°): Set this to the master steering rotation configured in your game's controller options (e.g. 900° or 1080°).
  3. Car Steering Lock (e.g. 540° for GT3, 580° for LMU Hypercars): Set the actual physical steering lock of your current vehicle.
  4. Result: vWheel Hub automatically restricts the virtual joystick axis to match the real car's ratio. This guarantees 1:1 synchronization with the in-cockpit steering animation without altering your global game presets!

🏎️ Speed-Sensitive Steering Integration

When traveling at high speeds, excessive steering input will scrub tires and destabilize the car. Speed-Sensitive Steering (Pro feature) dynamically dampens mouse steering sensitivity based on speed:

  • Low Speeds (< 30 km/h): 100% full mouse sensitivity for pit-lane maneuvers, chicanes, and tight hairpins.
  • High Speeds (> 200 km/h): Scaled down to the minimum multiplier (e.g. 0.50 = 50% sensitivity) for rock-solid straight-line and high-speed corner stability.

⌨️ Keyboard-Only Steering Mode

For sim racers who prefer to steer using keyboard keys (such as A / D or Left Arrow / Right Arrow) without mouse movement:

flowchart LR
    A[Steer Key Held] -->|Ramp-Up Speed: 0% to 100% Lock| B[Virtual Wheel Turning]
    B --> C[Steer Key Released]
    C -->|Ramp-Down Speed: Return to Center| D[Wheel Re-Centering]
    E[Reversing Direction: Left to Right] --> F[Smooth Deceleration to 0% ➔ Acceleration to Right]
Loading

Keyboard Steering Parameters:

Parameter Default Function & Mechanics
Use Keyboard Only Mode false Master toggle switch activating keyboard steering.
Key Steer Left (Key 1 / 2) 'A' / Left Arrow Primary and secondary steer left keys.
Key Steer Right (Key 1 / 2) 'D' / Right Arrow Primary and secondary steer right keys.
Key Steer Ramp-Up Time 200.0 ms Time in milliseconds to travel smoothly from center (0%) to maximum lock (100%) while holding the steer key.
Key Steer Ramp-Down Time 150.0 ms Time in milliseconds for the virtual wheel to return from maximum lock to center (0%) upon releasing the key.
Snap to Full Lock false When enabled, bypasses ramping and instantly snaps steering directly to full lock on keypress.
Center Steer Key Space / Delete Instantly resets virtual steering back to dead-center.

Smooth Zero-Crossing Mechanics:

When quickly transitioning between opposite directions (e.g. countersteering from Left to Right), the engine does not perform a jarring instantaneous snap. It first smoothly decelerates the axis to center, and once passing zero, accelerates smoothly in the opposite direction.


🎯 Tips for Precision Steering

  1. LMU 1000 Hz Capability with DirectInput Fallback: In Le Mans Ultimate, ensure you click "Apply LMU Input Compatibility Fix" on the Dashboard. This enables "DirectInput Fallback": true in current controls.json, eliminating input stuttering and allowing you to run at the full 1000 Hz polling rate with flawless smoothness!
  2. Mouse Sensor DPI: Set your physical mouse hardware to 1600–3200 DPI. A high DPI provides dense input coordinate packets per millimeter of mouse travel.
  3. In-Game Settings: Always set Steering Deadzone to 0% and Linearity to 1.0 (Linear) inside your racing game's options menu. Let vWheel Hub handle all non-linear curves and damping.
  4. Centering the Wheel: If you ever lose physical center during an aggressive rally slide, tap your assigned Center Steer Hotkey (e.g. Space or Delete) to instantly recenter the virtual rack.

⏭️ Next Steps

Clone this wiki locally