Game Control and Hardware Overview
DashForge can send commands to a game, send telemetry to external devices, and generate cockpit feedback. These features are related, but they should stay separate in your setup.
Choose The Right Feature
| Goal | Use | Page |
|---|---|---|
| Press a game key from a dashboard widget | Action Button + DashForge Bridge | Action Buttons |
| Receive Assetto Corsa / ACC telemetry on another device | DashForge Bridge | DashForge Bridge |
| Send selected telemetry fields to Arduino, ESP32, serial, or UDP hardware | Device Packet Output | Device Packet Output |
| Generate vibration from telemetry or audio input | Bass Shakers | Bass Shakers |
| Drive cockpit fans from speed, throttle, brake, or steering | Wind Simulator | Wind Simulator |
| Control a game from a physical button box | Bridge command JSON or USB HID | Hardware Input |
Keep Ports Separate
| Flow | Direction | Typical port |
|---|---|---|
| Game telemetry | Game -> DashForge | 8000 |
| Bridge commands | DashForge or hardware -> Bridge | 8765 |
| Device Packet Output | DashForge -> device | your choice |
| Wind Simulator | DashForge -> fan controller | your choice |
Do not reuse the same UDP port for live telemetry, Bridge commands, and hardware output. Separate ports make troubleshooting much easier.
Recommended Setup
For most users:
- Keep live telemetry on port
8000. - Use Bridge commands on port
8765. - Use
Keyboardcommands before tryingWin32. - Use Device Packet Output only for displays, shift lights, and custom packet hardware.
- Use Bass Shakers for tactile feedback.
- Use Wind Simulator for fans.
- Use USB HID hardware when you need a true controller or gamepad.
Dashboard Game Control
Use an Action Button widget for cockpit controls such as ignition, headlights,
wipers, pit limiter, camera change, or stream markers.
Basic flow:
- Run DashForge Bridge on the Windows PC.
- Enable the Bridge command listener on port
8765. - Add an
Action Buttonwidget. - Set
ActiontoBridge Command. - Choose
Keyboard,Mouse, orWin32. - Enter the command code.
For skins, label placement, toggle behavior, and examples, see Action Buttons. For Bridge setup, see DashForge Bridge.
Hardware Output and Feedback
DashForge has three separate hardware/feedback modules:
| Module | Sends | Best for |
|---|---|---|
| Device Packet Output | JSON telemetry fields over UDP or Serial | shift lights, gear displays, Arduino/ESP32 dashboards |
| Bass Shakers | low-frequency audio | engine rumble, road texture, slip, lockups, gear shifts |
| Wind Simulator | fan level / PWM values | speed-based fans and cockpit wind |
Use the dedicated pages for setup:
Hardware Input To Control A Game
For physical button boxes, use one of two strategies.
| Strategy | Flow | Best for |
|---|---|---|
| Hardware sends Bridge command JSON | controller -> UDP 8765 -> Bridge -> keyboard/mouse/Win32 | button boxes and switches |
| Hardware acts as USB HID | controller -> USB HID -> Windows game | true keyboard/gamepad-style hardware |
For Bridge command JSON, send one UDP packet to the Windows PC running Bridge:
Host: Windows PC IP address
Port: 8765
Payload: UTF-8 JSON command
Example button that taps F8:
{
"v": 1,
"type": "command",
"id": "hardware-f8-001",
"source": "hardware",
"profile": "custom-panel",
"profileName": "Hardware Panel",
"createdAtMs": 1790000000000,
"input": {
"kind": "keyboard",
"code": "F8",
"mode": "tap",
"durationMs": 80
}
}
Example Win32 virtual-key F1:
{
"v": 1,
"type": "command",
"id": "hardware-vk-f1-001",
"source": "hardware",
"profile": "custom-panel",
"profileName": "Hardware Panel",
"createdAtMs": 1790000000000,
"input": {
"kind": "win32",
"code": "0x70",
"mode": "tap",
"durationMs": 80
}
}
Debounce physical buttons in firmware so one press sends one command.