How to Set Up Steering In Assetto Corsa With Rotary Mouse

Do you know that you can play Assetto Corsa without buying an expensive steering wheel? With the Rotary Mouse, you can use the rotary wheel for smooth analog steering.

Since Assetto Corsa doesn’t natively support using the Rotary Mouse as a steering wheel, we use vJoy and a short AutoHotkey script. You can use the Rotary Mouse wheel for steering while using the W and S keyboard keys as throttle and brake. This guide walks you through the complete setup.

This guide assumes you’re driving with the Rotary Mouse in one hand and using the keyboard with the other. If you have another preferred input device for throttle and brake, you can modify the AutoHotkey script below accordingly.

This guide has been tested with Assetto Corsa version 1.16.4.


What You’ll Need

  • Rotary Mouse
  • Assetto Corsa v1.16.4 (Steam)
  • Windows 10/11
  • AutoHotkey
  • vJoy

Step 1 – Install AutoHotkey

Download and install the latest AutoHotkey.

After installation, double-clicking an .ahk file will run the script.


Step 2 – Install vJoy

If you’re using Windows 11, we recommend installing vJoy version 2.1.9.1 instead of the newer releases, as it has proven to be much more reliable.

Download it from:

https://github.com/jshafer817/vJoy/releases

Install it using the default settings.

During installation, allow Windows to install the driver.

After installation, open Configure vJoy.

Use these settings:

  • Device: 1
  • Buttons: 8 (or more)
  • POV: Disabled
  • Axes Enabled:
    • ✔ X
    • ✔ Y
    • ✔ Z

Click Apply.


Step 3 – Verify vJoy

Open

joy.cpl

Select vJoy Device

Click Properties.

Leave this window open for testing later.


Step 4 – Download the Rotary Mouse AutoHotkey Script for Assetto Corsa

Download the rotary-profile-assetto-corsa-with-keyboard-v1.0.zip file containing the AutoHotkey script (.ahk). Unzip it.

The script:

  • Uses the Rotary Mouse wheel as steering.
  • Maps W to throttle.
  • Maps S to brake.
  • Press F11 to enable/disable driving mode.
  • Press Esc to exit the script.

Step 5 – Start the Script

Double-click the script. A green “H” icon should appear in the Windows system tray.

The script is now running.

Press

F11

You should see

Driving ON

Step 6 – Test vJoy

Open Game Controllers by pressing Win + R and entering joy.cpl.

When you:

  • rotate the Rotary Mouse wheel

the X Axis should move.

Hold

W

The Y Axis should move.

Hold

S

The Z Axis should move.

If all three work, your virtual steering wheel is ready.


Step 7 – Configure Assetto Corsa Manually

Instead of assigning the controls from inside Assetto Corsa, configure them directly in the controller profile file, controls.ini. You may learn how to manually edit this file below or download our pre-configured .ini file (unzip it) to skip this step.

Close Assetto Corsa first.

If you have downloaded our controls.ini file above, back up your original file under Documents\Assetto Corsa\cfg\controls.ini and then replace it with our file.

Otherwise, to edit the file manually, open:

Documents\Assetto Corsa\cfg\controls.ini

Locate the following section:

[CONTROLLERS]
CON0=vJoy Device
PGUID0=xxxxxxxx

If vJoy Device is not listed, start Assetto Corsa once, assign the steering axis only, save the profile, then exit the game. This creates the vJoy controller entry.


Steering

Verify that the steering section contains:

[STEER]
JOY=0
AXLE=0

This maps the Rotary Mouse steering axis (vJoy X) to Assetto Corsa.


Throttle

Edit the throttle section to:

[THROTTLE]
JOY=0
AXLE=1
MIN=-1
MAX=1

JOY=0 refers to the first detected controller (vJoy Device), while AXLE=1 corresponds to the Y axis used by the AutoHotkey script.


Brake

Edit the brake section to:

[BRAKES]
JOY=0
AXLE=2
MIN=-1
MAX=1
GAMMA=2.4

This assigns the Z axis from vJoy as the brake.


Save and Restart

Save controls.ini and restart Assetto Corsa.

The controls should now be:

Function vJoy Axis
Steering Axis 1 (X)
Throttle Axis 2 (Y)
Brake Axis 3 (Z)

Notes

If your throttle or brake axis is inverted, change the MIN and MAX values:

MIN=1
MAX=-1

instead of:

MIN=-1
MAX=1

This reverses the pedal direction. Similar MIN/MAX inversion is commonly used in Assetto Corsa controller profiles for pedal axes.


Step 8 – Configure Gear Shifting (Optional)

Assign any keys you prefer.

Example:

Function Key
Gear Up Space
Gear Down Left Ctrl

Controls Summary

Function Input
Steering Rotary Mouse wheel
Throttle W
Brake S
Gear Up Space
Gear Down Left Ctrl
Enable Driving Mode F11
Exit Script Esc

Troubleshooting

Steering sensitivity

Increase or decrease the following value inside the AutoHotkey script to make steering faster or slower.

step := 60

Higher values make the steering more responsive.


Steering doesn’t return to center

The provided script behaves like a steering wheel that stays where you leave it. Simply rotate the Rotary Mouse in the opposite direction to straighten the wheels.


Throttle or brake stays on

Open Controls in Assetto Corsa and enable Invert for the affected axis.


Assetto Corsa won’t detect the throttle

Verify that:

  • vJoy X, Y and Z axes are enabled.
  • The Y axis moves in joy.cpl while holding W.
  • The Detected Controllers panel in Assetto Corsa (Options -> Controls) shows that the axes are moving.
  • The controller profile is set to Wheel.

vJoy Device does not appear

  • Reinstall vJoy 2.1.9.1
  • Restart Windows
  • Open:

Configure vJoy

  • Verify that Device 1 and the X Axis are enabled.

Steering axis does not move in joy.cpl

Make sure Driving Mode is enabled by pressing:

F11

before testing.


Mouse won’t scroll normally

Driving Mode is still enabled.

Press:

F11

to return to normal mouse scrolling.


F11 conflicts with another application

Simply edit:

rotary.ahk

and assign a different toggle key. You may paste the script on ChatGPT for it to assist you to edit.


I want to customize the AutoHotKey script. How do I do that?

You can easily edit our existing AHK script by using AI platform like ChatGPT. Simply paste or upload our script on ChatGPT and prompt it to modify our code to whatever you want. It may even generate a completely new script for you. You may then update the script and reload it without having to restart the game. Have fun customizing!


Do I need to restart the game each time I edit the AutoHotKey script?

No, you don’t have to. While the game is running, simply press the Windows button on your keyboard to minimize the game. Then, edit the script, save it and reload the script by double-clicking the file. AHK may ask if you which to reload the script that is currently running. Click “Yes”. Then, you may hit F11 to return to Driving Mode, and return to the game to test the new script.