Squad Wiki
Advertisement

Helicopter Axes of Flight[]

Helicopter axis.svg

Joystick settings[]

While you can fly the helicopters with mouse and keyboard, some will find it more convenient to use a joystick.

Settings for helicopters and joysticks are in

  • "Settings → Controls → Helicopter"
  • "Settings → Controls → Helicopter Axes"


Settings-controls-helicopter.jpg


Settings-controls-joysticks.jpg

Generic[]

By default Pitch, Roll, Yaw (Z-Axis needed) and Collective are not mapped. For Collective it seems that build-in throttle switches are supported by default. Joysticks with a seperate throttle device are reported to don't work right now.

See Changelog 2.4: Please Note: Multiple Joysticks/Rudder Pedals/HOTAS input is not currently supported. There is currently no differentiation between device IDs. You may be able to get around this if your joystick software can combine all HOTAS axes into a single virtual input device. Full Multiple Joystick Support is planned in the future, but it will require an extensive complete overhaul to the Control Settings.


Logitech Extreme 3D Pro[]

Extreme3dpro.svg

By default Pitch, Roll, Yaw, Collective are not mapped.

Custom settings[]

In "Settings → Controls → Helicopter Axes" change from default to:

  • Collective: Tick "Flip Axix"
  • Pitch: Tick "Flip Axis", Change to "Smooth", set Curve Factor to "2.2"
  • Roll: Change to "Smooth", set Curve Factor to "2.2"
  • Yaw: Change to "Smooth", set Curve Factor to "2.2"


Titanwolf Vulture[]

Titanwolfvultures svg.svg

By default Pitch, Roll, Yaw, Collective nothing is mapped.

Custom settings[]

In "Settings → Controls → Helicopter Axes" change from default to:

  • Collective: Tick "Flip Axix"
  • Pitch: Tick "Flip Axis", Change to "Smooth", set Curve Factor to "2.2"
  • Roll: Change to "Smooth", set Curve Factor to "2.2"
  • Yaw: Change to "Smooth", set Curve Factor to "2.2"


Attention: The right "Hat-Stick" can't be mapped in "Settings", but has to be configured via the config-file "input.ini" (See section Edit config file.)

ActionMappings=(ActionName="Helicopter_Recenter_View",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Joystick_Hat0_Y)

TrackIR with FreePIE[]


To use the Free-look feature it has to be activated in "Settings → Controls → Joystick"

  • Tick "LockFreeLook".


Then you can use the mouse to look around freely without holding ALT. To get your head position in real life and to map it to your pilots head (aka viewport) ingame you'll need

  • a head tracking device (e.g. TrackIR, Freetrack) and
  • an input emulating device (e.g. FreePIE)


In the following example, we are using TrackIR and FreePIE.

  • TrackIR is a commercial head tracking input device. It has to be started first.
  • FreePIE is an Open Source application for bridging and emulating input devices. It is programmable via a Python based script language.


Attention: You have to run FreePIE "as Administrator".


The following script will detect a running TrackIR. Load the script as file or copy & paste it. Run the script by pressing F5 or go to the menu "Script → Run".

Screenshot freepie squad-freelook.png

 1 def update():
 2    yaw = trackIR.yaw
 3    pitch = trackIR.pitch
 4    
 5    yaw = clamp(yaw, -140, 140)
 6    pitch = clamp(pitch, -60, 60)
 7    
 8    deltaYaw = filters.delta(yaw)
 9    deltaPitch = filters.delta(pitch)  
10 
11    if (enabled):
12        mouse.deltaX = deltaYaw*multiply
13        mouse.deltaY = -deltaPitch*multiply
14        
15 def clamp(value, min, max):
16 	if (value <= min):
17 		return min
18 	if (value >= max):
19 		return max
20 	return value
21 
22 if starting:
23    enabled = True
24    multiply = 20
25    trackIR.update += update
26 
27 toggle = keyboard.getPressed(Key.Space)
28 
29 if toggle:
30    enabled = not enabled

