Project

General

Profile

Bug #22165

New manoeuvre mode set Steam Controller bindings to "Menu" action se

Added by lhervier almost 5 years ago. Updated almost 3 years ago.

Status:
Confirmed
Severity:
Low
Assignee:
-
Category:
Input Devices and Settings
Target version:
-
Start date:
05/08/2019
% Done:

10%

Version:
Platform:
Windows
Expansion:
Core Game
Language:
English (US)
Mod Related:
No
Votes:
Arrow u r green
Arrow d r red

Description

When in Flight mode or in Map mode, if I click on the new "Manoeuvre" button, the Steam Controller bindings are set to the "Menu" action set, instead of staying in the current mode (Flight or Map). This is visible in the message displayed on the top right corner of the screen.

This implies that - for example - the left target is now a left click instead of thrust decrement, making the rocket impossible to pilot.

History

#1 Updated by Doughnutz almost 5 years ago

  • Subject changed from New manoeuvre mode set Steam Controller bindings to "Menu" action set to New manoeuvre mode set Steam Controller bindings to "Menu" action se
  • Status changed from New to Confirmed
  • % Done changed from 0 to 10
  • Language English (US) added
  • Language deleted (Français (French))

Can confirm this, also if maneuver mode is selected and then a kerbal is eva'd, you have to swap view back to the spacecraft to be able to swap and confirm which mode you are in and then swap back to the kerbal to continue eva for steam controller to use correct control set for the kerbal and eva. Very frustrating at times.

#3 Updated by lhervier over 3 years ago

Also breaks Steam bindings for other controllers like XBox One or PS4.

#4 Updated by lhervier almost 3 years ago

Steam Controller support is totally broken in 1.11. No action set changes are triggered. The game stay on the "Menu Controls" Action Set.
But fortunately, the support is back again in 1.12.0... with the same bug.

I made some "research", and found that in your "GetModeForCurrentContext" method of your "KSPSteamController" class of your "KSPSteamCtrlr" plugin (GameData/Squad/Plugins/KSPSteamCtrlr.dll), you don't switch/case the new values added to the FlightUIMode enumeration in 1.6. Patch is trivial.

Anyway, all the job to communicate with the Steam Controller (the hard part) is done in your SteamController public class, which is well documented. So, I wrote my own plugin. It is present here : https://github.com/lhervier/KSP-Bug22165Fix

I wrote it from scratch, but can't help gaining time by decompiling yours... I suppose this is a problem even if the two codes seems very different. Just tell me, and I will make my repository private.

Also note that Steam Controller API is deprecated in favor of the new SteamInput API. It may be good idea to upgrade.

#5 Updated by lhervier almost 3 years ago

Playing with this mod for 5 days now, and it seems to work. So, I release the first version.
It is available here : https://github.com/lhervier/KSP-Bug22165Fix/releases/tag/1.0

To install :

- Remove Squad dll (GameData/Squad/Plugins/StreamCtrlr.dll)
- Unzip the release in GameData folder so you have a GameData/SteamController/SteamController.dll file

You can look at the logs in the KSP.log file. Just search for the "[SteamController]" string.

Only tested on Windows x64.

Also available in: Atom PDF