Set up simulator bindings and controller inputs

 

How to use buttons with DRE (2024.1 Tutorial)

The video shows an older controls setup. Follow the current guide below.

 

Open Controls from DRE’s left side-menu. The DRE tab contains DRE-global shortcuts and controller inputs, such as Push To Talk.

For built-in simulator commands, configure the desired key in the simulator. DRE reads that saved simulator binding. When you request the action by voice or by an optional controller assigned in DRE, DRE sends the simulator binding. Pressing the key on your physical keyboard is handled directly by the simulator and does not activate the DRE command.

Controls

 

With your simulator connected, open Controls → Sim. The table has three columns:

  1. Function: The action to perform.
  2. Controller: An optional controller button that requests the action through DRE.
  3. Simulator Binding: The read-only binding DRE reads from the connected simulator. Only iRacing shows the smaller Profile: name label underneath.

Optionally assign a controller button in DRE. Change the simulator assignment in its own controls settings, not in DRE’s read-only Simulator Binding column.

Actions sent as keypresses need a supported keyboard assignment in the simulator. Actions DRE controls directly through the simulator do not need one. An optional controller assignment in DRE requests the action; it does not replace a required simulator assignment.

As an iRacing example, give Headlight Flash a supported keyboard assignment in iRacing and save it. DRE reads that binding. You can then request Headlight Flash by voice or assign an optional controller button in DRE.

DRE iRacing profile bindings

iRacing example: Report Latency has an optional controller input and uses binding L from the saved XBox profile.

 

Note: A binding or mapping assigns an input to an action.

 

Controls and Mic to DRE to Sim

 

 

Tabs

Here’s what you can find in each of the 3 tabs on the Controls page.

Controls tabs

DRE

These binds trigger actions mainly in DRE. Keyboard and controller triggers remain editable and independent. Global DRE controls, including Push To Talk, remain global.

Sim

These rows are built-in simulator actions.

For supported actions, DRE reads the simulator binding or controls the action directly through the simulator. Request the action by voice or assign an optional controller button in DRE.

The physical keyboard belongs directly to the simulator: typing its assigned key is handled by the simulator and does not activate the DRE command. Global DRE controls and custom Command Binds remain separate.

Choose and save your iRacing controls profile

The screenshots below show iRacing as a setup example. This named-profile selection and saving process is specific to iRacing.

  1. In iRacing, open Settings → Keybinds and choose the intended Control Profile at the bottom left.
  2. For actions DRE sends as keypresses, give them supported keyboard assignments in iRacing.
  3. Use Save in the menu beside the profile, or Apply & Close.
  4. With DRE connected, check Controls → Sim. Confirm the Profile: name label and the iRacing Binding values.

iRacing Keybinds settings with the Control Profile selector open and XBox selected.

Choose the intended Control Profile, save it, then check the profile label in DRE.

When connecting, DRE first uses the car-specific default profile, then falls back to the Global profile selection recorded in iRacing’s app.ini. The profile menu lets you choose Set as Default or Set as Default for this Car.

iRacing Keybinds profile menu showing Save, Set as Default and Set as Default for this Car.

Use the menu beside Control Profile to save the profile or choose a default.

While connected, DRE follows the latest saved controls file it detects and reloads bindings when profile or current-control saves occur. Simply selecting a profile without saving is not a guaranteed update. After changing profiles or bindings, save in iRacing and check DRE’s profile label. DRE follows saved files, so the label is not a guaranteed live view of an unsaved selection.

If an iRacing binding is unavailable

  • Unassigned: Give the action a supported keyboard assignment in iRacing and save it.
  • Controller only: The iRacing action is assigned only to a controller. Give it a supported keyboard assignment so DRE can send it. You can still assign a controller button in DRE.
  • Unsupported: DRE cannot send this assignment. Not every keyboard key is supported; comma is currently unsupported. Choose a supported assignment in iRacing and save again.
  • Error: DRE could not read or resolve the binding. Follow the explanation in DRE, save the intended profile again and check the profile label.

DRE sends no guessed replacement key for these states. Profile reading supports the currently tested iRacing controls-profile format; it does not promise compatibility with every past or future format.

Command Binds

These binds trigger DRE commands.

  1. To create a new command bind, go to `Commands` view from the side-menu
  2. Find the command you want to bind and right-click -> Bind
  3. Map the first bind to this command
  4. Confirm the bind
  5. The view changes to `Controls -> Command Binds`
  6. Here you can edit the command phrase by clicking in the `Command` field, edit the binds, or delete the command binding

