Euro Truck Simulator 2

Euro Truck Simulator 2

Not enough ratings
A volume knob, or: The smallest steering wheel in the world!
By kasablanka
How to use a volume knob with autohotkey v2 as a steering wheel and get away with it...
(Hinweis: Diesen Guide gibt es auch auf Deutsch.)
   
Award
Favorite
Favorited
Unfavorite
Problem & goal
Lying comfy on the couch. With chips, beer and some obese family members. And still want to stroll through virtual worlds in the truck?
Or - after a long day as a real life trucker on break in a small cabin - you just want to tear off one more (virtual) job?

No space for a full steering wheel? But you still want a rotating controller in your hand for ETS2?

This could be possible! With a simple volume knob for USB and the small open source program Autohotkey v2.
1. Software - Autohotkeyscript
Autohotkey is kind of an open-source Swiss Army Knife under GNU GPLv2 license for automating of keyboard commands. Automatic salutations in email texts, 1 click = several key combinations in succession, or sending the fridge to go shopping with a hotkey - with a long enough training period, Autohotkey can probably do everything.
But for now we're only going to use it here to redirect simple keyboard commands.

Links:
Download[www.autohotkey.com]
Wikipedia[en.wikipedia.org]

Install the program; start it and create a new script.
Give the new file a name and a location on your disc, and confirm everything.
An explorer window will open at the choosen location and you will see the new script file
Right click on the new file and go to "edit script"

Every volume control that works via USB without additional drivers sends a standardized "keystroke" to your Windows. These are also so-called media keys.
We now redirect this "volume up" keystrokes to a "steer to the right" keystroke. (In this example, it is the "D" key.)
Further, "volume down" becomes "steer left". (Here as key "A").
Please make sure that in the game A and D are also dedicated as "Steering".

Next, we need a higher limit for the over all keystrokes per time, that Autohotkey processes. In order to avoid erroneous / chaotic inputs, the program stops after a certain number of commands per time by default. That's stupid, because we want to send a lot of commands in a very short time! The Interval and the MaxHotkeyscommand are used to prevent this stop.

The complete syntax for our task is:
#Requires AutoHotkey v2.0 A_HotkeyInterval := 1000 A_MaxHotkeysPerInterval := 300 Volume_up::d Volume_down::a
Copy & past this syntax into your script and save the file. With a simple double click you then start the script

(By the way, you can find the complete documentation for Autohotkey here[www.autohotkey.com].)
2. Hardware - volume control
In principle, any rotary control that transfers the standardized "Volume" / or media commands to the operating system without an additional driver is suitable for our cause. This should apply to most simple controllers from the Far East for USB.

Most important for our cause is the number of commands per turn. Essential is: The more anchor points / "clicks" the controller has per round, the more sensitive and therefore more comfortable it is as an control unit. Keep in mind - we only simulate a real analog controller with such a rotary control. We don't really have one.^^
I have tried the following products, which you can find at your favorite online electronics dealer:
  • 6-Key-Mini-Keypad with Knob (sold as: Diyeeni, Acogedor , Yoidesu...); needs additional software, poor quality, 16 pressure- / anchor points / clicks per turn;
  • LITROK One Key Mute USB; ~20 signal points per turn, okayish quality;
  • Contour Multimedia Controller Xpress, nice design, unfortunately only 12 clicks;
  • VAYDEER USB Volume knob, good quali, 20 clicks, additional buttons;
  • TIZOPO USB Volume Control Multimedia Controller Knob; until now best experience, 32 anchor points, changeable wire, mediocre quality;
The latter is doing the best so far. But in terms of sensitivity and design it's still not the end of the story. I am therefore looking for further recommendations! Also take note that the titles/brands of the hardware may differ, depending on your location / market.

After you have choosen one, simply connect the controller and start the script from chapter 1.

After that, you should deactivate the automatic steering alignment in game and you are ready to hop in your virtual carthorse. :)
3. Sensitivity - non-linear steering
As already indicated, there's a snag. Our rotary knob is not a real analog controller. It only sends a lot of short control commands. Not absolut values.

That's a bit inconvenient in the game. Because with low steering sensitivity we crank ourselves dead when manoeuvring. Maneuvering works better with high sensitivity, but there are only 3 per thousand wavy lines on the autobahn. Both stupid.

The remedy is the so-called non-linear steering. This means, that the game reduces the steering angle per control command depending on the speed. Driving slowly = large steering angle; Faster = little steering angle.

Unfortunately, the in-game options limit the non-linear steering to a max of 2.0.

But there is also a workaround here.
Simply go to the following location in Windows Explorer
Drive:\Users\your username\Documents\Euro Truck Simulator 2\steam_profiles\potato salad\
There you find the file
controls.sii
Open this file in a text editor of your choice.
(Currently) in line 24 you will find
config_lines[18]: "constant c_steer_func X.000000"
This is the persistent default for the non-linear steering. The higher this value, the more the sensitivity of the steering decreases as the speed of your vehicle increases.

Change this value as you wish, save the file and start the game again.
For me, a value between 4.0 and 6.0 has been proven as usefull.
4. Exit script
After you are finished your mission, you will find a green H symbol next to the clock in the taskbar.
Right click on this opens the option to exit.

If you liked this work, I'm always happy about a free coffee.
Paypal: Geninaorg@web.de
6 Comments
kasablanka  [author] Aug 1, 2023 @ 12:15pm 
If there are any ambiguities, I am happy to help or formulate facts more clearly. Just point it out to me.
Ereen Jul 31, 2023 @ 5:12pm 
i think its the stupid way of saying "its over"
leosefcik Jul 30, 2023 @ 1:12pm 
were barack
kasablanka  [author] Jul 30, 2023 @ 12:27pm 
Thx! - and what does "joever" mean?^^
CASCAO VEDACIT Jul 28, 2023 @ 5:23pm 
top
leosefcik Jul 28, 2023 @ 2:10pm 
its joever