Angepinnt Joystick-Konfiguration per XML

      Joystick-Konfiguration per XML

      Aktuell kann man im Arena Commander noch nicht seinen Joystick bzw. HOTAS konfigurieren, sondern muss mit der Belegung leben, die CIG eingestellt hat. Für ein paar ausgesuchte Modelle (Warthog, X-55) bietet CIG eine XML-Datei an, die man einspielen kann, aber selbst dann ist die Konfiguration vielleicht nicht so, wie man sie gerne hätte. Und wer irgendein anderes Modell besitzt, hat vielleicht Pech und kaum Tasten darauf belegt.

      Wie manche vielleicht schon wissen, kann man diese XML-Dateien auch hernehmen, für sich umschreiben und somit seine eigene Konfiguration erstellen.
      Theoretisch sollte man damit alle Funktionen auf Joystick, Tastatur und Maus belegen können – sofern man die richtigen Einträge für <action> und <input> kennt. ;)

      Für den Cyborg 3D von Saitek habe ich mir mal eine Konfiguration gebastelt, mit der ich gut zu recht komme (Gieren auf X-Achse, Rollen auf Z-Achse, ersten 3 Waffengruppen auf dem gleichen Feuerknopf...). Die Datei ist hier zu finden.
      Im Arena Commander muss man diese Datei über die Konsole aktivieren. Dazu mit der ^-Taste die Konsole öffnen, in der Textzeile pp_rebindkeys <Dateipfad> eingeben und mit Enter bestätigen. Hat es geklappt, kommt eine entsprechende Rückmeldung. Statt <Dateipfad> gibt man natürlich den Speicherort der Datei an.
      Man kann sich damit auch ganz leicht seine eigene Datei schreiben – folgend eine kurze Anleitung.

      1. Meine Beispieldatei (Layout_rhaven_cyborg3d.xml) mit einem Texteditor öffnen. Nicht mit Word oder so.

      2. Die einzelnen Belegungen sind in Actionmaps zusammen gefasst, deren Name recht eindeutig ist. Also <actionmap name="spaceship_weapons"> ... </actionmap> beinhaltet z.B. alle Belegungen für das Abfeuern der Waffen. (Ich gehe davon aus, dass auch alle Einträge in der richtigen Actionmap stehen müssen.)

      3. Eine einzelne Belegung hat nun folgendes Format:
      <action name="v_attack1_group1">
      <rebind device="joystick" input="js1_button1" />
      </action>


      Bei <name> steht die Funktion, die man belegen will. v_attack1_group1 steht also für das Abfeuern der Waffengruppe 1 (die Einträge sind meistens auch eindeutig).
      Bei <input> steht jetzt die gewünschte Belegung. js1_ ist der Joystick selbst. Hat man ein HOTAS, bekommt man die Knöpfe am Gashebel mit js2_.
      js1_button1 wäre dann in unserem Beispiel der Knopf 1 am Joystick, js2_button3 Knopf 3 am Gashebel. Die Nummern der Knöpfe sieht man normal im jeweiligen Joystick-Treiber.
      Andere Imputs wären z.B. js1_x (X-Achse am Joystick) oder js1_rotz (Z-Achse am Joystick).

      4. Ein paar überschüssige Einträge, die man aber vielleicht noch brauchen könnte, habe ich auskommentiert. Um sie zu aktivieren muss man nur beim jeweiligen Einträg das <!-- und --> weglöschen und den input="" ausfüllen.

      5. Die Datei speichern und wie oben beschrieben mit pp_rebindkeys einlesen. Eine Konfiguration bleibt auch nach einem Neustart des Spiels erhalten, muss also nur einmal eingelesen werden.
      Sollte man damit seine Konfiuguration zerschießen und nichts mehr funktionieren, müsste ein Löschen des User-Ordners wieder den Anfangszustand herstellen. Diesen findet man unter StarCitizen\CitizenClient\USER.


      Hoffe, das hilft dem einen oder anderen. Wenn ich endlich mein HOTAS habe und bis dahin die Konfiguration ingame noch nicht geht, werde ich mir die möglichen Einträge weiter im Detail ansehen.
      Bis dahin viel Spaß damit! :)


      "The saddest aspect of life right now is that science gathers knowledge faster than society gathers wisdom."
      Isaac Asimov
      Na dein System lass mal ganz, bitte!

      Das aller Schlimmste, das passieren könnte, ist dass man Star Citizen neu installieren muss. Aber das halte ich für sehr unwahrscheinlich. Da müsste es schon einen groben Programmierfehler geben. Normalerweise sollte die Konfiguration im USER-Ordner oder unter AppData gespeichert sein. ;)


      "The saddest aspect of life right now is that science gathers knowledge faster than society gathers wisdom."
      Isaac Asimov
      ....kann man die bestehende "Default" XML auslesen? - dieses würde es wesentlich vereinfachen das Ganze zu konfigurieren.
      ....oder kann ich auch nur einzelne Tasten neu belegen ohne gleich den gesamten Stick neu zu mappen? - dann müsste ich ja alle Tasten einem Befehl zuordnen.

      Mit pp_rebindkeys überschreibst du nur die bestehende Konfiguration. Eine Tastenbelegung, die dir schon passt, braucht du nicht nochmal angeben. Außer eventuell bei einer Doppelbelegung, dann müsste man einen Eintrag überschreiben.

      Die Grundeinstellung auslesen wäre natürlich fein, dann hätte man gleich alle möglichen Actions und Inputs zur Hand. ;)
      Vielleicht wird man da ja im RSI-Forum oder bei Google fündig.


      "The saddest aspect of life right now is that science gathers knowledge faster than society gathers wisdom."
      Isaac Asimov
      Danke! Das erspart mir viel Arbeit - momentan jedenfalls, da ich nur 3 Tasten neu belegen muss - ansonsten passt es nämlich, da ich beim Stick im Hardware-Mapping Tasten und Achsen untereinander tauschen kann.

      Bin aber parallel über das hier gestolpert - da dürften evtl. schon alle Key-Bindings enthalten sein ;) dann bräuchte man nur noch den entsprechenden Ansteuerungsbefehl der XML für das HOTAS....

      So, habe fertig! Leider nur soweit es SC momentan zulässt - aber immerhin etwas.

      Die Umstellung vom Gieren auf die X-Achse war ich anfangs sehr skeptisch gegenüber eingestellt - ich komme halt hauptsächlich aus der Flugsimulatorecke und da ist nun mal das Rollen, bzw. Querruder, auf der X-Achse und das Gieren ist zu vernachlässigen (fast nur bei Zielfeinausrichtung, bzw. Ausrichtung im Landeanflug). Da es aber in Schwerelosigkeit diese physikalischen Gegebenheiten in der Form nicht gibt, musste ich mir erst einmal verinnerlichen, dass eine seitliche Drehbewegung durchaus möglich ist und auch Sinn macht und hier das Rollen eine nachgelagerte Bedeutung bekommt. Somit habe ich die Achsen vertauscht und die Abschussrate ging rasant nach oben.

      Den zuvor genannten Link mit den Keybindings der Tastatur ist echt Gold wert, da dort alle Befehlszeilen ausgelest werden können - man braucht dann nur "Keyboard" durch "Joystick", und die "Taste" mit dem "Button" in der Datei "Export.XML" zu erstetzen. Jedoch sind hier beim Joystick im Hintergrund viele Befehle noch nicht gelistet und können somit auch nicht angesteuert werden. Aber man hat schon mal einen Überblick was alles bedienbar, bzw. angesteuert werden kann.

      Nochmals Danke Rhaven für dein Tutorial!

      See you in the verse

      Firefox

      PS: bzgl der Gatling: Munition ist genug da, die Mechaniker und Wartungscrew haben Mist gebaut. Siehe "Wer war das?"

      So ging es mir auch, ich komm ja auch aus der Flugsimulatorecke. Aber im Weltraum gelten da andere Regeln. Und wie du schreibst, die Abschussrate geht dann doch merklich nach oben. ;)

      btw: Mein Warthog wurde heute versandt...


      "The saddest aspect of life right now is that science gathers knowledge faster than society gathers wisdom."
      Isaac Asimov
      Mal etwas "Fachliteratur" für die Motivierten. ;)

      star-citizens.de/topic/4568-wa…mbat-rudder-analogue-yaw/

      forums.robertsspaceindustries.com/discussion/comment/2666771

      stantonspacebarn.com/tools/actionmaps/#/


      Und pp_rebindkeys ohne Dateipfad dahinter soll die Steuerung wieder auf default zurück stellen. Eventuell muss man einen Client-Neustart machen.


      "The saddest aspect of life right now is that science gathers knowledge faster than society gathers wisdom."
      Isaac Asimov
      Nachdem ich mich gestern fürchterlich über die hirnrissige Joystickbelegung die Standardmäßig vergeben wird afgeregt habe (Z und X Achse vertauscht sowas kann sich doch nur ein vollidiot einfallen lassen) begann ich ein wenig den Joystick zu Scripten und nun sind die Achsen alle wunderbar nur habe ich nun das Problem das mein Gashebel nicht mehr funktioniert und ich habe null Plan wieso.

      Welchen Stick hast du denn?
      Evtl. musst du per XML den Schub mit "Throttlez" oder "Throttley"erneut belegen - und darauf achten ob es JS1 oder JS2 ist - kommt halt darauf an welchen Stick/Hotas du verwendest und ob der Throttle-Block seperat angesteuert wird.

      See you in the verse

      Firefox

      Ja ich glaube eh zu wissen wo der Fehler liegt es war nur gestern dann schon 2:45 Uhr und ich war ziemlich müde.

      Bis auf die X und Z achse war die Tastenbelegun ja auch sonst gut also werde ich heute mal wieder den Standard einstellen und dann dort einfach nur noch Z und X achse tauschen dann sollte cih keien Probleme mehr beim fliegen haben.

      Da meine Joystickachsen nun endlich perfekt funktionieren wollte ich nun die Tastenbelegung ändern leider haue ich mir damit jedesmal die XML so zusammen das SC sie nicht mehr aktzeptieren will, wisst ihr eventuell wo die Standard XML steht also die Datei wo die Defaultkonfiguration festgelegt ist?

      Mir geht es darum dass ich die Raketen auf einer nicht benutzten Taste meines Thruster benutzen will und die dritte Feuertaste auf meinem Joystick auf die Raktetentaste legen möchte, denn da wo die derzeit liegt ist die dritte Feuerfunktion einfach nur unbrauchbar.

      Das ist gar nicht mal so schwer - habe ich bei mir auch gemacht - also Tasten umbelegt usw. - mom ich schreibe es in einem extra Posting gleich detailliert.
      Vorab - die Defaultbelegung habe ich auch schon vergeblich gesucht - es gibt aber Abhilfe - die Default-Einstellung kannst du jedoch ganz einfach wieder herstellen, wenn du in der Befehlseingabe einfach nur "pp_rebindkeys" eingibst - also ohne zusätzlichen Pfad.
      Den Rest poste ich dir gleich - oder wie Chris Roberts es sagen würde: "Soon" ;)

      See you soon

      Firefox

      Auf Default rückstellen ist nicht mein Problem das weiß ich wie es geht aber um die Syntax vollständig zu erfaßen wäre die Defaultkonfiguration ganz nett, es geht nämlich um folgendes, die Waffen Konfigurationen werdne angeschrieben mit;

      attack1_group2
      attack1_group3

      Ergo müsste somit der dritte Waffenslot doch group1 sein oder? Tja und da ist auch offenbar mein Denkfehler, ich werde heute abend mal meine XML posten eventuell bringt dass dann mehr Klarheit.

      Ich verstehe glaub ich ein wenig das Problem. Die Missiles werden nicht über die Waffengruppen angesteuert sondern über zwei Befehlszeilen, welche auf dem gleichen Button liegen können. Die Waffengruppen sind hingegen einfach in 1, 2 und 3 aufgelistet, wobei 1 wohl immer auf dem Trigger liegt und somit nicht nochmal extra neu belegt werden muss - so zumindest bei mir.

      Hier ist mal meine Umbelegung von den Waffengruppen und den Raketen mit den entsprechenden Ansteuerbefehlen:

      Waffenzuordnung:

      <actionmap name="spaceship_weapons">
      <action name="v_attack1_group2">
      <rebind device="joystick" input="js1_button2" />
      </action>
      <action name="v_attack1_group3">
      <rebind device="joystick" input="js1_button4" />
      </action>
      </actionmap>

      Raketenaufschaltung:

      <actionmap name="spaceship_targeting">
      <action name="v_target_missile_lock_focused">
      <rebind device="joystick" input="js1_button3" />
      </action>
      </actionmap>

      Raketenauslösung:


      <actionmap name="spaceship_missiles">
      <action name="v_weapon_launch_missile">
      <rebind device="joystick" input="js1_button3" />
      </action>
      </actionmap>


      Ich hoffe es hilft ein wenig dein Problem zu lösen, bzw. ich habe es richtig interpretiert. Ansonsten sende einfach mal deine XML, wie sie jetzt ist und eine Befehlszuordnung, wie du sie gerne hättest - dann wird das schon ;)

      See you in the verse

      Firefox

      PS: Die komplette (vorläufige) Befehlszuordnung habe ich weiter oben verlinkt (ist zwar für die Tastatur, aber man kann die Befehlszeilen klar rauslesen) und Rhaven hat auch sehr hilfreiche Links oben gepostet.

      das mit den Raketen ist mir klar und ich will auch nichts doppelt belegen sondern ich will schlicht die Raketen auf den Throttle legen und die derzeitige Raketentaste zur dritten feuertaste machen, derzeit ist es so dass bei meinem Joystick


      Trigger Dachkanone der Hornet, L1 Flügelkanonen, L3 Raketen und R3 Frontkanone der Hornet, nur die R3 Taste ist so sau blöde zu drücken dass ich damit nicht klar komme weswegen ich die Frontkanone auf L3 legen möchte und die Raketen auf eine Taste am Throttle.

      Aber wenn du sagst das der Trigger immer belegt ist und nciht umgelegt werdne muss dann soltle es reichen wenn ich groupe 1 und 2 neu belege.

      UPS! - Wir haben den gleichen Stick!!!

      Schau dir meine XML an und lege einfach die Raketenaufschaltung / -launch auf z. B. die Taste 8 (....js1_button8) am Throttel - oder auch eine andere Taste.

      und die Frontkanone (group3) ist bei mir auch auf L3 (...js1_button4)- also einfach folgende Zeile einflicken:

      <action name="v_attack1_group3">
      <rebind device="joystick" input="js1_button4" />
      </action>

      sollte funktionieren

      PS: Wenn du nur 2 Tasten unteinander tauschen willst, kannst du dieses bei dem Stick noch einfacher mit dem im Stick integrierten Mapping machen - so habe ich den Twist auf die Wippe gelegt, aber vorher auf eine andere Achse getauscht.