Jump to content

Joystick Issue


Recommended Posts

I'd really like to play with space planes but they're much better with a joystick.

However at the upgrade to 1.3.1 KSP stopped recognising my joysticks. At that stage simply clicking the button to assign an axis would cause KSP to crash.  With 1.4 It stopped crashing but did nothing on clicking the button.

I was just trying it today and still nothing in the latest KSP.

I have been using a
Sidewinder Precision Pro Joystick
Sidewinder Force-Feedback II Joystick
Thrustmaster T-Flight HOTAS stick
Steam Controller
X-Box One controller

None of these are recognised by the game - they all show up with a name in JS-Test ( ubuntu linux ) and I can test all the axis.

I seem to remember a while ago Scott Manley said Joysticks were not working in KSP.  Is this an issue for everyone?

Link to comment
Share on other sites

There has been a question about this already, and yep, in 1.4 joysticks and gamepads do not work on Linux. I did manage to get them to work with Advanced Fly-By Wire though, and linuxgurugamer seems to have picked up maintaining that mod.

Anyhow, I've meanwhile uploaded a "working" Advanced Fly-By-Wire dll at the other question:

 

Link to comment
Share on other sites

Ooh thank you - I did a google search for previous threads but they were all a year or more old and not what I was experiencing ( a different bug where the joystick was recognised but the assignment failed ).

I guess I shall have advanced fly by wire :)

Link to comment
Share on other sites

The version of unity that ksp 1.4.x runs on use SDL2 for joystick input.   So you will need to have SDL2 installed, and you might need to configure it so unity detects your joystick.  See https://forum.unity.com/threads/no-joystick-detected.475870/#post-3215994 for more info on that.  I'm pretty sure JS-Test isn't using the new APIs that SDL2 is using, so I'm not sure it's going to tell you whether SDL2 will see your joystick.

30 minutes ago, soulsource said:

1.4 joysticks and gamepads do not work on Linux.

In this post GeneCash says his joystick is working for him on linux.

 

Link to comment
Share on other sites

I installed the wrong Advanced Fly By Wire by accident and  put the window's version on.

However when I tried to uninstall it CKAN just locked up to the point where it just stopped responding.

I killed the process but the window remained.

I logged out and back in to clear the window.

I then deleted the files manually but CKAN gui still thinks I have the mod installed and can't remove without locking up as above.

restarted PC.  Same thing

Have tried uninstalling from the command line and I get this:
 

 
	ruth@ruth-ubuntu:~$ ckan list
	KSP found at /home/ruth/.steam/steam/steamapps/common/Kerbal Space Program
	KSP Version: 1.4.3.2152
	Installed Modules:
	- AdvancedFlyByWire 1.8.0.5
- BetterTimeWarpCont 2.3.10
- ClickThroughBlocker 0.1.6.5
- DistantObject v1.9.1
- DistantObject-default v1.9.1
- DockingPortAlignmentIndicator 6.8.2
- EnvironmentalVisualEnhancements 2:EVE-1.4.2-2
- KerbalAlarmClock v3.9.1.0
^ KerbalEngineerRedux 1.1.5.1
- Kopernicus 2:release-1.4.3-2
- KSP-AVC 1.2.0.2
- KSPSteamCtrlr autodetected dll
- ManeuverNodeEvolved 4.0
- ModularFlightIntegrator 1.2.5.0
- ModuleManager 3.0.7
- PlanetShine 0.2.6.1
- PlanetShine-Config-Default 0.2.6.1
- RasterPropMonitor 1:v0.30.4
- RasterPropMonitor-Core 1:v0.30.4
- Scatterer 2:v0.0331b
- Scatterer-config 2:v0.0331b
- Scatterer-sunflare 2:v0.0331b
- SixCrewScienceLab 1.1
- SixSeatMk3cockpit 1.1
- Steamworks autodetected dll
- StockVisualEnhancements 3:1.3.0.4
- SVE-LowResolution 3:1.0.7
- SVE-Terrain 2.1.4
- TacFuelBalancer v2.18
- ToolbarController 1:0.1.6.7
- TriggerAu-Flags v2.9.3.0
- xScience vV5.15
Legend: -: Up to date. X: Incompatible. ^: Upgradable. ?: Unknown. *: Broken. 
ruth@ruth-ubuntu:~$ ckan remove AdvancedFlyByWire 1.8.0.5
I can't do that, 1.8.0.5 isn't installed.
Try `ckan list` for a list of installed mods.
ruth@ruth-ubuntu:~$



