Jump to content

joysticks for GNU/Linux


fommil

Recommended Posts

I have a Logitech Extreme 3D Pro and although it is fantastic for KSP, the throttle has never worked on GNU/Linux for me. The throttle only goes up to half way and I think it's because the linux kernel is sending a range of [-Min, +Max] instead of [0, Max]. I've never been able to fix this, and although this isn't the main topic of this post, I'd be interested to know if anybody has successfully got this working (please no suggestions unless you've confirmed that it actually works on GNU/Linux - I've tried pretty much everything you could suggest right down to considering compiling a custom kernel).

I was wondering if anybody has any suggestions for a better joystick that they can confirm does work on GNU/Linux and gives the full range of throttle. For example, I'm considering the Thrustmaster T-Flight Hotas X and a few others, but I won't buy anything unless I know for sure that it works.

Link to comment
Share on other sites

I've been using a Logitech Extreme 3d Pro with Linux since around 0.25. Sometimes on Ubuntu, but this machine has been running an up-to-date Debian testing for the last couple of years. Admittedly, I haven't bothered mapping the throttle axis to anything since building my own throttle, but should hopefully provide some insight.

Firstly, I get much more reliable results if I calibrate the joystick first. I use jstest-gtk for this. Never bothered figuring out how to save the calibration settings and load them up, just run through the calibration routine every time I start the game.

1 hour ago, fommil said:

The throttle only goes up to half way and I think it's because the linux kernel is sending a range of [-Min, +Max] instead of [0, Max].

Not quite. A calibration program like jstest or jstest-gtk will show that the reported values are about what you'd expect, in the range 32765 to -32765 (the values are inverse, with the highest being at the bottom of the dial). The fun part happens when KSP starts up. If you launch it in a terminal, you'll see it initialising controllers, and remapping values. With the throttle all the way at the bottom of the dial, my KSP install logs this when I start it:

Importing game controller configs
/dev/input/js0: driver version: 2.1.0 (20100)
/dev/input/js0: fd 4, buttons 12, axes 6, name Logitech Logitech Extreme 3D
/dev/input/js0: axis  0: raw      0, mapped 0.000000
/dev/input/js0: axis  1: raw      0, mapped 0.000000
/dev/input/js0: axis  2: raw      0, mapped 0.000000
/dev/input/js0: axis  3: raw  32767, mapped 0.000000
/dev/input/js0: axis  4: raw      0, mapped 0.000000
/dev/input/js0: axis  5: raw      0, mapped 0.000000

Axis 3 is the throttle, and its value of 32767 is being remapped by the game to be 0. That is, the game is internally mapping the lowest position to the middle of the dial, and that's why you only able to control the throttle over half of its range.

The solution is to ensure the throttle axis is in the middle of the dial and reporting a 0 before the game starts. Again, this is fairly simple using jstest-gtk. Just fire it up, wiggle the throttle until jstest-gtk is reporting a value of 0 for axis 3, then exit it and start KSP. It logs this for axis 3:

/dev/input/js0: axis  3: raw      0, mapped 0.000000

and you should have full control of the throttle in game.

Given this throttle axis mapping happens in game, I'm almost completely certain that you'll see the same behaviour from any other joystick.

Link to comment
Share on other sites

29 minutes ago, stibbons said:

The solution is to ensure the throttle axis is in the middle of the dial and reporting a 0 before the game starts. Again, this is fairly simple using jstest-gtk. Just fire it up, wiggle the throttle until jstest-gtk is reporting a value of 0 for axis 3, then exit it and start KSP. It logs this for axis 3:

wow! This worked! I've always recalibrated the joystick before playing but I don't believe I've ever centered this axis. What a totally weird bug in KSP, I really wish they'd fix it. But I have a workaround now, so I guess any joystick would work well.

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...