Ich habe den Joystick ThrustMaster T.16000M FCS, bestehend aus zwei Teilen mit auch zwei USB-Anschlüssen.
Und da KSP diese Beiden nicht zuverlässig unterscheiden kann, sind die Buttons nach so manchem Neustart oder USB Stecker wechsel vertauscht.
Wirklich sehr nerviges Problem, jetzt jedes mal alle Tasten neu zu konfigurieren.
Also schnell nen paar Java Zeilen geschrieben und dieses nervige Problem selbst (nicht behoben aber zumindest) per Ein-Klick erträglich gemacht.
Diese Java-KSP-Mod tauscht einfach in der settings.cfg die Joystick-Zuordnungen wieder um, falls sie vertauscht sind.
Gilt nur wenn zwei Joystick´s angeschlossen sind, also Joystick 1 wird mit Joystick 2 getauscht.
Ausführen der Mod:
- Es muss Java installiert sein
- Die Mod besteht aus zwei Datein: "KSP_switch_Joystick.jar" und "KSP_switch_Joystick.bat"
- Die Mod muss entweder in das KSP Hauptverzeichnis kopiert werden, in dem sich auch die settings.cfg befindet oder die settings.cfg wird einfach in einen beliebigen Ordner, in dem meine Mod liegt kopiert.
- Ausführen einfach in dem die KSP_switch_Joystick.bat gestartet wird.
- Die nun von der Mod erzeugte settings_new.cfg nun mit der bestehenden settings.cfg umbenennen und austauschen, fertig.
Beide Datein haben eine zusätzliche Dateiendung .txt bekommen, die nur für den Download hier verwendet wurde.
Nach dem Download der Datein, diese zusätzliche Dateiendung ".txt" wieder entfernen!
Ach ja, und wenn jemand Lust hat, kann er das gerne für die, die kein Java haben, als .exe umschreiben.
Hier noch der Java-Code:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
/***************************************************************************************************
* *
* Dieses Programm tauscht die Joystick Nummern von Joystick1 mit Joystick2 aus. *
* Ist nur für das Spiel KSP konzipiert. *
* Es wird die Datei: "settings.cfg verändert! *
* *
* Die settings.cfg muss in dem Verzeichnis liegen, von dem diese Programm ausgeführt wird! *
* Nach dem Ausführen des Programmes wird eine "settings_new.cfg" Datei erzeugt *
* die dann in den KSP Ordner zurück kopiert und umbenannt werden muss! *
* *
* secondary = Joystick2ButtonX ---> secondary = Joystick1ButtonX *
* secondary = Joystick1ButtonX ---> secondary = Joystick2ButtonX *
* *
***************************************************************************************************/
public class KSP_switch_Joystick_MAIN
{
public static void main(String[] args) throws Exception
{
BufferedReader read = new BufferedReader(new FileReader("settings.cfg"));
BufferedWriter writ = new BufferedWriter(new FileWriter("settings_new.cfg"));
while(read.ready())
{
String line = read.readLine();
String lineNew;
if (line.contains("Joystick1Button")) lineNew = line.replaceAll("Joystick1Button","Joystick2Button");
else lineNew = line.replaceAll("Joystick2Button","Joystick1Button");
lineNew = lineNew + "\n";
writ.write(lineNew);
}
read.close();
writ.close();
}
}