How can I perform a manual excision of Advanced Fly By Wire?

Ahh tried it without the version number and got this ( which explains the lock up ):

 
	ruth@ruth-ubuntu:~$ ckan remove AdvancedFlyByWire
About to remove:
	 * Advanced Fly-By-Wire (Windows, x64) 1.8.0.5
	Continue? [Y/n] y
Removing AdvancedFlyByWire...
Unhandled Exception:
System.ArgumentOutOfRangeException: Index and count must refer to a location within the string.
Parameter name: count
  at System.String.Remove (System.Int32 startIndex, System.Int32 count) [0x0004c] in <71d8ad678db34313b7f718a414dfcb25>:0 
  at CKAN.KSPPathUtils.ToRelative (System.String path, System.String root) [0x00064] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.ModuleInstaller+<>c__DisplayClass34_0.<AddParentDirectories>b__1 (System.String dir) [0x0004f] in <487ee44426e64f80af9072b3674c48a1>:0 
  at System.Linq.Enumerable+SelectManySingleSelectorIterator`2[TSource,TResult].MoveNext () [0x00051] in <c0502b9f220448589f6c0bfcd98a6c9b>:0 
  at System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].MoveNext () [0x0004e] in <c0502b9f220448589f6c0bfcd98a6c9b>:0 
  at System.Collections.Generic.HashSet`1[T].UnionWith (System.Collections.Generic.IEnumerable`1[T] other) [0x00026] in <c0502b9f220448589f6c0bfcd98a6c9b>:0 
  at System.Collections.Generic.HashSet`1[T]..ctor (System.Collections.Generic.IEnumerable`1[T] collection, System.Collections.Generic.IEqualityComparer`1[T] comparer) [0x0004b] in <c0502b9f220448589f6c0bfcd98a6c9b>:0 
  at System.Collections.Generic.HashSet`1[T]..ctor (System.Collections.Generic.IEnumerable`1[T] collection) [0x00007] in <c0502b9f220448589f6c0bfcd98a6c9b>:0 
  at CKAN.Extensions.ToHashSet[T] (System.Collections.Generic.IEnumerable`1[T] source) [0x00000] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.ModuleInstaller.AddParentDirectories (System.Collections.Generic.HashSet`1[T] directories) [0x0008a] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.ModuleInstaller.Uninstall (System.String modName) [0x00105] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.ModuleInstaller.UninstallList (System.Collections.Generic.IEnumerable`1[T] mods) [0x00131] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.CmdLine.Remove.RunCommand (CKAN.KSP ksp, System.Object raw_options) [0x0016d] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.CmdLine.MainClass.RunSimpleAction (CKAN.CmdLine.Options cmdline, CKAN.CmdLine.CommonOptions options, System.String[] args, CKAN.IUser user, CKAN.KSPManager manager) [0x003d8] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.CmdLine.MainClass.Execute (CKAN.KSPManager manager, CKAN.CmdLine.CommonOptions opts, System.String[] args) [0x0015b] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.CmdLine.MainClass.Main (System.String[] args) [0x000a8] in <487ee44426e64f80af9072b3674c48a1>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentOutOfRangeException: Index and count must refer to a location within the string.
Parameter name: count
  at System.String.Remove (System.Int32 startIndex, System.Int32 count) [0x0004c] in <71d8ad678db34313b7f718a414dfcb25>:0 
  at CKAN.KSPPathUtils.ToRelative (System.String path, System.String root) [0x00064] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.ModuleInstaller+<>c__DisplayClass34_0.<AddParentDirectories>b__1 (System.String dir) [0x0004f] in <487ee44426e64f80af9072b3674c48a1>:0 
  at System.Linq.Enumerable+SelectManySingleSelectorIterator`2[TSource,TResult].MoveNext () [0x00051] in <c0502b9f220448589f6c0bfcd98a6c9b>:0 
  at System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].MoveNext () [0x0004e] in <c0502b9f220448589f6c0bfcd98a6c9b>:0 
  at System.Collections.Generic.HashSet`1[T].UnionWith (System.Collections.Generic.IEnumerable`1[T] other) [0x00026] in <c0502b9f220448589f6c0bfcd98a6c9b>:0 
  at System.Collections.Generic.HashSet`1[T]..ctor (System.Collections.Generic.IEnumerable`1[T] collection, System.Collections.Generic.IEqualityComparer`1[T] comparer) [0x0004b] in <c0502b9f220448589f6c0bfcd98a6c9b>:0 
  at System.Collections.Generic.HashSet`1[T]..ctor (System.Collections.Generic.IEnumerable`1[T] collection) [0x00007] in <c0502b9f220448589f6c0bfcd98a6c9b>:0 
  at CKAN.Extensions.ToHashSet[T] (System.Collections.Generic.IEnumerable`1[T] source) [0x00000] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.ModuleInstaller.AddParentDirectories (System.Collections.Generic.HashSet`1[T] directories) [0x0008a] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.ModuleInstaller.Uninstall (System.String modName) [0x00105] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.ModuleInstaller.UninstallList (System.Collections.Generic.IEnumerable`1[T] mods) [0x00131] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.CmdLine.Remove.RunCommand (CKAN.KSP ksp, System.Object raw_options) [0x0016d] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.CmdLine.MainClass.RunSimpleAction (CKAN.CmdLine.Options cmdline, CKAN.CmdLine.CommonOptions options, System.String[] args, CKAN.IUser user, CKAN.KSPManager manager) [0x003d8] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.CmdLine.MainClass.Execute (CKAN.KSPManager manager, CKAN.CmdLine.CommonOptions opts, System.String[] args) [0x0015b] in <487ee44426e64f80af9072b3674c48a1>:0 
  at CKAN.CmdLine.MainClass.Main (System.String[] args) [0x000a8] in <487ee44426e64f80af9072b3674c48a1>:0 