Some remarks on the script[]

  • Line 5,6: Restrict Ingame-"Head"-Movement to left/right (-140°/140°) and down/up (-60°/60°) to avoid "overshooting" when looking too far in any direction. Set inactive by adding "#" at the beginning of each line.
  • Line 15 - 20: "Clamp" function defined
  • Line 22: Things done once after starting the script
  • Line 23: Freelook is activated at start, set "True" to "False" otherwise. BTW: Mouse movement will override Freelook at any time.
  • Line 24: Sensivity multiplier is 20. Mouse movement is 20 times faster than TrackIR input. (see Line 13 & 14)
  • Line 27: SPACE will deactivate / activate Freelook. BTW: Move mouse to set ingame view at any time

Configuration tweaking of TrackIR and FreePIE[]

There is a tiny lag in the freelook movement while using TrackIR and FreePIE. This may cause motion-sickness and is annoying. Tweaking the settings may help.

See TomNedry's settings as a reference.

2021-06-24 17 03 58-TrackIR 5.4.png

Edit config file[]

Sometimes a joystick button can't be configured via "Settings". To map such buttons you have to edit the Squad configuration file "input.ini".


Warning: USE AT OWN RISK! It is strongly advised to make a backup of the file in the first place.


  • Be sure that Squad isn't running, as it seems that the file is read at the start of the game only.
  • The file "input.ini" can be found in "%appdata%\Local\SquadGame\Saved\Config\WindowsNoEditor". To find "%appdata" open the File Explorer/Windows Explorer, type %AppData% into the address bar and hit enter.
  • As "input.ini" is just a plain text file open it with your favorite text-editor (e.g. notepad++).


There are at least two sections in this file:

1. [/Script/Engine.InputSettings]

2. [/Script/Squad.SQConsole]


Put your custom key-mappings after the last line of the first section.

Changelog v2.4 related to Helicopters[]

Joystick remarks on v2.4

  • Experimental Joystick Support for Helicopters Update
  • Added the ability to use Joystick action mappings as inputs. This is for the native support of buttons and triggers on various Joystick setups.
  • Added options for keyboard-only flight bindings for helicopters.
  • Added experimental hybrid controls for switching between joystick, keyboard, mouse during flight.
  • Added Joystick HAT switch quick-look controls.
  • Added Helicopter keybinds for picking up and dropping supplies. This currently does not work for ground vehicles. Note: these can be bound to Joystick buttons.
  • Added recentering keybind for helicopter freelook.
  • Joystick axes are no longer bound by default, to reduce the chance of conflicts. Players will need to manually bind their joystick axes until the feature is out of an experimental state.

Updated the Joystick Menu UI with improved presentation, and renamed many options for clarity and consistency.

  • Added Free Look for helicopters while in third person (Jenson’s Range/Modded Gameplay only).
  • Fixed an issue on the Joysticks menu where the “lock-free look” feature would be displayed behind the joystick curves on certain resolutions.
  • Fixed Joystick settings not being able to be reset to defaults.

We appreciate any feedback pilots can provide on this experimental joystick support. We anticipate releasing a more polished version with bug fixes and more quality of life improvements in a near-future release.

If you are having issues with Helicopter flying, and you are not using a Joystick, go to Settings -> Controls -> Helicopter Axes to unbind any axes bound there.

Please Note: Multiple Joysticks/Rudder Pedals/HOTAS input is not currently supported. There is currently no differentiation between device IDs. You may be able to get around this if your joystick software can combine all HOTAS axes into a single virtual input device. Full Multiple Joystick Support is planned in the future, but it will require an extensive complete overhaul to the Control Settings.

Obsolete[]

Since v2.4 joystick buttons can be mapped via "Settings → Controls → Helicopter / Helicopter Axes".

ActionMappings=(ActionName="CommandRadio",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Joystick_Button2)
ActionMappings=(ActionName="LocalVoice",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Joystick_Button0)
ActionMappings=(ActionName="SquadRadio",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Joystick_Button1)
ActionMappings=(ActionName="Map",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Joystick_Button3)
Advertisement