Space Engineers

Space Engineers

33 ratings
Joystick Flight Controls
   
Award
Favorite
Favorited
Unfavorite
Type: Mod
Mod category: Script
File Size
Posted
Updated
221.126 KB
Jun 28, 2018 @ 10:10am
Nov 20, 2018 @ 7:13pm
7 Change Notes ( view )

Subscribe to download
Joystick Flight Controls

Description
Important Notes 1/20/2023
------------------------------------
As of right now, there are no plans to continue work on this mod.
This mod was developed as a proof of concept to show how joystick control could be used for thrust and gyros.
As of the last few updates, something has changed in the base game and for me at least, any time I enable a joystick, with or without this mod, the mouse becomes broken so I am unable to even test the mod. I may pick it back up at some point but as for now, there are no solid plans to do work on this mod.

Notes 1/20/2023
-----------------------
I'm going to try to address some of the issues that have been mentioned in the comments here.
Firstly, please see the important notes above, this mod is outdated and possibly broken. There are no more plans to
update or fix it at this time.
- There is no way to configure or re-assign controls, this was designed to use a basic joystick or gamepad.
- There is no way to get rid of the joystick deadzone. This is set by the game itself and can be adjusted in the joystick menu but can never be zero. I can not access the raw joystick input because it is not whitelisted(hint-hint Keen)
- This is designed to control ships only, not character controls.
- There is no way to override or stop the default joystick controls, the best that you can do is to lower joystick sensitivity in the main game menu to minimize the effects of default controls, for instance the default action for joystick up is to thrust forward in the game. The sensitivity of the joystick for the mod can be adjusted separately in the control panel for your cockpit.
- All controls for this mod are found in the cockpit controls, you must turn on each feature there or add the controls to your toolbar.


Update 11/20/2018
--------------------------
- Multiplayer Update, No longer crashes DS
- Fixed Thrust Override can not be changed after disabling joystick controls.
- Added Gyro translation thanks to Whip's examples.
- Removed flipz option as it is now obsolete.

Update 7/08/2018
--------------------------
- Now supports Xbox and PC Controllers
- New option "bidirectional". Thrust can control 1 direction or 2 directions. Use 2 directional for self-centering Xbox and PC controllers. Use 1 directional for joysticks with sliders.
- Improved Display

Update 7/04/2018
--------------------------
- Added InvertY Checkbox and joystick sensitivity slider to cockpits.
- Added a Checkbox to color text of display by rate of decent to cockpits.
- Added options to cockpit CutomData that can be saved with blueprints and in worlds. See Below for details.
- Changed Sound Block to play alert when descent is too high (When CustomData is "Alert")
- Fixed Gyro Pitch, Apparently I've been putting all my small gyros on backwards. Gyros should still have the same orientation as the cockpit.
- Removed elevation, altitude, climb, and Nuetral lift indicator when outside of natural gravity.
- Added Flight Mode to display.


Joystick Flight Controls
--------------------------------
Note: This mod is not tested in Multiplayer and is designed for single player use.

This mod will allow you to control your ship using the joystick.

There are 2 modes, Hover and Thrust.

In both modes, joystick input on the x, y, and z axis will control the pitch, yaw, and roll of your ship using gyros.

In Hover mode, the slider input controls thrust to all thrusters pointing up. This allows you to create ships with only up thrusters or even a single up thruster if you wish. To control a "Hover Ship", just tilt in the direction you want to go while using thrust to maintain elevation.

In Thrust mode, the slider input controls thrust to any backward facing thrusters giving you throttle control. This mode is best used with inertial dampeners on. The inertial dampeners should keep your ship at a steady elevation. Point the nose where you want to go and use thrust.

Setting any text panel's Custom Data to "Thrust" will cause it to display throttle and other useful info.

There are custom terminal controls to turn the feature on and off and custom terminal actions for the tool bar as well.

Known Issues:
--------------------
This mod is a concept and there are some bugs.

This is not tested in multiplayer and I wouldn't expect it to work.

When you first load up a world, the settings for the terminal controls may not be saved. Make sure you turn the controls on.

Terminal control settings may not be saved in blueprints.

DS Only - Custom terminal controls are added but will break the default cockpit terminal controls.

I would recommend using Whip's Artificial Horizon Script with this, it helps you keep your orientation. You can find that here https://steamcommunity.com/sharedfiles/filedetails/?id=713653017&searchtext=artificial+horizon


The default joystick controls will still activate, if you have forward, left, or right facing thrusters, the default controls will fire them. I'ts not too noticable if you turn joystick sensitivity down.

This turned out to be challenging and a lot of fun so I though I would share my idea. I hope to update and improve the mod in the future.


Tips
------
- Open the game settings and turn down joystick precesion and joystick sensitivity.
- Open the game settings set a small joystick deadzone or the joystick will move the mouse.
- Set the joystick deadzone to the lowest setting possible to avoid mouse movement because the game sets the deadzone even on the slider input so there is a deadzone in the middle if using a slider with one directional thrust.







56 Comments
MARHWIN Jul 19, 2024 @ 11:03am 
@NumberFive
I wanna talk about your scripting. Invite send :]
Fuzion Mar 29, 2023 @ 3:32pm 
I am not encountering the issue mentioned in the authors note, when enabling joysticks, my mouse still works. Perhaps this joystick issue has been fixed?
Forest_Ninja Jan 20, 2023 @ 2:18pm 
Damn. Tbh idk why it's not a base game function to be able to use a joystick
NumberFive  [author] Jan 20, 2023 @ 8:44am 
@Forest_Ninja101
Unfortunately this mod should be considered broken. I am unable to even test it due to changes to the base game breaking my mouse control when enabling any joystick. Also there is no way to configure input axis and there are too many possible joystick configurations to consider.
Forest_Ninja Jan 17, 2023 @ 4:24pm 
I don't get why no matter what you do with it, any of the options there just make your ship move in some direction. I don't want that, i just want to be able to turn my ship around with a joystick and control thrust with my keyboard
myk27 Jan 13, 2023 @ 4:21pm 
can this mod work with two controlers
WarCriminal Aug 2, 2022 @ 5:16am 
Is it in controls?
WarCriminal Aug 2, 2022 @ 5:15am 
somebody help me
WarCriminal Aug 2, 2022 @ 5:15am 
How do i set this up I have a T16000M FCS Hotas Im way too confused I cant put my throttle to it or my joystick
CovertJaguar Nov 22, 2021 @ 2:57pm 
Some comments:
- First, I'm using an x52 Pro Saitek/Logitch HOTAS. It works great for flight control, mostly. Nice and smooth. Control axis are correctly defined. Landing, walking, jetpacking, has issues.
- 2-Way Throttle badly needs a deadzone, no way to stop mid-air.
- How do you reverse with 1-Way Throttle? Is there a modifier/toggle key?
- Turning off the joystick doesn't clear thrust overrides. Have to do so manually.
- Constant phantom movement when on ground with jetpack off and joystick enabled.
- Occasionally flying off into space when jetpacking with joystick enabled, touching stick seems to reset it.
- How to go up and down? I have a couple rotator axis on the throttle I could use for that, but no way to link them?
- I'm not able to redefine/disable axis in the Logitech/Saitek software or deadzones in the Windows Control Panel.
- Dampers seem... troubled. VTOL landing in Thrust mode seems to be impossible. Likely due to the lack of thrust deadzone. (2-Way mode)