ruth@ruth-ubuntu:~$ 

I still need to know  how to remove AFBW manually though so I can install the linux version

 

Edited by NewtSoup
Link to comment
Share on other sites

22 hours ago, AVaughan said:

The version of unity that ksp 1.4.x runs on use SDL2 for joystick input.   So you will need to have SDL2 installed, and you might need to configure it so unity detects your joystick.  See https://forum.unity.com/threads/no-joystick-detected.475870/#post-3215994 for more info on that.  I'm pretty sure JS-Test isn't using the new APIs that SDL2 is using, so I'm not sure it's going to tell you whether SDL2 will see your joystick.

In this post GeneCash says his joystick is working for him on linux.

 

You'll need SDL2 if you plan on using Advanced Fly-By-Wire (that's all explained on the Advanced Fly-By-Wire github page, together with the Advanced Fly-By-Wire install instructions). If however you think you can get your joystick working without Advanced Fly-By-Wire (I could only get the keys working, not the axes), you do not need to manually install SDL2, as Unity is statically linked against it. This static linkage is also what might cause my Advanced-Fly-By-Wire build (see my linked post) cause KSP to lock up, but there is an environment variable workaround (again, see my posting in the other thread). Oh, and regarding CKAN: I have no idea how to get it working properly. It more often bugged out than it actually worked for me, so I stopped using it a long time ago.

Link to comment
Share on other sites

I definitely have SDL2 installed, I even removed it and reinstalled it but I have no libSDL2.so on my system.

I do have a libSDL2-2.0.so.0 in /usr/lib/x86_64-linux-gnu though if that helps?

I'm still quite new to linuxing, I use it but I don't know much about the insides yet.

Edited by NewtSoup
Link to comment
Share on other sites

Actually, it's ok.  Regardless I have AFBW- Linux working now.  Having reinstalled all my mods it now shows up on the toolbar controller.  My joystick is recognised and I get a ton of options.  Thanks for all the help :)

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...