Tobii Eye Driving Enhancements - ATS/ETS2 1.38 to 1.49 - Updated 25/03/2023

Make your game even better
Post Reply
User avatar
JHTrucker
Expert
Posts: 1334
Joined: February 7th, 2020, 3:19 pm
Location: UK

Tobii Eye Driving Enhancements - ATS/ETS2 1.38 to 1.49 - Updated 25/03/2023

Post by JHTrucker » February 24th, 2023, 6:43 pm

Tobii Eye Driving Enhancements.

Note: This isn't a mod to just drop into your mod manager, you'll also need to follow instructions and edit your controls.sii file.

For Tobii Eye only.
Your Tobii Eye device must already be configured and working with the standard game using at least Yaw, but you can also use Pitch, X, Y, Z & Roll.

This is a 'cut down' version of my 'TrackIR Driving Enhancements' mod due to limitations caused by using a Tobii Eye device.
I used my TrackIR 3 (from 2005) to simulate Tobii Eye inputs to create this using Yaw, Pitch, Roll, X, Y, Z & Trueview enabled.
Thanks to forum member Maxis82 and his Tobii Eye for testing and providing feedback to help me get this to work as intended.

This won't work for TrackIR. But you can use "TrackIR Driving Enhancements" here: viewtopic.php?p=46457#p46457
This won't work for VR. But you can try this "TEST VR Driving Enhancements" here: viewtopic.php?p=55557#p55557

This is for, what I think, is a more realistic sim experience and therefore using a real steering wheel is recommended, not only for driving but also for controlling extra features. The goal is to perform every thing in first person and move as seamlessly as possible from inside to outside and back again.

==============================================================================
Updated 01/03/2023 - New TEDE v1.1 mod and required date highlighted controls.sii file edits. What's new, look here: viewtopic.php?p=57656#p57656
Updated 11/03/2023 - New and amended date highlighted controls.sii file edits. What's new, look here: viewtopic.php?p=57753#p57753
Updated 25/03/2023 - TEDE v1.1 now supplied as 'No Driver' or 'Driver' option. What's new, look here: viewtopic.php?p=57913#p57913

==============================================================================
Confirmed to work for ATS/ETS2 game versions 1.38 to 1.49
==============================================================================


==============================================================================

Features:
When using game standard Tobii Eye head and eye gaze tracking:

By default, both left & right windows operate together when pressing 'open left window' & 'close left window' buttons. This way you only need to use the same two buttons, whether you are driving LHD or RHD trucks. You can still assign all 4 buttons if you want, so the windows once again operate independently.

You can change from driver seat to outside by looking over your shoulder and pressing the 'Action' button or pressing '5'.

You can change from outside drivers door to drivers seat by looking up at the drivers window and pressing the 'Action' button or pressing '1'.

Whilst outside, you can 'walk' around your truck and first trailer whilst still having full yaw/pitch/roll/x/y head movement. Your analogue steering wheel/thumbstick etc is used for 'walking'. Keyboard steering won't work.

Whilst outside, you can attach/detach the trailer and refuel by looking at those areas and pressing the 'Action' button.

Whilst outside, Accelerator/Brake/Clutch pedals provide additional movement options and are therefore disabled from their normal use. You can still drive when using the other external cameras if you want to.

----------

When using Tobii Eye head tracking only (eye gaze disabled):

Window blocking - On or off - Default is 'off' with game standard head movement through the open or closed window..
On - Your head remains inside the truck cab when the windows are closed but still has full look left / right movement inside the cab. Open the windows to put your head out.
Note: The truck interior will change to low quality and you'll hear louder outside sounds and see rain (if it's raining) when looking over your shoulder through the closed window. This is because the game still thinks your head is outside.

By default, both left & right windows operate together when pressing 'open left window' & 'close left window' buttons. This way you only need to use the same two buttons, whether you are driving LHD or RHD trucks. You can still assign all 4 buttons if you want, so the windows once again operate independently.

Zoom interior camera with your head instead of a button press. Can be disabled if you'd rather press a button.

You can change from driver seat to outside by looking over your shoulder and pressing the 'Action' button or pressing '5'.

You can change from outside drivers door to drivers seat by looking up at the drivers window and pressing the 'Action' button or pressing '1'.

Whilst outside, you can 'walk' around your truck and first trailer whilst still having full yaw/pitch/roll/x/y head movement. Your analogue steering wheel/thumbstick etc is used for 'walking'. Keyboard steering won't work.

Whilst outside, you can attach/detach the trailer and refuel by looking at those areas and pressing the 'Action' button.

Whilst outside, Accelerator/Brake/Clutch pedals provide additional movement options and are therefore disabled from their normal use. You can still drive when using the other external cameras if you want to.

Whilst inside you can switch GPS screens or switch dash screens by looking at them and pressing the 'Action' button.

Whilst inside you can switch to devcam by looking between drivers seat and passenger seat and pressing the 'Action' button or pressing '0' - Devcam requires enabling.

----------

There's 2 mods to choose from:
No visible driver when outside - Best for singleplayer, if you're 'walking' outside your truck, there shouldn't be anyone sat in the driving seat.
OR
Game default driver - Best for multiplayer, so you can see your friends driving their trucks.

Ability to disable all the line edits and remove the mod, for what ever reason, leaving you with game standard Tobii Eye movement and all your preferred controls, without having to re-edit your controls.sii file.

Cam 5 (game default lean out camera) is no longer available as it is now repurposed for outside, but you don't need it anyway as you have headtracking on cam 1.

Easy 'copy & paste' setup, but take your time as there's a lot to do and read!
OR
Quick start setup, including a pre-configured controls.sii file for easy testing.

See example demo videos, using TrackIR, for what to expect (on post 6): viewtopic.php?p=57655#p57655

==============================================================================

You should take your time to familiarise yourself with all the settings.
(All information is split into sections and contained within the first 6 posts.)
Post 1 - Descriptions.
Post 2 - Mod and required file edits.
Post 3 - Setup how TEDE operates.
Post 4 - General help and information
Post 5 - Reserved
Post 6 - Demo videos (but using TrackIR) to help show you what to expect from TEDE.

==============================================================================

Window controls:
You press 'open driver window' button and your head is unblocked, it can now pass through the opening window.
You press 'open driver window' button again and your head is blocked, back to only turning head inside the cab.
You press 'close driver window' button and your head is blocked, back to only turning head inside the cab.

To open driver window to 50% only and therefore still be blocked, do this:
Quick press 'open driver window' button.
When window is ~50% open, quick press 'open driver window' button again. This will stop the window motion and will block your head. So you can open the window as far as you like as long as you then press 'open drivers window' button again to stop the motion and you'll still be blocked.

To open driver window fully, do this:
Quick press 'open driver window' button and leave it to open.
Your head isn't blocked whilst the window is opening, so just wait for it to finish.

Note 1: Pressing 'close driver window' button will always block your head no matter how open the window is.

Note 2: Every time you start the game your head will be blocked whether the window is open or closed. The controls.sii file gets no feedback from the game to set it correctly. Just press 'open driver window' button to get back in sync if required.

Note 3: You should only press the window buttons with the truck electricity on.

Example head movement views:
With the window closed you can't see much behind when driving along a motorway, use your mirrors or open the window if you need to.
Image

With the window closed you can still see behind when entering a motorway as long as you think ahead. Like in real life.
Image

==============================================================================

For the best experience use 'Look Action' :
Image
D = Drivers Seat, P = Passenger Seat & O = Outside truck (LHD example - works opposite for RHD)

1 = From drivers seat - With steering centered, look over your shoulder to outside trigger zone and press 'Action'.
2 = From outside drivers door - With steering centered, look up to drivers door window and press 'Action'.
3* = From drivers seat - Look down between drivers seat and passenger seat (~90 degrees right LHD or ~90 left RHD & ~60 degrees down) and press 'Action' to switch to devcam. After using devcam in the usual way, press 'Action' again to switch back to outside drivers door.
4* = From drivers seat - Look to dash & look down slightly to the trigger zone and press 'Action'.
5* = From drivers seat - Look to gps (windscreen or console mounted) trigger zone and press 'Action'.
Note: If your in game head has restricted movement you still need to turn your real head towards the trigger zones for them to work. Example, switching to devcam can be tricky at first, but it's better than accidentally triggering it while driving.
Not shown in above sketch:
6 = Outside - Stand within the fuel tank area and press 'Action' to refuel.
7 = Outside - Stand within the trailer crank handle area and press 'Action' to attach or detach your trailer.
When using 'window blocking':
8* = From drivers seat - Open window and look 90 degrees towards it, press 'Action' to activate Toll/Border check point etc.
With 'window blocking' disabled:
9* = From drivers seat - Press & hold open drivers window button, look 90 degrees towards it to activate Toll/Border check point etc.
Note: You can still just press your 'Activate' button instead of doing 6 or 7.
* = This action isn't available when using game default head and eye gaze tracking.

Dashboard display - Step through available displays:
In drivers seat - Look straight ahead and down at the dash display and press 'Action' button to step through the screens.
Image

Centre console GPS or windscreen GPS - Change from on/zoom1/zoom2/zoom3/zoom4/off (1.38-1.45).
Centre console GPS or windscreen GPS - Change from zoom1/zoom2/zoom3/zoom4 (1.46+).

Note: SCS removed GPS on/off in 1.46 and instead you now need to assign a separate button, in the keys/buttons menu, for on/off.
In drivers seat - Look to GPS and press 'Action' button to step through the screens.
Image

Devcam:
Driver seat -> Look down at the floor between drivers seat and passenger seat -> Press 'Action' -> Devcam (under truck).
When finished -> Press 'Action' -> If your wheel is centered you'll be stood outside the drivers door -> Look up to Driver door window -> Press 'Action' -> Driver seat.
Image

Trigger zones for refuel & crank handle when using 'Action' button:
It's not possible to distinguish between different truck chassis lengths and where the fuel tank(s) are located.
This pic shows the trigger zones for drivers door (purple), refueling (yellow) and 'attach/detach' crank handle (red). Fuel and crank handle zones are the same at the passenger side. This should work for all truck types and lengths.
Image
Note: ATS fuel tanks are closer to or under the drivers door area compared to ETS but having the trigger area here would cause an 'activation' every time you exit the truck and may result in activating sleep/job select etc when it wasn't wanted.
You can still use your 'Activate' button to refuel inside or outside if you really want to.

Service example:
Driver seat -> Centre real steering wheel -> Look over your shoulder to outside -> Press 'Action' -> Outside.
Press 'Activate' (as normal) to enter service.
Exit service -> Look up to Driver door window -> Press 'Action' -> Driver seat.
Image
Note: If you change from LHD to RHD or vice versa then don't forget to change c_ht_roll 0 LHD or 1 RHD

Showroom example:
Driver seat -> Centre real steering wheel -> Look over your shoulder to outside -> Press 'Action' -> Outside.
Press 'Activate' (as normal) to enter showroom -> buy truck and trade in your current one -> Exit showroom.
Press 'Action' to fix 'missing truck' problem due to game auto changing cameras in this situation.
Image
Look up to Driver door window -> Press 'Action' -> Driver seat.
Image
Note: If you change from LHD to RHD or vice versa then don't forget to change c_ht_roll 0 LHD or 1 RHD

==============================================================================

