How to combine your key functions with shift, ctrl or alt.
(For those of you that don't have enough spare keys for all the functions you require).
Note: If you use 'shift' & 'ctrl' for gear up/down then you can't use them for other functions.
"mix gearup `keyboard.lshift?0 | keyboard.rshift?0 | semantical.gearup?0`" <--- Game default
"mix geardown `keyboard.lctrl?0 | keyboard.rctrl?0 | semantical.geardown?0`" <--- Game default
Typical formatting:
modifier(no_modifier?0, keyboard.a?0) <-- Press 'a' without pressing 'Shift', 'Ctrl' or 'Alt' at the same time.
modifier(shift_only, keyboard.a?0) <-- Press 'a' whilst also pressing 'Left or Right Shift'
modifier(ctrl_only, keyboard.a?0) <-- Press 'a' whilst also pressing 'Left or Right Ctrl'
modifier(alt_only, keyboard.a?0) <-- Press 'a' whilst also pressing 'Left or Right Alt'
keyboard.lshift?0 & keyboard.a?0 <-- Press 'a' whilst also pressing 'Left Shift'
keyboard.rshift?0 & keyboard.a?0 <-- Press 'a' whilst also pressing 'Right Shift'
keyboard.lctrl?0 & keyboard.a?0 <-- Press 'a' whilst also pressing 'Left Ctrl'
keyboard.rctrl?0 & keyboard.a?0 <-- Press 'a' whilst also pressing 'Right Ctrl'
keyboard.lalt?0 & keyboard.a?0 <-- Press 'a' whilst also pressing 'Left Alt'
keyboard.ralt?0 & keyboard.a?0 <-- Press 'a' whilst also pressing 'Right Alt'
OR
! keyboard.lshift?0 & keyboard.a?0 <-- Press 'a' without pressing 'Left Shift'.
keyboard.lshift?0 & keyboard.a?0 <-- Press 'a' whilst also pressing 'Left Shift'.
Note: keyboard.key1?0 and not keyboard.1?0 it seems you need .key when it's a number only.
Example: Assign 'Horn' & 'Air Horn' to the same key 'h' but use 'shift' to separate them.
"mix horn `modifier(no_modifier?0, keyboard.h?0) | semantical.horn?0`" <-- Horn = Press 'h' only
"mix airhorn `modifier(shift_only, keyboard.h?0) | semantical.airhorn?0`" <-- Air Horn = Press 'Left or Right Shift' & 'h'
You can replace 'shift_only' with 'ctrl_only' or 'alt_only' as required.
OR
"mix airhorn `keyboard.lshift?0 & keyboard.h?0 | semantical.airhorn?0`" <-- Air Horn = Press 'Left Shift' & 'h'
OR
"mix airhorn `keyboard.rshift?0 & keyboard.h?0 | semantical.airhorn?0`" <-- Air Horn = Press 'Right Shift' & 'h'
OR
"mix airhorn `keyboard.lctrl?0 & keyboard.h?0 | semantical.airhorn?0`" <-- Air Horn = Press 'Left Ctrl' & 'h'
OR
"mix airhorn `keyboard.rctrl?0 & keyboard.h?0 | semantical.airhorn?0`" <-- Air Horn = Press 'Right Ctrl' & 'h'
OR
"mix airhorn `keyboard.lalt?0 & keyboard.h?0 | semantical.airhorn?0`" <-- Air Horn = Press 'Left Alt' & 'h'
OR
"mix airhorn `keyboard.ralt?0 & keyboard.h?0 | semantical.airhorn?0`" <-- Air Horn = Press 'Right Alt' & 'h'
Example: Assign 'Horn', 'Air Horn', 'Light Horn' & 'Beacon' to the same key 'h' but use 'shift', 'ctrl' & 'alt' to separate them.
"mix horn `modifier(no_modifier?0, keyboard.h?0) | semantical.horn?0`" <-- Horn = Press 'h' only
"mix airhorn `modifier(shift_only, keyboard.h?0) | semantical.airhorn?0`" <-- Air Horn = Press 'Left or Right Shift' & 'h'
"mix lighthorn `modifier(ctrl_only, keyboard.h?0) | semantical.lighthorn?0`" <-- Press 'Left or Right Ctrl' & 'h'
"mix beacon `modifier(alt_only, keyboard.h?0) | semantical.beacon?0`" <-- Beacon = Press 'Left or Right Alt' & 'h'
Example: Truck lift axle = 'u' - Trailer lift axle = 'shift + u'
"mix liftaxle `modifier(no_modifier?0, keyboard.u?0) | semantical.liftaxle?0`" <-- Truck axle = Press 'u' only
"mix liftaxlet `modifier(shift_only, keyboard.u?0) | semantical.liftaxlet?0`" <-- Trailer axle = Press 'Left or Right Shift' & 'u'
OR
"mix liftaxlet `keyboard.lshift?0 & keyboard.u?0 | semantical.liftaxlet?0`" <-- Trailer axle = Press 'Left Shift' & 'u'
OR
"mix liftaxlet `keyboard.rshift?0 & keyboard.u?0 | semantical.liftaxlet?0`" <-- Trailer axle = Press 'Right Shift' & 'u'
OR
"mix liftaxlet `keyboard.lctrl?0 & keyboard.u?0 | semantical.liftaxlet?0`" <-- Trailer axle = Press 'Left Ctrl' & 'u'
OR
"mix liftaxlet `keyboard.rctrl?0 & keyboard.u?0 | semantical.liftaxlet?0`" <-- Trailer axle = Press 'Right Ctrl' & 'u'
OR
"mix liftaxlet `keyboard.lalt?0 & keyboard.u?0 | semantical.liftaxlet?0`" <-- Trailer axle = Press 'Left Alt' & 'u'
OR
"mix liftaxlet `keyboard.ralt?0 & keyboard.u?0 | semantical.liftaxlet?0`" <-- Trailer axle = Press 'Right Alt' & 'u'
Example: Wipers switch through settings = 'p' - Wipers switch back over = 'shift + p'
"mix wipers `modifier(no_modifier?0, keyboard.p?0) | semantical.wipers?0`" <-- Press 'p' only
"mix wipersback `modifier(shift_only, keyboard.p?0) | semantical.wipersback?0`" <-- Press 'Left or Right Shift' & 'p'
OR
"mix wipersback `keyboard.lshift?0 & keyboard.p?0 | semantical.wipersback?0`" <-- Press 'Left Shift' & 'p'
OR
"mix wipersback `keyboard.rshift?0 & keyboard.p?0 | semantical.wipersback?0`" <-- Press 'Right Shift' & 'p'
OR
"mix wipersback `keyboard.lctrl?0 & keyboard.p?0 | semantical.wipersback?0`" <-- Press 'Left Ctrl' & 'p'
OR
"mix wipersback `keyboard.rctrl?0 & keyboard.p?0 | semantical.wipersback?0`" <-- Press 'Right Ctrl' & 'p'
OR
"mix wipersback `keyboard.lalt?0 & keyboard.p?0 | semantical.wipersback?0`" <-- Press 'Left Alt' & 'p'
OR
"mix wipersback `keyboard.ralt?0 & keyboard.p?0 | semantical.wipersback?0`" <-- Press 'Right Alt' & 'p'
Example: From game version 1.44 onwards:
Lower front & rear suspension - 's'
Raise front & rear suspension - 'Left or Right Shift + s'
Reset suspension - 'Left or Right Ctrl + s'
"mix frontsuspup `modifier(shift_only, keyboard.s?0) | semantical.frontsuspup?0`" <-- Press 'Left or Right Shift' & 's'
"mix frontsuspdwn `modifier(no_modifier?0, keyboard.s?0) |semantical.frontsuspdwn?0`" <-- Press 's' only
"mix rearsuspup `modifier(shift_only, keyboard.s?0) | semantical.rearsuspup?0`" <-- Press 'Left or Right Shift' & 's'
"mix rearsuspdwn `modifier(no_modifier?0, keyboard.s?0) | semantical.rearsuspdwn?0`" <-- Press 's' only
"mix suspreset `modifier(ctrl_only, keyboard.s?0) | semantical.suspreset?0`" <-- Press 'Left or Right Ctrl' & 's'
OR
Lower front suspension - 'Left Ctrl + s'
Raise front suspension - 'Left Shift + s'
Lower rear suspension - 'Right Ctrl + s'
Raise rear suspension - 'Right Shift + s'
Reset suspension - 'Left or Right Alt + s'
"mix frontsuspup `keyboard.lshift?0 & keyboard.s?0 | semantical.frontsuspup?0`" <-- Press 'Left Shift' & 's'
"mix frontsuspdwn `keyboard.lctrl?0 & keyboard.s?0 |semantical.frontsuspdwn?0`" <-- Press 'Left Ctrl' & 's'
"mix rearsuspup `keyboard.rshift?0 & keyboard.s?0 | semantical.rearsuspup?0`" <-- Press 'Right Shift' & 's'
"mix rearsuspdwn `keyboard.rctrl?0 & keyboard.s?0 | semantical.rearsuspdwn?0`" <-- Press 'Right Ctrl' & 's'
"mix suspreset `modifier(alt_only, keyboard.s?0) | semantical.suspreset?0`" <-- Press 'Left or Right Alt' & 's'
Note: Those key bindings will now show as 'complex' in the game menus.
Just use the above examples to help you assign your key requirements to your truck functions.
Go back to the first post for the full list of what's available: https://roextended.ro/forum/viewtopic.p ... 744#p24744