Controls Command Binds

 

Multiple Command Binds for the same command

It’s possible to bind multiple binds to the same command, in order to trigger a special condition for this command. For example, you can bind to the command that changes tires in the pitstop:

Control | Car | Pit

Change [all;front;rear;left;right] tires;Change [front left;front right;rear left;rear right] tire

Changes the tires without pressure adjustments. Change either all, fronts, rears, lefts, rights, or individual tires

By default, this binds to the first text variation, “change all tires “. But what if you wanted a button press to change all tires and another button to take only right-side tires?

CommandBinds Change right tires

You can rename the newly created Command Bind command phrase, change all tires to change right tires. Or you can:

  1. Go back to Commands and find the command again
  2. Click the “+” button to see all phrase variations
  3. Right-click the variation you want, like Change right tires and hit Bind
  4. You can now bind to that exact phrase which will trigger changing right-side tires

CommandBinds Change right and all tires

 

Rules for Command Binds edits

Tags

  • It’s important that command phrases are human-speakable. This means any tags or square/curly braces must be resolved to actual values/words
  • When using dynamic values like positions (eg. P1), names, or numbers, their respective dynamic grammar should be enabled in Sound -> Recognition -> Dynamic Grammar
  • More info on tags and dynamic values – see ‘The {DRIVER} tag’
  • Example: Camera focus on <Driver> should be resolved to Camera focus on car behind for DRE to know exactly what and who to take action on

Execute multiple commands

  • To trigger multiple commands in succession with one push of a button, you simply have to delimit the spoken command phrases using a semicolon `;`
  • Example: Do tear off;Change all tires

 

Repeat commands

  • To repeat a command multiple times with one push of a button, you simply have to add an asterisk followed by an integer like `*12`
  • When using the repeater option, DRE will only speak the initial execution and not the repeats
  • Example: increase fuel mix*12

*N works only in the editable Command field under Controls → Command Binds. It cannot be added to mappings under Controls → Sim.

Create the bind through Commands → right-click the command → Bind. Then open Controls → Command Binds and append the multiplier:

  • Increase right spring*5
  • Decrease right spring*5

For separate ±1 and ±5 buttons, leave the normal buttons mapped under Controls → Sim. Remove the fast buttons from those Sim mappings and assign them only to the *5 Command Binds. Otherwise, the direct Sim mapping may also execute.

*5 means five executions total from one button press.

Latest Updates from the blog

iRacing Control Profile Bindings

DRE reads the active saved iRacing profile for supported voice requests and optional controller actions, including changes you save during a session.

Smart Turn and Echo Cancellation

Introduced in 2026.4.0, Smart Turn and Acoustic Echo Cancellation handle natural pauses and speaker feedback more reliably, helping you finish voice commands and interrupt DRE while driving.

Your League Classes, Not the Sim’s

DRE 2026.3.0 brings your league’s Pro, Pro-Am, Am, and other custom classes into live race information, the roster, track map, and Analytics.

Braking Overlap Signal

DRE now catches brake + throttle overlap in braking zones and gives one short sound cue when it happens.

DRE 2026.2: Assetto Corsa Support, Braking Overlap Coaching, and Faster Startup

DRE v2026.2.0 adds full Assetto Corsa support, Braking Overlap coaching, adjustable pit speeding offsets, app keybind control, faster startup, and fixes.

DRE 2026.1 is live

DRE 2026.1 is live with pit stall location alerts before pitting, rollback installs when moving down release lanes, no Neural word caps, faster chat recall, and Turkish support.

DRE Now Supports Le Mans Ultimate

Le Mans Ultimate now works with DRE, bringing voice race engineering, spotter awareness, fuel guidance, and quick mid-race answers into LMU.

Speak with intents

Tired of memorizing exact voice commands? DRE’s new Neural and Hybrid recognition lets you speak naturally. Your race engineer just got a whole lot smarter.

Black Friday 2025 is here

Black Friday Sale: Save big on DRE subscriptions! New users get 50% off the first year, existing subscribers enjoy 25% off on renewals. Use codes: BFNEW2025 for new sign-ups, BFRENEW2025 for renewals. Act before Nov 30th!

DRE 2025.1 is now in beta

DRE 2025.1 beta is here, Read the quick run-down of the major features in this new release.

Email Email icon Discord Discord icon