Outside movement limits:
Enter and exit the truck via the drivers door for LHD or RHD.
The yellow line represents the 'walk' path around the truck.
Outside the drivers door is the start point when your real steering wheel is centered. Turn it left or right to 'walk' around whilst you have full use of TrackIR yaw/pitch/roll/y to look where you want to.
Image

When setup to use 'Outside pedal movement mode 0 & 1':
Use your real clutch pedal to move away from your truck and trailer (blue line) but keeping parallel with the yellow 'walk' path around your truck and trailer.
Useful if you want to stand back to take a screenshot from eye level, check external cab accessories or step to the side to 'walk' past a wide load on the trailer etc.
Image
Note: Refueling and 'look up to get back into cab' actions are disabled if the clutch pedal is pressed as you won't be next to the truck.

If your truck and trailer(s) are not inline then you can use your real accelerator and brake pedals to adjust the walk path to suit.
Press Accelerator Pedal (A) to turn your view and the path to the right.
Press Brake Pedal (B) to turn your view and the path to the left.
Note: The view is turned to help point you in the direction the path will take.
Turn your real steering wheel as normal to 'walk' the adjusted path whilst keeping a constant pressure on the required pedal.
Image
Note 1: If your pedals have "dirty pots" then the movement will be jittery due to the fluctuating values coming from the pedals potentiometers.
Note 2: The adjustment point where the path turns is fixed to avoid 'walking' through your truck.
Note 3: If your truck & trailer(s) are not inline and you 'walk' into the side of your trailer, you'll walk straight through it. Collision has been disabled as it's more annoying than useful.

Note 4: When using your real steering wheel to provide the walking movement outside, the truck steering, accelerator pedal & brake pedal are all disabled. You can't therefore drive when outside. Don't forget to enable parking brake before moving from the drivers seat.

Note 5: Currently FFB is still applied to your FFB wheel when using it for movement and so it can be quite stiff to turn when refueling as the engine has to be off.


Note 6: See post 3 'Setup how TEDE operates' for different 'Outside pedal movement' modes.

Mods and required controls.sii file line edits can be found on the next post: Scroll down.
Last edited by JHTrucker on December 2nd, 2023, 6:02 pm, edited 20 times in total.
multimon_config.sii files: viewtopic.php?p=17658#p17658
controls.sii edits: viewtopic.php?p=24744#p24744
TrackIR edits: viewtopic.php?p=46613#p46613
Extra Cameras: viewtopic.php?p=46034#p46034
User avatar
JHTrucker
Expert
Posts: 1334
Joined: February 7th, 2020, 3:19 pm
Location: UK

Tobii Eye Driving Enhancements

Post by JHTrucker » February 24th, 2023, 6:44 pm

'Tobii Eye Driving Enhancements' - Mods and required file edits

====================================================================================================================
ALWAYS USE THE LATEST MOD LINKED IN THIS POST WITH THE LINE EDITS SHOWN.
ATTACHED MOD WORKS FOR GAME VERSIONS 1.38 up over.

(There's no game version dependent files within the mod)

TEDE was developed and tested on ATS 1.46 and tested on ETS2 1.41.
====================================================================================================================
Updated 01/03/2023 - New TEDE v1.1 mod and required date highlighted controls.sii file edits. What's new, look here: viewtopic.php?p=57656#p57656
Updated 11/03/2023 - New and amended date highlighted controls.sii file edits. What's new, look here: viewtopic.php?p=57753#p57753
Updated 25/03/2023 - TEDE v1.1 now supplied as 'No Driver' or 'Driver' option.
====================================================================================================================

Quick start guide
This is the easiest way to test if you want to use TEDE or not.

By using this 'quick start' you'll need to re-setup all your game controls for buttons, keys, wheel, pedals, shifter & Force Feedback settings etc.

Setup - You need to do these 3 steps:
1 - Add the Tobii Eye Driving Enhancements mod.
2 - Use the supplied controls.sii file or copy/paste the manual edits in to your own file.
3 - Edit your config_local.cfg file or setup the correct presets in the Tobii Eye menu in game.

Download Tobii Eye Driving Enhancements v1.1+ (1.38+).zip - NEW 25/03/2023
Download TEDE controls v1.1 11-03-2023.zip - NEW 11/03/2023
From this link: --> https://mega.nz/folder/a4pFgTgZ#rmM9n-Xf921rME-8F8z1Xw
Add the mod 'Tobii Eye Driving Enhancements v1.1 (1.38+).scs' to your mod folder.

Look here --> American or Euro Truck Simulator 2\profiles\Your Profile\controls.sii
Rename your controls.sii file for backup.
Copy the supplied controls.sii file into your profile folder.
Note: The game will auto update this controls.sii file to match your game version but will retain all the TEDE line edits.

Look here --> American or Euro Truck Simulator 2\profiles\Your Profile\config_local.cfg
For ATS - Edit your config_local.cfg with the following:
uset g_eye_preset_3 "g:Game default cams 2346780"
uset g_eye_preset_2 "g:Outside ATS - tobii_head_only - p" <-- This can be changed via the Tobii Eye menu in game.
uset g_eye_preset_1 "***Your current preset***" <-- Keep your preferred preset here or change via the Tobii Eye menu in game.

For ETS2 - Edit your config_local.cfg with the following:
uset g_eye_preset_3 "g:Game default cams 2346780"
uset g_eye_preset_2 "g:Outside ETS - tobii_head_only - p" <-- This can be changed via the Tobii Eye menu in game.
uset g_eye_preset_1 "***Your current preset***" <-- Keep your preferred preset here or change via the Tobii Eye menu in game.

Note: If you use ATS mod trucks (with a hood) in ETS2 then you'll need to use the 'Outside ATS...' presets instead to avoid 'walking' through the truck hood.

Start the game and add the mod 'Tobii Eye Driving Enhancements' to the top of your mod manager list or test using a mod free profile first.

The defaults are for a LHD truck, so choose a LHD truck to test with.

At the driving screen press '1' & '5' a few times.
You should jump from driving seat to outside drivers door.
You should have headtracking movement for inside and outside, assuming you have at least yaw and pitch enabled.

For best results use 'Look Action' rather than pressing '1' & '5'
You can choose your own 'Action Button' by assigning it to the secondary bind for 'CROUCH' in the 'WALK MODE' section of the 'keys/buttons menu'. Default is 'numpad multiply'.
Note: Refer to the first post for 'Look Action' descriptions and trigger points.

Now re-setup your controls for steering & pedals etc but don't assign any controls to functions shown as 'complex', see post 4 (Q & A Section).
Refer to the first post for assigning buttons to windows.

Don't click 'Reset to default' at the bottom of the keys/buttons & controller menu's as that will remove the TEDE line edits!
You can click 'Force Feedback - Reset to defaults' if required.

'Activate' is game default 'enter' key, it can be changed to your preferred key/button, see post 4 (How to fix missing functionality).

Refer to post 3 for required setup information and available options.

====================================================================================================================

Manual line edits - When not using the supplied controls.sii file

Make a backup copy of controls.sii for safe keeping, just in case.
Edit with notepad/wordpad etc your controls.sii file.
(American/Euro Truck Simulator 2\profiles\Your Profile\controls.sii)

Note: The line numbers are different between game versions. The numbers shown are from my 1.44 version, yours may be different.
Just match the
"mix name" and paste the highlighted part into the correct line number to suit your game version.

The following lines should be in this format:
config_lines[???]: "mix name `...TEDE code...`"
For example: Missing the " from the end of the line will prevent the game from loading the controls.sii file and then it'll reset the whole file back to game defaults.
Take your time to carefully copy/paste all the required line edits or reconsider using the 'quick start' file.

config_lines[58]: "constant c_ht_roll 0.000000" <-- Used for settings up TEDE - See post 3.

AMENDED 11/03/2023
config_lines[191]: "mix cam1 `keyboard.key1?0 | (camwalk_crou?0 * ! eyegazeon?0 * sign(deadzone(clamp(eyepospitch?0, -0.0, 0.5), 0.175)) * ! sign(dclutch?0) * ! c_et_yscale * ! abs(sign(deadzone(msteering?0, 0.05))) * trackiron) + (camwalk_crou?0 * eyegazeon?0 * sign(deadzone(clamp(eyepospitch?0, -0.0, 0.5), 0.05)) * ! sign(dclutch?0) * ! c_et_yscale * ! abs(sign(deadzone(msteering?0, 0.05))) * trackiron) + (((c_et_yscale)) * sign(abs(mouse.rel_position.x?0 + eye_track.head_position.yaw?0 + eye_track.gaze_position.x?0) + 1) * sign(abs(999 - c_et_zscale)) * trackiron)`"

AMENDED 11/03/2023
config_lines[195]: "mix cam5 `((((camwalk_crou?0 * ! eyegazeon?0 * (abs(sign(deadzone(clamp(eyeposyaw, -1.0 * c_ht_roll, 1.0 * ! c_ht_roll), 0.65 * (trackirroll * 2))))) * ! abs(sign(deadzone(msteering?0, 0.035))) * c_et_yscale) + (camwalk_crou?0 * eyegazeon?0 * (abs(sign(deadzone(clamp(eyeposyaw, -1.0 * c_ht_roll, 1.0 * ! c_ht_roll), 0.1))) * abs(sign(clamp(eyepospitch?0, -1.0, 0.0)))) * ! abs(sign(deadzone(msteering?0, 0.035))) * c_et_yscale) + keyboard.key5?0 + (camwalk_crou?0 * ! ((sign(deadzone(clamp(-eyeposyaw?0, -0.0, 1.0), 0.4 * (trackirroll * 2))) * ! sign(abs(deadzone(eyeposyaw?0, 0.6 * (trackirroll * 2)))) * abs(sign(clamp(deadzone(eyepospitch?0, 0.3), -1.0, 0.0))) * ! c_ht_roll) + (sign(deadzone(clamp(eyeposyaw?0, -0.0, 1.0), 0.4 * (trackirroll * 2))) * ! sign(abs(deadzone(eyeposyaw?0, 0.6 * (trackirroll * 2)))) * abs(sign(clamp(deadzone(eyepospitch?0, 0.3), -1.0, 0.0))) * c_ht_roll)) * ! c_et_yscale))) * sign(abs(mouse.rel_position.x?0 + eye_track.head_position.yaw?0 + eye_track.gaze_position.x?0) + 1) * sign(abs(999 - c_et_zscale)) * trackiron) | (keyboard.key5?0 * ! trackiron)`"

config_lines[199]: "mix camcycle `keyboard.key9?0 * ! trackiron`"

AMENDED 11/03/2023
config_lines[200]: "mix camdbg `keyboard.key0?0 | (camwalk_crou?0 * ! eyegazeon?0 * sign(abs(mouse.rel_position.x?0 + eye_track.head_position.yaw?0 + eye_track.gaze_position.x?0) + 1) * abs(sign(deadzone(clamp(-eyeposyaw?0, -1.0 * c_ht_roll, 1.0 * ! c_ht_roll), 0.4 * (trackirroll * 2)))) * ! sign(abs(deadzone(eyeposyaw?0, 0.6 * (trackirroll * 2)))) * abs(sign(clamp(deadzone(eyepospitch?0, 0.3), -1.0, 0.0)))) * c_et_yscale * trackiron`"

AMENDED 11/03/2023
config_lines[205]: "mix camzoom `(((sign(clamp(deadzone((-hmdz?0 * ! sign(abs(deadzone(eyeposyaw, 0.249999)))) + (hmdz?0 * sign(abs(deadzone(eyeposyaw, 0.45)))) + (abs(hmdx?0) * sign(abs(deadzone(eyeposyaw, 0.2)))), (0.95) * ((1 - abs(clamp((eyeposyaw) * 0.5, -0.125, 0.125))) * ! sign(abs(deadzone(eyeposyaw, 0.224999))) + (0.875 + abs(deadzone(clamp(eyeposyaw, -0.45, 0.45), 0.225) * 0.25)) * sign(abs(deadzone(eyeposyaw, 0.225))))), -0.0, 1.0)) * eyeposon * sign(trackirz) * ! sign(abs(deadzone(eyeposyaw, trackirz * 0.00277))) * c_et_yscale)) * sign(abs(mouse.rel_position.x?0 + eye_track.head_position.yaw?0 + eye_track.gaze_position.x?0) + 1) * trackiron)`"

config_lines[213]: "mix lookleft `((keyboard.numslash?0 | semantical.lookleft?0) * ! trackiron) + (normalize(sel(c_jzbrake, sel(c_jibrake, -j_brake?0, j_brake?0), sel(c_jibrake, j_brake?1 * -0.5 + 0.5, j_brake?-1 * 0.5 + 0.5)), c_brake_dz)) * ! c_et_yscale * sign(abs(999 - c_et_zscale)) * trackiron`"

config_lines[214]: "mix lookright `((keyboard.nummultiply?0 | semantical.lookright?0) * ! trackiron) + (normalize(sel(c_jzthrottle, sel(c_jithrottle, -j_throttle?0, j_throttle?0), sel(c_jithrottle, j_throttle?1 * -0.5 + 0.5, j_throttle?-1 * 0.5 + 0.5)), c_throt_dz)) * ! c_et_yscale * sign(abs(999 - c_et_zscale)) * trackiron`"

config_lines[241]: "mix lookpos7 `((sign(deadzone(lookleft?0, 0.25)) * 0.25) + (sign(deadzone(lookleft?0, 0.5)) * 0.25) + (sign(deadzone(lookleft?0, 0.75)) * 0.25) + (sign(deadzone(lookleft?0, 0.95)) * 0.25)) * ! c_et_yscale * trackiron`"

config_lines[242]: "mix lookpos8 `((sign(deadzone(lookright?0, 0.25)) * 0.25) + (sign(deadzone(lookright?0, 0.5)) * 0.25) + (sign(deadzone(lookright?0, 0.75)) * 0.25) + (sign(deadzone(lookright?0, 0.95)) * 0.25)) * ! c_et_yscale * trackiron`"

config_lines[246]: "mix trackiron `1`" <-- Used for settings up TEDE - See post 3.
config_lines[247]: "mix trackiryaw `0`" <-- Used for settings up TEDE - See post 3.
config_lines[248]: "mix trackirpitch `0`" <-- Used for settings up TEDE - See post 3.
config_lines[249]: "mix trackirroll `0.4`" <-- Used for settings up TEDE - See post 3.
config_lines[250]: "mix trackirx `0`" <-- Used for settings up TEDE - See post 3.
config_lines[251]: "mix trackiry `0`" <-- Used for settings up TEDE - See post 3.
config_lines[252]: "mix trackirz `0`" <-- Used for settings up TEDE - See post 3.
config_lines[253]: "mix hmdon `0`" <-- Used for settings up TEDE - See post 3.
config_lines[254]: "mix hmdyaw ``" <-- Used for settings up TEDE - See post 3.
config_lines[255]: "mix hmdpitch `1`" <-- Used for settings up TEDE - See post 3.
config_lines[256]: "mix hmdroll ``" <-- Used for settings up TEDE - See post 3.

config_lines[257]: "mix hmdx `eye_track.head_position.x?0`"

config_lines[258]: "mix hmdy `eye_track.head_position.y?0`"

config_lines[259]: "mix hmdz `eye_track.head_position.z?0`"

NEW 11/03/2023
config_lines[262]: "mix eyegazeon `eye_track.gaze_position_valid?0 * sign(hmdpitch?0 + ! trackiron)`"

NEW 11/03/2023
config_lines[263]: "mix eyegazex `eye_track.gaze_position.x?0 * sign(hmdpitch?0 + ! trackiron)`"

NEW 11/03/2023
config_lines[264]: "mix eyegazey `eye_track.gaze_position.y?0 * sign(hmdpitch?0 + ! trackiron)`"

config_lines[269]: "mix eyeposx `sel(c_et_pos, eye_track.head_position.x?0, 0)`"

config_lines[270]: "mix eyeposy `sel(c_et_pos, eye_track.head_position.y?0, 0)`"

config_lines[271]: "mix eyeposz `sel(c_et_pos, eye_track.head_position.z?0, 0)`"

config_lines[275]: "mix eyeposwmx `sel(c_et_pos, eye_track.head_position.x?0, 0)`"

config_lines[276]: "mix eyeposwmy `sel(c_et_pos, eye_track.head_position.y?0, 0)`"

config_lines[277]: "mix eyeposwmz `sel(c_et_pos, eye_track.head_position.z?0, 0)`"

AMENDED 11/03/2023
config_lines[279]: "mix headtryaw `((((clamp(eyeposyaw, -1.0 + (0.15 * c_ht_on * c_ht_roll), 1.0 - (0.15 * c_ht_on * ! c_ht_roll))) * c_et_yscale) + ((clamp(clamp(eyeposyaw, -1.0, 1.0) * 1.1, -1.75 - (0.75 * (abs(clamp(deadzone(msteering * 2 * ! sign(dclutch?0) * ! camwalk_crou?0, 0.1), -0.25, 0.25)) + sign(sign(dclutch?0) + (camwalk_crou?0 * abs(deadzone(msteering, 0.04)))))), 1.75 + (0.75 * (abs(clamp(deadzone(msteering * 2 * ! sign(dclutch?0) * ! camwalk_crou?0, 0.1), -0.25, 0.25)) + sign(sign(dclutch?0) + (camwalk_crou?0 * abs(deadzone(msteering, 0.04))))))) + (sign(0.5 - c_ht_roll)) + (((sign(lookpos3) * 0.15) + (sign(lookpos2) * 0.2) + (sign(lookpos1) * 0.25)) + -((sign(lookpos4) * 0.15) + (sign(lookpos5) * 0.2) + (sign(lookpos6) * 0.25)) + ((((lookleft?0 - lookright?0) * 0.25 * ! hmdroll) + ((lookpos7?0 - lookpos8?0) * 0.25 * hmdroll)) * ! lookpos1 * ! lookpos2 * ! lookpos3 * ! lookpos4 * ! lookpos5 * ! lookpos6 * sign(abs(2 - hmdroll)) * sign(abs(3 - hmdroll)))) * sign(clutch)) * ! c_et_yscale)) * sign(abs(999 - c_et_zscale)) * trackiron) + (sel(eyeposon, eyeposyaw, 0) * ! trackiron)`"

AMENDED 01/03/2023
config_lines[280]: "mix headtrpitch `sel(eyeposon, eyepospitch, 0) + (((clamp(-abs(headtrx * 0.1), -0.1, 0.0) * sign(trackiry) * sign(clamp(-headtryaw, -0.0, 1.0)) * ! c_ht_roll) + (clamp(-abs(headtrx * 0.1), -0.1, 0.0) * sign(trackiry) * sign(clamp(headtryaw, -0.0, 1.0)) * c_ht_roll)) * sign(abs(14 - trackiry)) * sign(abs(24 - trackiry)) * sign(abs(34 - trackiry)) * sign(abs(44 - trackiry)) * sign(abs(54 - trackiry)) * sign(abs(64 - trackiry)) * sign(abs(74 - trackiry)) * sign(abs(84 - trackiry)) * sign(abs(94 - trackiry)) * c_et_yscale)`"

config_lines[281]: "mix headtrroll `sel(eyeposon, eyeposroll, 0)`"

AMENDED 11/03/2023
config_lines[282]: "mix headtrx `(((((((sign(msteering + abs(msteering))) * abs((0.0 - (abs(deadzone(clamp(msteering * 4, -1.0, 1.0), 0.5)))) * 3.9 * (1 + ((dclutch + hmdon) * 2.4))) - (1.15 * (1 + ((dclutch + hmdon) * 4)))) * ! c_ht_roll) + (((sign(msteering - abs(msteering))) * abs((0.0 - (abs(deadzone(clamp(msteering * 4, -1.0, 1.0), 0.5)))) * 3.9 * (1 + ((dclutch + hmdon) * 2.4))) + (1.15 * (1 + ((dclutch + hmdon) * 4)))) * c_ht_roll) + mpedals + (((clamp(sel(eyeposon, -eyeposx * 2 * 0.000, 0), -0.25 - (0.75 * (sign(-sign(msteering - 0.15) + 1.0))), 0.25 + (0.75 * (sign(sign(msteering - 0.2) + 1.0)))) * ! c_ht_roll) + (clamp(sel(eyeposon, -eyeposx * 2 * 0.000, 0), -0.25 - (0.75 * (sign(-sign(msteering + 0.2) + 1.0))), 0.25 + (0.75 * (sign(sign(msteering + 0.15) + 1.0)))) * c_ht_roll)) * (1.0 - abs(clamp(deadzone(msteering * 8, 0.15), -1.0 * c_ht_roll, 1.0 * ! c_ht_roll)) + abs(clamp(deadzone(msteering * 3, 0.8), -1.0 * c_ht_roll, 1.0 * ! c_ht_roll))))) * ! c_et_yscale) + (((((clamp(hmdx?0, -(0.1 * ! c_ht_roll) + (trackirx * c_ht_roll), (trackirx * ! c_ht_roll) + (0.1 * c_ht_roll)) * sign(trackirx) * eyegazeon?0) + (clamp(hmdx?0, -((0.1 - abs(clamp(deadzone(headtryaw, 0.4 * (trackirroll * 2)), -0.1 * c_ht_roll, 0.1 * ! c_ht_roll) * sign(trackiryaw)) * c_ht_on) * sign(trackirx) * ! c_ht_roll) - (1.0 * trackirx * c_ht_roll), (1.0 * trackirx * ! c_ht_roll) + ((0.1 - abs(clamp(deadzone(headtryaw, 0.4 * (trackirroll * 2)), -0.1 * c_ht_roll, 0.1 * ! c_ht_roll) * sign(trackiryaw)) * c_ht_on) * sign(trackirx) * c_ht_roll))) * ! eyegazeon?0) * ((! sign(trackiry) + (deadzone(clamp(-headtryaw * (6.5 - (trackiry * 0.0555)) * sign(trackiry), -0.0, 1.0), 0.5) * ! c_ht_roll) + (deadzone(clamp(headtryaw * (6.5 - (trackiry * 0.0555)) * sign(trackiry), -0.0, 1.0), 0.5) * c_ht_roll)))) + (((clamp(eyeposx, -0.15, 0.0) * (deadzone(clamp(headtryaw, -0.0, 1.0), 0.6 * (trackirroll * 2))) * ! c_ht_roll) + (clamp(eyeposx, -0.0, 0.15) * (deadzone(clamp(-headtryaw, -0.0, 1.0), 0.6 * (trackirroll * 2))) * c_ht_roll)) * sign(trackiry) * sign(! c_ht_on + ! sign(trackiryaw))) + (((clamp(deadzone(headtryaw, 0.5 * (trackirroll * 2)), -0.0, (0.6 * (trackirroll * 2)) - (trackiryaw * 0.2)) * c_ht_on * ! c_ht_roll) + (clamp(deadzone(headtryaw, 0.5 * (trackirroll * 2)), -(0.6 * (trackirroll * 2)) + (trackiryaw * 0.2), 0.0) * c_ht_on * c_ht_roll)) * sign(trackiryaw) * ! eyegazeon?0)) * c_et_yscale)) * sign(abs(999 - c_et_zscale)) * trackiron) + (clamp(sel(eyeposon, eyeposx, 0), -0.1, 0.1) * ! trackiron)`"

AMENDED 11/03/2023
config_lines[283]: "mix headtry `(((((-0.9 + clamp(eyeposy, -1.0, 0.15) - (lookright?0 * ! sign(abs(2 - hmdroll))) - (lookpos8?0 * ! sign(abs(3 - hmdroll))))) * ! c_et_yscale) + ((clamp(sel(eyeposon, eyeposy, 0), -0.05, 0.15) + (((deadzone(clamp(headtryaw, -0.0, clamp(c_ht_on, -0.0, 0.9)), 0.45 * (trackirroll * 2)) * 0.18 * ! c_ht_roll) + (deadzone(clamp(-headtryaw, -0.0, clamp(c_ht_on, -0.0, 0.9)), 0.45 * (trackirroll * 2)) * 0.18 * c_ht_roll)) * ! sign(trackiryaw) * ! eyegazeon?0)) * c_et_yscale)) * sign(abs(999 - c_et_zscale)) * trackiron) + (clamp(sel(eyeposon, eyeposy, 0), -0.05, 0.05) * ! trackiron)`"

AMENDED 11/03/2023
config_lines[284]: "mix headtrz `((((0.2 - abs(clamp(-msteering * 2, -0.25 * ! c_ht_roll, 0.25 * c_ht_roll) * ((14 * c_et_zscale) + ((dclutch + hmdon) * 50 * (abs(clamp(msteering * 2, -0.375, 0.375)) - abs(deadzone(clamp(msteering * 2, -0.625, 0.625), 0.375))))) * ! c_et_yscale) + abs(deadzone(clamp(-msteering * 1.25, -1.0 * ! c_ht_roll, 1.0 * c_ht_roll), 0.75) * (3.75 * c_et_zscale) * ! c_et_yscale) + abs(deadzone(msteering, (0.25 * (sign(msteering - (msteering * 2) + abs(msteering))) * c_ht_roll) + (0.25 * (-sign(msteering - (msteering * 2) - abs(msteering))) * ! c_ht_roll)) * 28) * ! sign((sign(abs(1.0 - c_et_zscale)) + sign(abs(0.6 - c_et_zscale))) - 1) + (clamp(sel(eyeposon, -eyeposz * 0.000, 0), -0.2, 0.2))) * ! c_et_yscale) + (((clamp(eyeposz, -0.275, 0.05) * ! abs(sign(headtryaw))) + (clamp(eyeposz, -0.275 + abs(clamp(headtryaw * 0.6, -0.275 * c_ht_roll, 0.275 * ! c_ht_roll)), 0.05) * ! c_ht_on * sign(abs(clamp(headtryaw, -1.0 * c_ht_roll, 1.0 * ! c_ht_roll)))) + (clamp(eyeposz, -0.275 - abs(clamp(headtryaw * 0.5, -0.2, 0.2)), 0.05) * sign(abs(clamp(headtryaw, -1.0 * ! c_ht_roll, 1.0 * c_ht_roll)))) + (clamp(eyeposz, -(0.275 - (abs(deadzone(clamp(headtryaw * 0.5, -0.5, 0.5), 0.25)) * trackirpitch)), 0.05 + (abs(clamp(headtryaw * 0.5, -0.2, 0.2)) * trackirpitch)) * c_ht_on * sign(abs(clamp(headtryaw, -1.0 * c_ht_roll, 1.0 * ! c_ht_roll)))) + (-abs(clamp(deadzone(headtryaw, 0.5 * (trackirroll * 2)), -1.0 * c_ht_roll, 1.0 * ! c_ht_roll) * (0.5 * trackirpitch) * sign(trackiryaw) * ! eyegazeon?0 * c_ht_on))) * c_et_yscale)) * sign(abs(999 - c_et_zscale)) * trackiron) + (clamp(sel(eyeposon, eyeposz, 0), -0.2, 0.05) * ! trackiron)`"

config_lines[285]: "mix headtrwmon `eyeposon`"

config_lines[295]: "mix steering `(dsteering - (pow(normalize(abs(sel(c_jisteer, -j_steer?0, j_steer?0)), c_steer_dz), (1.0 + c_steer_func * 0.5)) * sign(sel(c_jisteer, -j_steer?0, j_steer?0))) - semantical.steering?0) * sign(c_et_yscale + ! sign(abs(999 - c_et_zscale)) + ! trackiron)`"

config_lines[296]: "mix msteering `((-mouse.rel_position.x?0 * c_msens) * ! trackiron) + (-sel(c_jisteer, -j_steer?0, j_steer?0) * trackiron)`"

AMENDED 11/03/2023
config_lines[297]: "mix mpedals `((-mouse.rel_position.y?0 * c_msens) * ! trackiron) + ((((((lookleft?0 * ! hmdroll) + (lookpos7?0 * hmdroll)) * 14 * deadzone(clamp(-msteering, -0.0, 1.0), ((0.25 - (0.05 * ! sign(abs(0.6 - c_et_zscale)))) * ! c_ht_roll) + ((0.538 - (0.063 * ! sign(abs(0.6 - c_et_zscale)))) * c_ht_roll))) + (((lookleft?0 * ! hmdroll) + (lookpos7?0 * hmdroll)) * 14 * deadzone(clamp(msteering, -0.0, 1.0), ((0.4 - (0.038 * ! sign(abs(0.6 - c_et_zscale)))) * ! c_ht_roll) + (0.1 * c_ht_roll))) + (((lookright?0 * ! hmdroll) + (lookpos8?0 * hmdroll)) * 14 * -deadzone(clamp(-msteering, -0.0, 1.0), (0.1 * ! c_ht_roll) + ((0.4 - (0.038 * ! sign(abs(0.6 - c_et_zscale)))) * c_ht_roll))) + (((lookright?0 * ! hmdroll) + (lookpos8?0 * hmdroll)) * 14 * -deadzone(clamp(msteering, -0.0, 1.0), ((0.538 - (0.063 * ! sign(abs(0.6 - c_et_zscale)))) * ! c_ht_roll) + ((0.25 - (0.05 * ! sign(abs(0.6 - c_et_zscale)))) * c_ht_roll)))) * ! lookpos1 * ! lookpos2 * ! lookpos3 * ! lookpos4 * ! lookpos5 * ! lookpos6) + ((((sign(lookpos3) * 4) + (sign(lookpos2) * 8) + (sign(lookpos1) * 12)) * deadzone(clamp(-msteering, -0.0, 1.0), ((0.375 - (0.05 * ! sign(abs(0.6 - c_et_zscale)))) * ! c_ht_roll) + ((0.638 - (0.038 * ! sign(abs(0.6 - c_et_zscale)))) * c_ht_roll))) + (((sign(lookpos3) * 4) + (sign(lookpos2) * 8) + (sign(lookpos1) * 12)) * deadzone(clamp(msteering, -0.0, 1.0), ((0.418 - (0.038 * ! sign(abs(0.6 - c_et_zscale)))) * ! c_ht_roll) + (0.1 * c_ht_roll))) + (((sign(lookpos4) * 4) + (sign(lookpos5) * 8) + (sign(lookpos6) * 12)) * -deadzone(clamp(-msteering, -0.0, 1.0), (0.1 * ! c_ht_roll) + ((0.418 - (0.038 * ! sign(abs(0.6 - c_et_zscale)))) * c_ht_roll))) + (((sign(lookpos4) * 4) + (sign(lookpos5) * 8) + (sign(lookpos6) * 12)) * -deadzone(clamp(msteering, -0.0, 1.0), ((0.638 - (0.038 * ! sign(abs(0.6 - c_et_zscale)))) * ! c_ht_roll) + ((0.375 - (0.05 * ! sign(abs(0.6 - c_et_zscale)))) * c_ht_roll))))) * sign(clutch) * ! sign(dclutch) * ! c_et_yscale * trackiron`"

config_lines[300]: "mix aforward `(normalize(sel(c_jzthrottle, sel(c_jithrottle, -j_throttle?0, j_throttle?0), sel(c_jithrottle, j_throttle?1 * -0.5 + 0.5, j_throttle?-1 * 0.5 + 0.5)), c_throt_dz) + semantical.aforward?0) * sign(c_et_yscale + ! sign(abs(999 - c_et_zscale)) + ! trackiron)`"

config_lines[301]: "mix abackward `(normalize(sel(c_jzbrake, sel(c_jibrake, -j_brake?0, j_brake?0), sel(c_jibrake, j_brake?1 * -0.5 + 0.5, j_brake?-1 * 0.5 + 0.5)), c_brake_dz) + semantical.abackward?0) * sign(c_et_yscale + ! sign(abs(999 - c_et_zscale)) + ! trackiron)`"

AMENDED 11/03/2023
config_lines[304]: "mix dclutch `(((((normalize(sel(c_jzclutch, sel(c_jiclutch, -j_clutch?0, j_clutch?0), sel(c_jiclutch, j_clutch?1 * -0.5 + 0.5, j_clutch?-1 * 0.5 + 0.5)), 0.1) * 1.5 * ! hmdroll) + (((sign(deadzone(normalize(sel(c_jzclutch, sel(c_jiclutch, -j_clutch?0, j_clutch?0), sel(c_jiclutch, j_clutch?1 * -0.5 + 0.5, j_clutch?-1 * 0.5 + 0.5)), 0.1), 0.25)) * 0.25) + (sign(deadzone(normalize(sel(c_jzclutch, sel(c_jiclutch, -j_clutch?0, j_clutch?0), sel(c_jiclutch, j_clutch?1 * -0.5 + 0.5, j_clutch?-1 * 0.5 + 0.5)), 0.1), 0.5)) * 0.25) + (sign(deadzone(normalize(sel(c_jzclutch, sel(c_jiclutch, -j_clutch?0, j_clutch?0), sel(c_jiclutch, j_clutch?1 * -0.5 + 0.5, j_clutch?-1 * 0.5 + 0.5)), 0.1), 0.75)) * 0.25) + (sign(deadzone(normalize(sel(c_jzclutch, sel(c_jiclutch, -j_clutch?0, j_clutch?0), sel(c_jiclutch, j_clutch?1 * -0.5 + 0.5, j_clutch?-1 * 0.5 + 0.5)), 0.1), 0.95)) * 0.25)) * hmdroll)) * ! c_et_yscale * sign(abs(2 - hmdroll)) * sign(abs(3 - hmdroll))) + (lookleft?0 * ! sign(abs(2 - hmdroll))) + (lookpos7?0 * ! sign(abs(3 - hmdroll)))) * trackiron)`"

config_lines[305]: "mix clutch `(normalize(sel(c_jzclutch, sel(c_jiclutch, -j_clutch?0, j_clutch?0), sel(c_jiclutch, j_clutch?1 * -0.5 + 0.5, j_clutch?-1 * 0.5 + 0.5)), c_clutch_dz) + semantical.clutch?0) + (! c_et_yscale * sign(abs(999 - c_et_zscale)) * trackiron)`"

AMENDED 11/03/2023
keyboard.enter?0 is game default, if you have something different then it's ok to keep it, just add the rest of the line.
config_lines[306]: "mix activate `keyboard.enter?0 | ((camwalk_crou?0 * (sign(deadzone(clamp(-msteering, -0.0, 1.0), 0.04) * ! sign(deadzone(clamp(-msteering, -0.0, 1.0), 0.115)) * ! c_ht_roll) | sign(deadzone(clamp(msteering, -0.0, 1.0), 0.35 - (0.038 * ! sign(abs(0.6 - c_et_zscale)))) * ! sign(deadzone(clamp(msteering, -0.0, 1.0), 0.43 - (0.038 * ! sign(abs(0.6 - c_et_zscale))))) * ! c_ht_roll) | sign(deadzone(clamp(msteering, -0.0, 1.0), 0.04) * ! sign(deadzone(clamp(msteering, -0.0, 1.0), 0.115)) * c_ht_roll) | sign(deadzone(clamp(-msteering, -0.0, 1.0), 0.35 - (0.038 * ! sign(abs(0.6 - c_et_zscale)))) * ! sign(deadzone(clamp(-msteering, -0.0, 1.0), 0.43 - (0.038 * ! sign(abs(0.6 - c_et_zscale))))) * c_ht_roll)) * ! sign(dclutch) * ! c_et_yscale * sign(abs(mouse.rel_position.x?0 + eye_track.head_position.yaw?0 + eye_track.gaze_position.x?0) + 1)) + (((camwalk_crou?0 * ! eyegazeon?0 * ((sign(abs(deadzone(clamp(eyeposyaw?0, -1.0 * c_ht_roll, 1.0 * ! c_ht_roll), 0.4 * (trackirroll * 2)))) * ! sign(abs(deadzone(eyeposyaw?0, 0.55 * (trackirroll * 2)))) * ! c_ht_on * sign(trackiryaw)))) + (sign((lwinopen?0 * ! c_ht_roll) + (rwinopen?0 * c_ht_roll)) * ! eyegazeon?0 * ((sign(abs(deadzone(clamp(eyeposyaw?0, -1.0 * c_ht_roll, 1.0 * ! c_ht_roll), 0.4 * (trackirroll * 2)))) * ! sign(abs(deadzone(eyeposyaw?0, 0.55 * (trackirroll * 2)))) * ! c_ht_on * sign(! trackiryaw))))) * abs(sign(clamp(eyepospitch, -1.0, 0.075))) * c_et_yscale * sign(abs(mouse.rel_position.x?0 + eye_track.head_position.yaw?0 + eye_track.gaze_position.x?0) + 1))) * trackiron`"

AMENDED 11/03/2023
keyboard.t?0 is game default, if you have something different then it's ok to keep it, just add the rest of the line.
Look at attach/detach area and press action.
config_lines[313]: "mix attach `keyboard.t?0 | (camwalk_crou?0 * sign(abs(mouse.rel_position.x?0 + eye_track.head_position.yaw?0 + eye_track.gaze_position.x?0) + 1) * (sign(deadzone(clamp(-msteering, -0.0, 1.0), 0.18) * ! sign(deadzone(clamp(-msteering, -0.0, 1.0), 0.37)) * ! c_ht_roll) | sign(deadzone(clamp(msteering, -0.0, 1.0), 0.48 - (0.038 * ! sign(abs(0.6 - c_et_zscale)))) * ! sign(deadzone(clamp(msteering, -0.0, 1.0), 0.615 - (0.038 * ! sign(abs(0.6 - c_et_zscale))))) * ! c_ht_roll) | sign(deadzone(clamp(msteering, -0.0, 1.0), 0.18) * ! sign(deadzone(clamp(msteering, -0.0, 1.0), 0.37)) * c_ht_roll) | sign(deadzone(clamp(-msteering, -0.0, 1.0), 0.48 - (0.038 * ! sign(abs(0.6 - c_et_zscale)))) * ! sign(deadzone(clamp(-msteering, -0.0, 1.0), 0.615 - (0.038 * ! sign(abs(0.6 - c_et_zscale))))) * c_ht_roll)) * abs(sign(deadzone(clamp(eyepospitch, -1.0, 0.0), 0.01))) * ! c_et_yscale) * trackiron`"

config_lines[339]: "mix rwinopen `(sign(abs(mouse.rel_position.x?0 + eye_track.head_position.yaw?0 + eye_track.gaze_position.x?0) + 1) * lwinopen?0)`"

config_lines[340]: "mix rwinclose `(sign(abs(mouse.rel_position.x?0 + eye_track.head_position.yaw?0 + eye_track.gaze_position.x?0) + 1) * lwinclose?0)`"

AMENDED 11/03/2023
keyboard.i?0 is game default, if you have something different then it's ok to keep it, just add the rest of the line.
Look at dash display and toggle through options by pressing action.
config_lines[375]: "mix display `keyboard.i?0 | (camwalk_crou?0 * ! eyegazeon?0 * abs(sign(deadzone(clamp(eyepospitch, -1.0, 0.0), 0.01))) * (! sign(abs(deadzone(eyeposyaw, 0.015)))) * c_et_yscale) * sign(abs(mouse.rel_position.x?0 + eye_track.head_position.yaw?0 + eye_track.gaze_position.x?0) + 1) * trackiron`"

AMENDED 11/03/2023
config_lines[377]: "mix dashmapzoom `(camwalk_crou?0 * ! eyegazeon?0 * ! abs(sign(deadzone(eyepospitch, 0.25))) * (sign(deadzone(clamp(-eyeposyaw, -0.0, 1.0), 0.075) * ! sign(abs(deadzone(eyeposyaw, 0.3 * (trackirroll * 2)))) * ! c_ht_roll) | sign(deadzone(clamp(eyeposyaw, -0.0, 1.0), 0.03) * ! sign(abs(deadzone(eyeposyaw, 0.3 * (trackirroll * 2)))) * ! c_ht_roll) | sign(deadzone(clamp(eyeposyaw, -0.0, 1.0), 0.075) * ! sign(abs(deadzone(eyeposyaw, 0.3 * (trackirroll * 2)))) * c_ht_roll) | sign(deadzone(clamp(-eyeposyaw, -0.0, 1.0), 0.03) * ! sign(abs(deadzone(eyeposyaw, 0.3 * (trackirroll * 2)))) * c_ht_roll)) * c_et_yscale) * sign(abs(mouse.rel_position.x?0 + eye_track.head_position.yaw?0 + eye_track.gaze_position.x?0) + 1) * trackiron`"

config_lines[399]: "mix camwalk_crou `keyboard.lshift?0 | keyboard.nummultiply?0 | semantical.camwalk_crou?0`"

AMENDED 11/03/2023
config_lines[507]: "mix headtren `(((lwinopen?0 * ! c_ht_roll) + (lwinclose?0 * ! c_ht_roll * ! c_ht_on) + (rwinopen?0 * c_ht_roll) + (rwinclose?0 * c_ht_roll * ! c_ht_on)) * sign(abs(mouse.rel_position.x?0 + eye_track.head_position.yaw?0 + eye_track.gaze_position.x?0) + 1) * trackiron)`"

AMENDED 11/03/2023
config_lines[510]: "mix eyepreset1 `(keyboard.key1?0 | (camwalk_crou?0 * ! eyegazeon?0 * sign(deadzone(clamp(eyepospitch?0, -0.0, 0.5), 0.175))) * ! sign(dclutch?0) * ! c_et_yscale * ! abs(sign(deadzone(msteering?0, 0.05))) + (camwalk_crou?0 * eyegazeon?0 * sign(deadzone(clamp(eyepospitch?0, -0.0, 0.5), 0.05))) * ! sign(dclutch?0) * ! c_et_yscale * ! abs(sign(deadzone(msteering?0, 0.05)))) * trackiron`"

AMENDED 11/03/2023
config_lines[511]: "mix eyepreset2 `((sign((camwalk_crou?0 * ! c_ht_on) + (cam5?0 * c_ht_on)) * ! eyegazeon?0 * abs(sign(deadzone(clamp(eyeposyaw?0, -1.0 * c_ht_roll, 1.0 * ! c_ht_roll), 0.65 * (trackirroll * 2)))) * ! abs(sign(deadzone(msteering?0, 0.035))) * c_et_yscale) + (sign((camwalk_crou?0 * ! c_ht_on) + (cam5?0 * c_ht_on)) * eyegazeon?0 * abs(sign(deadzone(clamp(eyeposyaw?0, -1.0 * c_ht_roll, 1.0 * ! c_ht_roll), 0.1))) * ! abs(sign(deadzone(msteering?0, 0.035))) * c_et_yscale) + (camwalk_crou?0 * ! ((sign(deadzone(clamp(-eyeposyaw?0, -0.0, 1.0), 0.4 * (trackirroll * 2))) * ! sign(abs(deadzone(eyeposyaw?0, 0.6 * (trackirroll * 2)))) * abs(sign(clamp(deadzone(eyepospitch?0, 0.3), -1.0, 0.0))) * ! c_ht_roll) + (sign(deadzone(clamp(eyeposyaw?0, -0.0, 1.0), 0.4 * (trackirroll * 2))) * ! sign(abs(deadzone(eyeposyaw?0, 0.6 * (trackirroll * 2)))) * abs(sign(clamp(deadzone(eyepospitch?0, 0.3), -1.0, 0.0))) * c_ht_roll)) * ! c_et_yscale) | keyboard.key5?0) * trackiron`"

AMENDED 11/03/2023
config_lines[512]: "mix eyepreset3 `(camdbg?0 * ! eyegazeon?0 * sign(abs(mouse.rel_position.x?0 + eye_track.head_position.yaw?0 + eye_track.gaze_position.x?0) + 1) * abs(sign(deadzone(clamp(-eyeposyaw?0, -1.0 * c_ht_roll, 1.0 * ! c_ht_roll), 0.4 * (trackirroll * 2)))) * ! sign(abs(deadzone(eyeposyaw?0, 0.6 * (trackirroll * 2)))) * abs(sign(clamp(deadzone(eyepospitch?0, 0.3), -1.0, 0.0))) + (keyboard.key2?0 | keyboard.key3?0 | keyboard.key4?0 | keyboard.key6?0 | keyboard.key7?0 | keyboard.key8?0 | keyboard.key0?0)) * trackiron`"

Close and save

TIP: Copy your TEDE controls.sii file as a backup in case the game resets it. You can then use your backup, once you've fixed the problem with it, rather than having to copy/paste all lines again.

NOTE: Don't change any key bindings in the game menu's that state "complex".
The above edits are the reason those are "complex".


TIP: Re-open the saved control.sii file before running the game for the first time. This prevents the game resetting your controls.sii file if you made an error.
Open the console, if you see one of the above lines in red text, you need to check that line again for a typo or a bad copy/paste. Save the controls.sii file but don't close it and then run the game to check again.
Once you are happy there are no red error's you can keep the controls.sii file closed.
Here is an example of an error in line config_lines[245]: "mix headtrx `........ as indicated in the red box. The green box is how it should look when correct.
Image
Example errors in your game.log.txt file and how to fix them:
This error will prevent TEDE from working all together. It's caused by missing a " from the end of one of the line edits. Be careful when copy/pasting as this error can cause the game to reset the whole file back to game defaults.
00:00:04.454 : <ERROR> [unit] File '<C:/Users/TEST/Documents/American Truck Simulator | /home>/profiles/xxxx/controls.sii', line 519:
00:00:04.454 : <ERROR> Expecting string value, found '"'
00:00:04.454 : <ERROR> load_unit_tree() - Failed to load unit tree from file (/home/profiles/xxxx/controls.sii)

To locate the problem subtract 6 from the line number stated. For example: 519-6=513
So the error is caused by the line starting "config_lines[513]:..."
Re-copy/paste the matching "mix name..." line edit from your line 513 into your controls.sii file.

This error will allow some TEDE functions to work but the TEDE function associated to this line won't. The game will reset this line to game default.
00:00:04.453 : <ERROR> [inp] line "mix name...`" is malformed
Re-copy/paste the matching "mix name..." line edit into your controls.sii file.

Setup information and available options can be found on the next post: Scroll down.
Last edited by JHTrucker on December 2nd, 2023, 6:04 pm, edited 21 times in total.
multimon_config.sii files: viewtopic.php?p=17658#p17658
controls.sii edits: viewtopic.php?p=24744#p24744
TrackIR edits: viewtopic.php?p=46613#p46613
Extra Cameras: viewtopic.php?p=46034#p46034
User avatar
JHTrucker
Expert
Posts: 1334
Joined: February 7th, 2020, 3:19 pm
Location: UK

Tobii Eye Driving Enhancements

Post by JHTrucker » February 24th, 2023, 6:45 pm

Setup how 'Tobii Eye Driving Enhancements (TEDE)' operates
(Unlike TrackIR Driving Enhanacements, there's no in game menu as you need it to setup your Tobii Eye device).

Within your Tobii Eye updated controls.sii file you can change how TEDE operates.
Note: The below references to 'trackir...' are for variables to store the TEDE settings only, trackir is not being used or required, ignore their names and just set the values you want.

In cab driving position for LHD or RHD - "constant c_ht_roll 0.000000" 0 or 1
This specifies driving position for left hand drive (LHD) 0 or right hand drive (RHD) 1.
If you change between LHD or RHD trucks in game then simply open the console and type c_ht_roll 0 and enter for LHD or c_ht_roll 1 and enter for RHD. This is quicker than exiting the game to change it in the controls.sii file.
Important - TEDE will not operate as expected if this isn't set correctly for the truck you are currently driving.
Note: Don't worry... Tobii Eye 'Head roll' is still controlled via the tick box in the Tobii Eye menu.

TEDE Code - "mix trackiron `1`" 0 or 1
This enables or disabled the TEDE code'

In cab window blocking - "mix trackiryaw `0`" 0.0 to 1.0
This sets the 'Block Point' so your head can be blocked by the closed window.
Defaults ATS 0.6 - ETS 0.8 - Reduce these if your head clips through the closed window.
Setting this to 0.0 will disable window blocking and you'll have game standard head movement through the open or closed window.

In cab auto Lean forward - "mix trackirpitch `0`" 0.0 to 1.0
This sets the 'Auto Lean forward' distance that can be used to give a better 'look back' view through a closed window.
'Auto Lean' starts to move you forward once your head is beyond 90 degrees and so doesn't affect the general looking left/right.
Set to 0.0 to disable. Defaults ATS 0.5 or ETS 0.7 - Reduce these if your head clips through the windscreen.
Note: If 'window blocking' is disabled then 'Auto Lean' is also disabled.

Head angle at 90 degrees - "mix trackirroll `0.4`" 0.0 to 1.0 - Default 0.4
This is an important settings as it is used as a base point for all in cab functions.
Note: Your Tobii Eye yaw settings affect what this value will be and hence it will be different for everyone.
See below "90 degree horn test" for more information on how to pick the correct value.

In cab sideways movement - "mix trackirx `0.1`" 0.0 to 1.0
This sets 'how far you can move towards the passenger seat' 0.0 to 1.0.
Game default is 0.1. Set to 0 to disable.
This doesn't require 'Position' to be enabled in the Tobii Eye menu, ideal if you prefer not to have Y & Z movement whilst driving but still want to lean over to passenger side.

In cab extra sideways movement - "mix trackiry `0`" 0 to 90 degrees
In conjunction with the above, this enables a 'lean zone' which will stop you from moving sideways until you look towards the passenger side by the degrees specified, you'll then have a more natural lean over.
Using a value of 14, 24, 34, 44, 54, 64, 74, 84 or 94 will disable the automatic head pitch down when leaning over to the passenger side.
Recommended default 45. Set to 0 to disable.

In cab 'head zoom' - "mix trackirz `0`" 0 to 360 degrees
This enables your head, when leaning forward, to activate the games interior zoom function instead of using a button.
This doesn't require 'Position' to be enabled if you prefer not to have Z movement whilst driving.
Set to a viewing angle that you want this function to operate within. Example, setting to 90 will only allow 'head zooming' within a 90 degree range (45 left & 45 right), handy for reading up coming road signs, but no 'head zooming' when looking far left/right at junctions etc.
Recommended default 45. Set to 0 to disable.
This doesn't require 'Position' to be enabled in the Tobii Eye menu, ideal if you prefer not to have X, Y & Z movement whilst driving.

Initial outside offset distance - "mix hmdon `0`" 0.0, 0.1, 0.2 etc
This sets the inital offset distance away from your truck when standing outside. Remember, your truck will be quite close to fuel pumps and so increasing this value from default 0.0 may result in you being stood inside or behind objects when you exit your truck.

Spare - "mix hmdyaw ``" Not currently used.

Eye Gaze Tracking - On or Off - "mix hmdpitch `1`" 0 or 1
The enables (1) or disabled (0) eye gaze tracking. All TEDE features are available when this is disabled (0), but you won't have any in game eye gaze tracking.
See first post for all available features and set this to the mode you want.

Outside pedal movement setup - "mix hmdroll `0`" 0, 1, 2 or 3.
This is used to change how your pedals (accelerator/brake/clutch) function when 'walking' outside.
Mode 0 - "mix hmdroll `0`" - As detailed in the first post.
Press accelerator pedal to look right and turn walk path right with variable movement.
Press brake pedal to look left and turn walk path left with variable movement.
Press clutch pedal to move away from the truck with variable movement.

Mode 1 - "mix hmdroll `1`" - As detailed in the first post.
Press accelerator pedal to look right and turn walk path right with stepped movement.
Press brake pedal to look left and turn walk path left with stepped movement.
Press clutch pedal to move away from the truck with stepped movement.

Mode 2 - "mix hmdroll `2`"
Press accelerator pedal to crouch with variable movement.
Press brake pedal to move away from the truck with variable movement.

Mode 3 - "mix hmdroll `3`"
Press accelerator pedal to crouch with stepped movement.
Press brake pedal to move away from the truck with stepped movement.

Variable gives smooth motion, but if you have 'dirty pots' then that motion will by jittery, in that case use stepped.
See bottom of first post for more information on pedal 'walking'.

TEDE default setup using game standard Tobii eye head and eye gaze tracking
config_lines[58]: "constant c_ht_roll 0.000000" <-- LHD
config_lines[246]: "mix trackiron `1`" <-- TEDE code on!
config_lines[250]: "mix trackirx `0.0`" <-- Distance to move towards passenger side.
config_lines[252]: "mix trackirz `0`" <-- Head zoom disabled
config_lines[253]: "mix hmdon `0.0`" <-- Stand close to the truck.
config_lines[255]: "mix hmdpitch `1`" <-- Eye gaze enabled
config_lines[256]: "mix hmdroll `0`" <-- Mode 0 for outside pedal movement.

Example setup when using game standard Tobii eye head and eye gaze tracking
config_lines[58]: "constant c_ht_roll 0.000000" <-- LHD 0 or RHD 1 - You can use the console to change this value to suit the truck your are currently driving.
config_lines[246]: "mix trackiron `1`" <-- TEDE code on!
config_lines[250]: "mix trackirx `0.1`" <-- Distance to move towards passenger side.
config_lines[251]: "mix trackiry `0`" <-- Sideways movement unlocked.
config_lines[252]: "mix trackirz `30`" <-- Head zoom enabled within 30 degrees viewing angle.
config_lines[253]: "mix hmdon `0.0`" <-- Stand close to the truck.
config_lines[255]: "mix hmdpitch `1`" <-- Eye gaze enabled
config_lines[256]: "mix hmdroll `0`" <-- Mode 0 for outside pedal movement.

Example setup When using Tobii eye head tracking only - Eye gaze disabled
config_lines[58]: "constant c_ht_roll 0.000000" <-- LHD 0 or RHD 1 - You can use the console to change this value to suit the truck your are currently driving.
config_lines[246]: "mix trackiron `1`" <-- TEDE code on!
config_lines[247]: "mix trackiryaw `0.6`" <-- Window blocking - ATS 0.6 or ETS 0.8
config_lines[248]: "mix trackirpitch `0.5`" <-- Auto lean forward - ATS 0.5 or ETS 0.7 - Disable 0.0
config_lines[249]: "mix trackirroll `0.4`" <-- Base point for head turned at 90 degrees - See 'horn test'.
config_lines[250]: "mix trackirx `0.3`" <-- Distance to move towards passenger side.
config_lines[251]: "mix trackiry `0`" <-- Sideways movement unlocked.
config_lines[252]: "mix trackirz `30`" <-- Head zoom enabled within 30 degrees viewing angle.
config_lines[253]: "mix hmdon `0.0`" <-- Stand close to the truck.
config_lines[255]: "mix hmdpitch `0`" <-- Eye gaze disabled
config_lines[256]: "mix hmdroll `0`" <-- Mode 0 for outside pedal movement.

My preferred setup using Tobii eye head tracking only - Eye gaze disabled
config_lines[58]: "constant c_ht_roll 0.000000" <-- LHD 0 or RHD 1 - You can use the console to change this value to suit the truck your are currently driving.
config_lines[246]: "mix trackiron `1`" <-- TEDE code on!
config_lines[247]: "mix trackiryaw `0.6`" <-- Window blocking - ATS 0.6 or ETS 0.8
config_lines[248]: "mix trackirpitch `0.5`" <-- Auto lean forward - ATS 0.5 or ETS 0.7 - Disable 0.0
config_lines[249]: "mix trackirroll `0.4`" <-- Base point for head turned at 90 degrees - See 'horn test'.
config_lines[250]: "mix trackirx `0.8`" <-- Distance to move towards passenger side.
config_lines[251]: "mix trackiry `45`" <-- Sideways movement locked until looking 45 degrees towards the passenger side.
config_lines[252]: "mix trackirz `30`" <-- Head zoom enabled within 30 degrees viewing angle.
config_lines[253]: "mix hmdon `0.0`" <-- Stand close to the truck.
config_lines[255]: "mix hmdpitch `0`" <-- Eye gaze disabled
config_lines[256]: "mix hmdroll `1`" <-- Mode 1 for stepped outside pedal movement.

Setup your Tobii Eye menu:
Image
1 - 'Driving presets' only - Pick one from the mod "Preset 1..." or use your own preset.
2 - 'Outside presets' only - Pick one from the mod "Preset 2..."
3 - 'Preset 3 - Game default cams 2346780' only.
4 - Don't select any preset on the top drop down as it will be changed whenever you change cameras, auto replaced by preset 1/2/3.
Always save your custom 'driving preset' to avoid losing the settings and then apply it to 'Apply Extended View Preset 1'.

'Apply Extended View Preset 1' [drop down selector].
Select your preferred driving preset. This will be used to setup your Tobii Eye device when driving.
For the best results, select your current preset so that it feels exactly how you like it.
Or choose one of these:
All 'Preset 1...' presets are using game default Tobii Eye presets, default, tobii_4c, tobii_5 & tobii_head_only. If you currently use one of them for setting up your device, then just select the 'Preset 1...' that has the same name.
Note: There's 2 versions of each preset, with and without 'Position & Roll enabled' (xyz movement).
"Preset 1..." has no head roll or xyz movement. "Preset 1P..." has all movement enabled.
"Preset 1 - Driving Tobii Default" or "Preset 1P - Driving Tobii Default"
"Preset 1 - Driving Tobii 4C" or "Preset 1P - Driving Tobii 4C"
"Preset 1 - Driving Tobii ET5" or "Preset 1P - Driving Tobii ET5"
"Preset 1 - Driving Tobii Head Tracking Only" or "Preset 1 - Driving Tobii Head Tracking Only"

'Apply Extended View Preset 2' [drop down selector].
Select your preferred outside preset. This will be used to setup your Tobii Eye device when 'walking' around your truck. Select the correct one to match your game, ATS or ETS2.
Note: There's 2 versions of each preset, with and without 'Position & Roll enabled' (xyz movement).
"Preset 2..." has no head roll or xyz movement. "Preset 2P..." has all movement enabled.
"Preset 2 - Outside ATS - Default" or "Preset 2P - Outside ATS Default".
"Preset 2 - Outside ATS - tobii_4c" or "Preset 2P - Outside ATS - tobii_4c"
"Preset 2 - Outside ATS - tobii_5" or "Preset 2P - Outside ATS - tobii_5"
"Preset 2 - Outside ATS - tobii_head_only" or "Preset 2P - Outside ATS - tobii_head_only"
"Preset 2 - Outside ETS - Default" or "Preset 2P - Outside ETS Default".
"Preset 2 - Outside ETS - tobii_4c" or "Preset 2P - Outside ETS - tobii_4c"
"Preset 2 - Outside ETS - tobii_5" or "Preset 2P - Outside ETS - tobii_5"
"Preset 2 - Outside ETS - tobii_head_only" or "Preset 2P - Outside ETS - tobii_head_only"

'Apply Extended View Preset 3' [drop down selector].
Select 'Preset 3 - Game default cams 2346780' only. This is used by the TEDE code for correct external camera switching.

Action Button - Default is 'numpad multiply'.
You can choose your own 'Action Button' by assigning it to the secondary bind for 'CROUCH' in the 'WALK MODE' section of the 'keys/buttons menu'.
Image

90 Degrees horn test - Eye gaze tracking disable
This 'horn test' is for finding your in game head angle of 90 degrees:
You should already have your Tobii Eye setup and working as you like it, but eye gaze is now disabled, therefore you may need to adjust your head yaw first.
If you adjust any of the menu sliders after this test, you'll need to run this test again.
You now need to find the value that matches your in game head when looking at 90 degrees, left or right for LHD or RHD.
config_lines[255]: "mix hmdpitch `0`" <-- Ensure eye gaze tracking is disabled
config_lines[249]: "mix trackirroll `0.4`" <-- Starting value for 90 degree horn test.
Add this line:
config_lines[319]: "mix horn `abs(sign(deadzone(eyeposyaw?0, 0.5 * (trackirroll * 2)))) * ! abs(sign(deadzone(eyeposyaw?0, 0.55 * (trackirroll * 2)))) * c_et_yscale * ! eyegazeon?0`"

While sat on the driving seat, slowly look towards to the passenger side until you hear the horn.
Image
1 - If your head is < 90 degrees when you hear the horn, increase the value by 0.1 and test again.
2 - If your head is at 90 degrees when you hear the horn, then the value used is now correct.
3 - If your head is > 90 degrees when you hear the horn, decrease the value by 0.1 and test again.
4 - If you didn't hear the horn, you were turning your head too fast, eye gaze is 'on' or the value is too high. Recheck setup values and try again.
Note: You can increase/decrease by 0.05 to fine tune the value, if required.

Now re-assign your preferred horn button in the keys/buttons menu or unassign it if you don't use it.

The 'horn test' should be the perfect way to get the correct value, but you can check it by doing this:
By default, the truck camera file moves you out through the open or closed window and the TEDE code, when the window is closed, counteracts that movement by moving your head towards the passenger side at the same time and should therefore keep you sat on the driving seat.
If you actually move towards the passenger side when looking towards the closed drivers window, then the above value it too low. Increase by 0.1 and test again.

That's it, if you need help, just ask.

General help and information can be found on the next post: Scroll down.
Last edited by JHTrucker on March 11th, 2023, 6:38 pm, edited 11 times in total.
multimon_config.sii files: viewtopic.php?p=17658#p17658
controls.sii edits: viewtopic.php?p=24744#p24744
TrackIR edits: viewtopic.php?p=46613#p46613
Extra Cameras: viewtopic.php?p=46034#p46034
User avatar
JHTrucker
Expert
Posts: 1334
Joined: February 7th, 2020, 3:19 pm
Location: UK

Tobii Eye Driving Enhancements

Post by JHTrucker » February 24th, 2023, 6:45 pm

General help and information

Q & A Section:

Q - Do I need to press '1' every time I start the game?
A - No. Just when ever you open the Tobii Eye menu and change preset 1 to a different 'driving preset', you then have to apply that preset by pressing '1'. Note: Every time you change cameras you're applying that cameras preset. Therefore any changes you make to the Tobbi Eye menu sliders/tick boxes needs to be saved as a 'Driving preset' otherwise you'll lose those changes.

Q - My game crashes to desktop.
A - It should work for game versions 1.38 up over as there's no game version dependent files within the mod. But I've only developed/tested TEDE on game versions 1.41 & 1.46. Game versions below 1.38 won't have all required 'mix' names within the controls.sii file, hence why there's a 1.38+ requirement.

Q - My head isn't blocked by the closed window and the movement is strange.
A - Ensure you have the correct LHD/RHD setting to suit your current truck - c_ht_roll 0 LHD or 1 RHD

Q - The outside view is under the passenger seat inside the truck.
A - Ensure you have the correct LHD/RHD setting to suit your current truck - c_ht_roll 0 LHD or 1 RHD

Q - 'Look Action' doesn't work to get outside.
A - Your real steering wheel needs to be centered before looking over your shoulder and pressing 'Action' to ensure you'll be stood outside the drivers door.

Q - I can't exit my truck using 'Look Action' with steering centered or pressing '5'. What's wrong?
A - Open the Tobii Eye menu and check 'Apply Extended View Preset 2' has a 'Preset 2 - Outside...' preset selected. Refer to post 3 for all available setup options.

Q - When I use 'look action' or press '5' for outside the interior just changes to low quality, what's wrong?
A - Open the Tobii Eye menu and check 'Apply Extended View Preset 2' has a 'Preset 2 - Outside...' preset selected. Refer to post 3 for all available setup options.

Q - Using window blocking. Every time I start the game my head is blocked but the window is open.
A - At game start your head is always blocked as the controls.sii file gets no feedback from the game to set it correctly. Just press open window to get back in sync.

Q - Using window blocking. Every time I turn towards the closed window I move towards the passenger side.
A - The value for "mix trackirroll `0.x`" is too low, increase by 0.1 or redo the 'horn test' detailed on post 3.

Q - I keep hearing the horn when I look left/right, what's worng?
A - If you've completed the 'horn test' you can re-assign your preferred horn button in the keys/buttons menu or unassign it if you don't use it.

Q - I don't like head roll on, how can I turn it off?
A - Refer to post 3 for available setup options for 'Preset 1 and Preset 2'.

Q - How can I assign 'Activate' to my preferred key/buttons as it's now "Complex"?
A - Refer to below 'How to fix missing functionality' section.

Q - How can I assign 'window open/close' to my preferred key/buttons as they're now "Complex"?
A - Refer to post 1 for default window functionality and setup. Or don't use that functionality and just assign buttons as normal.

==============================================================================

How to fix missing functionality:

Check that the TEDE functions are working first, before doing this, making a copy/paste mistake will break the TEDE functions or reset the controls.sii file to game default.

'Look Action' will activate when refueling.
You'll therefore need the usual 'Activate' button for all other 'Activation' functions.

Q - How can I assign 'Activate' to my preferred key/button as it's now "Complex"?
A - Refer to post 2 for line edit --> config_lines[306]: "mix activate `keyboard.enter?0 | ...`" - Replace keyboard.enter?0 with your preferred key/button.

'Look Action' can perform the below actions without needing to assign any buttons, so why bother adding them?

Q - How can I assign 'Attach' to my preferred key/button as it's now "Complex"?
A - Refer to post 2 for line edit --> config_lines[313]: "mix attach `keyboard.t?0 | ...`" - Replace keyboard.t?0 with your preferred key/button.

Q - How can I assign 'Dashboard display mode' to my preferred key/button as it's now "Complex"?
A - Refer to post 2 for line edit --> config_lines[375]: "mix display `keyboard.i?0 | ...`" - Replace keyboard.i?0 with your preferred key/button.

Q - How can I assign 'Navigation zoom mode' to my preferred key/button as it's now "Complex"?
A - There's no default for this. Edit this line to add your preferred key at the start --> config_lines[377]: "mix dashmapzoom `your key here | ...`" - Example using 'z' key --> config_lines[377]: "mix dashmapzoom `keyboard.z?0 | (camwalk_crou?0...`"

Q - How can I use 2 button window functions after I assigned buttons over "Complex"?
A - Refer to post 2 and re-apply all these line edits:
config_lines[339]: "mix rwinopen `...
config_lines[340]: "mix rwinclose `...
Refer to post 1 for setup details and operation.

==============================================================================

How to create your preferred Tobii Eye settings for the "Preset 2 - Outside..." preset.

If your head movement isn't quite how you want it, whilst outside using one of the game default presets labeled as "Preset 2 - Outside...", then you can create your own by doing this:

Coming soon...

==============================================================================
Last edited by JHTrucker on March 11th, 2023, 5:44 pm, edited 4 times in total.
multimon_config.sii files: viewtopic.php?p=17658#p17658
controls.sii edits: viewtopic.php?p=24744#p24744
TrackIR edits: viewtopic.php?p=46613#p46613
Extra Cameras: viewtopic.php?p=46034#p46034
User avatar
JHTrucker
Expert
Posts: 1334
Joined: February 7th, 2020, 3:19 pm
Location: UK

Tobii Eye Driving Enhancements

Post by JHTrucker » February 24th, 2023, 6:46 pm

Reserved
Last edited by JHTrucker on March 11th, 2023, 5:45 pm, edited 1 time in total.
multimon_config.sii files: viewtopic.php?p=17658#p17658
controls.sii edits: viewtopic.php?p=24744#p24744
TrackIR edits: viewtopic.php?p=46613#p46613
Extra Cameras: viewtopic.php?p=46034#p46034
User avatar
JHTrucker
Expert
Posts: 1334
Joined: February 7th, 2020, 3:19 pm
Location: UK

Re: Tobii Eye Driving Enhancements

Post by JHTrucker » March 1st, 2023, 3:20 pm

Example demo videos of what to expect using my TrackIR and TDE mod.

Note: The movement should be the same, but there's no in game menu to help configure the mod settings.

All videos are:

720p (recorded on an old camera phone), I'm not showing off game graphics, just missing game mechanics.
Using 'look action' (where needed) - I look at the location and press the 'Action' button.
Using G27 Wheel/Pedals/H-Shifter for driving and 'walking'.

TDE - Window Blocking.

Note: 'Window blocking' is optional.

TDE - Refueling
Driver seat -> Centre real steering wheel -> Look over your shoulder to outside (window open or closed) -> Press 'Action' -> Outside.
Turn real steering wheel left/right to 'walk' along side the truck or around the front to the other side.
Look at fuel tank - Press 'Action' - Refueling - Look up at drivers door window - Press 'Action' - Drivers seat.


TDE - Trailer Pickup.
Driver seat -> Centre real steering wheel -> Look over your shoulder to outside -> Press 'Action' -> Outside.
'Walk' around front of truck and down the other side to the crank handle (if that's where it is) - Look down at it - Press 'Action' - Turn and 'walk' back around to the drivers door.
Look up to Driver door window -> Press 'Action' -> Driver seat.


TDE - Trailer delivered.
Driver seat -> Centre real steering wheel -> Look over your shoulder to outside -> Press 'Action' -> Outside.
'Walk' around front of truck and down the other side to the crank handle (if that's where it is) - Look down at it - Press 'Action' - JOB COMPLETE - Pick a new job or Continue - Desktop Drive Button - Turn and 'walk' back around to the drivers door.
Look up to Driver door window -> Press 'Action' -> Driver seat.


TDE - Truck Service.
Driver seat -> Centre real steering wheel -> Look over your shoulder to outside -> Press 'Action' -> Outside.
Press 'Activate' (as normal) to enter service.
Exit service -> Look up to Driver door window -> Press 'Action' -> Driver seat.
Last edited by JHTrucker on March 11th, 2023, 5:46 pm, edited 1 time in total.
multimon_config.sii files: viewtopic.php?p=17658#p17658
controls.sii edits: viewtopic.php?p=24744#p24744
TrackIR edits: viewtopic.php?p=46613#p46613
Extra Cameras: viewtopic.php?p=46034#p46034
User avatar
JHTrucker
Expert
Posts: 1334
Joined: February 7th, 2020, 3:19 pm
Location: UK

Re: Tobii Eye Driving Enhancements - ATS/ETS2 - Updated 01/03/2023

Post by JHTrucker » March 1st, 2023, 3:24 pm

UPDATE 01/03/2023:

EDIT 02/03/2023:
Thanks to Maxis82 for reporting an error with 'look action' not working.
It seems Tobii Eye doesn't work quite the same as VR & TrackIR.
I'll try to fix this...


New 'Tobii Eye Driving Enhancements v1.1 (1.38+)' mod.

Fixed missing in cab Z movement when looking towards the closed drivers window when using window blocking and 'position' is enabled.

Added new 'Outside' presets so you can choose to have head roll & xyz movement (position) or not.
See post 3 "Setup how 'Tobii Eye Driving Enhancements' operates" for more info.
"Preset 2..." has no head roll or xyz movement. "Preset 2P..." has all movement enabled.

Renamed 'Driving' presets to use the same format as above.
See post 3 "Setup how 'Tobii Eye Driving Enhancements' operates" for more info.
"Preset 1..." has no head roll or xyz movement. "Preset 1P..." has all movement enabled.

Added missing 'eye gaze' to the existing 'Look Action' functions so they now work together with eye tracking and head tracking movements combined.
Note: I cannot test 'eye gaze' as I don't have a Tobii Eye device, hopefully it works as intended, check first post 'Look Action' descriptions for where to look and how it should function.

Added new 'look action' - Activate tollbooth, border control check point, select job at company entrance etc.
Using 'window blocking' - Open window - Look 90 degrees towards it - Press 'Action'.
Without 'window blocking' - Press and hold driver side window open button - Look 90 degrees towards it.
You can still just press your 'Activate' button if the above is too annoying to do.

Amended 'lean zone' - Option to not have the more 'natural lean over' effect.
Using a value of 14, 24, 34, 44, 54, 64, 74, 84 or 94 will disable the automatic head pitch down when leaning over to the passenger side.

Added option to set the initial offset distance away from your truck when standing outside. Remember, your truck will be quite close to fuel pumps and so increasing this value from default 0.0 may result in you being stood inside or behind objects.
"mix hmdon `0`" 0.0, 0.1, 0.2 etc.

Added another option for accelerator & brake pedal movement when outside. Useful if you don't have a clutch pedal.
Mode 2 - "mix trackirroll `2`"
Press accelerator pedal to crouch with variable movement.
Press brake pedal to move away from the truck with variable movement.
Mode 3 - "mix trackirroll `3`"
Press accelerator pedal to crouch with stepped movement.
Press brake pedal to move away from the truck with stepped movement.

The above turns off the existing modes 0 & 1
Mode 0 - "mix trackirroll `0`"
Press accelerator pedal to look right and turn walk path right with variable movement.
Press brake pedal to look left and turn walk path left with variable movement.
Press clutch pedal to move away from the truck with variable movement.

Mode 1 - "mix trackirroll `1`"
Press accelerator pedal to look right and turn walk path right with stepped movement.
Press brake pedal to look left and turn walk path left with stepped movement.
Press clutch pedal to move away from the truck with stepped movement.

Updated post 3 - Setup how 'Tobii Eye Driving Enhancements (TEDE)' operates.

Download the new mod and the 'quick start' controls.sii file from post 2.
Refer to the date highlighted manual line edits if you want to update your TEDE v1.0 controls.sii file:
config_lines[191]: "mix cam1...
config_lines[195]: "mix cam5...
config_lines[200]: "mix camdbg...
config_lines[205]: "mix camzoom...
config_lines[279]: "mix headtryaw...
config_lines[280]: "mix headtrpitch...
config_lines[282]: "mix headtrx...
config_lines[283]: "mix headtry...
config_lines[284]: "mix headtrz...
config_lines[304]: "mix dclutch...
config_lines[306]: "mix activate...
config_lines[313]: "mix attach...
config_lines[375]: "mix display...
config_lines[377]: "mix dashmapzoom...
config_lines[510]: "mix eyepreset1...
config_lines[511]: "mix eyepreset2...
config_lines[512]: "mix eyepreset3...
multimon_config.sii files: viewtopic.php?p=17658#p17658
controls.sii edits: viewtopic.php?p=24744#p24744
TrackIR edits: viewtopic.php?p=46613#p46613
Extra Cameras: viewtopic.php?p=46034#p46034
User avatar
JHTrucker
Expert
Posts: 1334
Joined: February 7th, 2020, 3:19 pm
Location: UK

Re: Tobii Eye Driving Enhancements

Post by JHTrucker » March 11th, 2023, 5:53 pm

UPDATE 11/03/2023:
Thanks to forum member Maxis82 and his Tobii Eye for testing and providing feedback to help me to get this to work as intended.
What I've learnt, Tobii Eye input values are changed by the game settings and also the use of eye gaze tracking made it difficult to achieve what was required.
Example, yaw 0.25 <> head looking at 45 degrees or yaw 0.5 <> head looking at 90 degrees. It depends on what slider values you set in the Tobii Eye menu. But also the game moves the screen to follow your eye gaze. Therefore yaw values are different for everyone.

Whereas TrackIR settings are done with the TrackIR software and input into the game without being manipulated by the game itself, which means, for TrackIR, it just works. Examples: Yaw 0.0 = central, 0.25 = look left 45 degrees, -0.5 = look right 90 degrees, 1.0 = look back left 180 degrees etc.

Lessons learnt: Stop creating stuff that I cannot fully test myself!

Here's the changes:

There's now 2 modes of operation:
1 - Game standard Tobii Eye head and eye gaze tracking - Fewer features available due to using 'eye gaze tracking' where the game is turning the view rather than you.

2 - Tobii Eye head tracking only - All features available but 'eye gaze tracking' has to be disabled.

Re-written code to suit this update.

Re-read post 1 for description changes and the differences between above modes 1 & 2.

Re-read post 3 for required setup information. The setup variables have slightly changed and so your previous settings won't work correctly, recheck them.

Post 2. Download the 'quick start' controls.sii file or refer to the date highlighted manual line edits if you want to update your TEDE v1.1 controls.sii file:
config_lines[191]: "mix cam1...
config_lines[195]: "mix cam5...
config_lines[200]: "mix camdbg...
config_lines[205]: "mix camzoom...
config_lines[262]: "mix eyegazeon...
config_lines[263]: "mix eyegazex...
config_lines[264]: "mix eyegazey...
config_lines[279]: "mix headtryaw...
config_lines[282]: "mix headtrx...
config_lines[283]: "mix headtry...
config_lines[284]: "mix headtrz...
config_lines[297]: "mix mpedals...
config_lines[304]: "mix dclutch...
config_lines[306]: "mix activate...
config_lines[313]: "mix attach...
config_lines[375]: "mix display...
config_lines[377]: "mix dashmapzoom...
config_lines[507]: "mix headtren...
config_lines[510]: "mix eyepreset1...
config_lines[511]: "mix eyepreset2...
config_lines[512]: "mix eyepreset3...
If in doubt, re-apply all line edits.
multimon_config.sii files: viewtopic.php?p=17658#p17658
controls.sii edits: viewtopic.php?p=24744#p24744
TrackIR edits: viewtopic.php?p=46613#p46613
Extra Cameras: viewtopic.php?p=46034#p46034
User avatar
JHTrucker
Expert
Posts: 1334
Joined: February 7th, 2020, 3:19 pm
Location: UK

Re: Tobii Eye Driving Enhancements - ATS/ETS2 - Updated 11/03/2023

Post by JHTrucker » March 25th, 2023, 4:16 pm

UPDATE 25/03/2023:

There's now 2 mods to choose from within these folders inside that supplied 'Tobii Eye Driving Enhancements v1.1+.zip' file:

No visible driver when outside - Best for singleplayer
Mod display name: "TEDE (No Driver) v1.1 (1.38+)"
OR
Game default driver - Best for multiplayer (so you can see your friends driving their trucks).
Mod display name: "TEDE (Driver) v1.1 (1.38+)"

Both mods have the same file name, just replace the mod to suit how you are playing.
There's no other changes.
See post 2 for updated mod - https://roextended.ro/forum/viewtopic.p ... 550#p57550

Thanks to Maxis82 for this request, I don't play multiplayer and so never thought of this issue.
multimon_config.sii files: viewtopic.php?p=17658#p17658
controls.sii edits: viewtopic.php?p=24744#p24744
TrackIR edits: viewtopic.php?p=46613#p46613
Extra Cameras: viewtopic.php?p=46034#p46034
Post Reply