Joystick config und standard.xml

Hier gehört alles rein was so Diesseits und Jenseits im täglichen Zirkus-Flusiland passiert
Huepper
Beiträge: 5
Registriert: Mi 16. Mai 2018, 22:08

Joystick config und standard.xml

Beitragvon Huepper » Di 12. Jun 2018, 00:33

Hallo und guten Abend,

ich weiß ich bin mit meinem Anliegen hier thematisch nicht richtig, aber vielleicht hat doch jemand einen SDK/anderen Tip für mich.
Ich besitze eine Lizenz von dem P3Dv4.2Prof auf Windows10Prof. deutsch

Als Joystick benutze ich einen TM HOTAS Warthog.
Dieser Stick hat zwei Gashebel, welche für drei/viermotorige etwas suboptimal sind. Als Lösung nehme ich vJoy (virtueller Joystick) mit maximal 16 Instanzen eines Josticks. Brauchen tue ich davon allerdings nur zwei Instanzen:

einen virtuellen Joystick für normalen Schub
den anderen virt. Stick für Umkehrschub

Praktisch ermittle ich die Daten der beiden physikalischen Gashebel und berechne/verteile diese auf die vJoys, die wiederum für den P3D konfiguriert werden/sind.
In dieser Kombination kann ich zwischen 0 bis 4 Motoren ansteuern/manipulieren.

Das ganze funktioniert perfekt, die Runtime des P3D erkennt die beiden vJoy Instanzen, nennen wir sie vJoy 1 und vJoy 2. Beide vJoy's sind für den Flusi konfigurierbar, nur abspeichern in die Standard.xml werden sie als vJoy (ohne die Instanz #).
Das hat zur Folge: sowie die Standard.xml vom P3D erneut eingelesen wird, werden vJoy 1 und vJoy 2 identsich konfiguriert. Das heißt, ich muß vJoy 2 immer manuell danach korrigieren.

Ich hoffe bis hier verständlich zu sein. Mein Versuch, dieses Lockheed Martin zu erklären schlug fehl, mein Englisch ist noch grottenschlechter als die deutsche Sprache

Ich meine, dass der FSX und P3Dv1-3 die Instanzen auch speichern konnten.

Auch FSUIPC erkennt und speichert die unterschiedlichen vJoy Instanzen. Nur mit diesem Tool erreiche ich nicht das was mir vorschwebt.
Übergabe der Throttle-Values über Simconnect bringen mich auch nicht zu 100% an das Ziel heran, zu unterschiedlich sind die einzelnen Flugzeuge - bzw. deren Implementierungen.
Nur die Übergabe durch Joystick scheint genormt zu sein.

LINDA (für die Buttons) ist auch kein Problem für vJoy, nur der P3Dv4 muckt.

Habt ihr eine Idee wie das Problem zu lösen wäre.

Vielen Dank
-Uwe

Benutzeravatar
Christian
Administrator
Beiträge: 1873
Registriert: Mi 2. Dez 2015, 15:21
Wohnort: Dortmund
Kontaktdaten:

Re: Joystick config und standard.xml

Beitragvon Christian » Mi 13. Jun 2018, 13:30

Hallo Uwe.

Ein herzliches Willkommen im Forum :)

Es sieht wohl nicht so aus, dass jemand bei dem Thema eine Lösung weiß, ich muss da leider auch passen. Das könnte auch durchaus daran liegen, dass dieses Forum eher auf Fragen und Antworten des Szeneriedesign ausgelegt ist - auch wenn es nicht ausdrücklich so deklariert ist. Dennoch sind Fragen jeder Art gerne willkommen und ich hoffe, dass sich vielleicht doch noch jemand findet, der bei dem von Dir gesetzten Thema etwas beisteuern kann.
Lieben Gruß
Christian


MSFS - ASRock B560 Steel Legend - Intel i7 11700K - 64 GB Kingston Fury 3200 - ASUS RTX 4080 16GB TUF - Samsung 970 EVO Plus 1TB GB - Samsung 980 EVO 1TB

Huepper
Beiträge: 5
Registriert: Mi 16. Mai 2018, 22:08

Re: Joystick config und standard.xml

Beitragvon Huepper » Sa 16. Jun 2018, 01:09

Hallo Christian,

vielen Dank für Dein freundliches Willkommen! Mir ist schon klar hier ein etwas exotisches Thema für die Gruppe eingebracht zu haben. Aber ich dachte mir, wer Szenerien entwickelt, der hat auch etwas mit dem Flusi SDK zu tun. Eventuell ist einer von euch über eine Funktion gestoßen, mit der man on the fly Zuordnungen vom Joystick zum Flusi vornehmen kann. Oder etwas ähnliches, wie Elektronik, die man mit Software zum ansteuern von Joystick-Achsen nehmen kann, oder ganz was anderes. Es war mir einen Versuch wert hier zu fragen.

Lieben Gruß
-Uwe

EDFP

Benutzeravatar
Christian
Administrator
Beiträge: 1873
Registriert: Mi 2. Dez 2015, 15:21
Wohnort: Dortmund
Kontaktdaten:

Re: Joystick config und standard.xml

Beitragvon Christian » So 17. Jun 2018, 14:06

Hallo Uwe.

Den Eingangsbeitrag von Dir hatte ich beim ersten Mal lesen noch überflogen, habe ihn mir aber gerade noch Mal genauer durchgelesen. Eines vorweg. Für die Buttonprogrammierung verwende ich LINDA, für die Achsenprogrammierung FSUIPC. Aber von vJoy hatte ich bisher noch nicht sehr viel gelesen oder gehört. Wenn ich das richtig verstehe, dann möchtest Du mit vJoy den Schub regulieren - den Schub und den Umkehrschub!?

Dazu benötigt man meines Wissens nach nur FSUIPC, ein weiteres Extra-Tool benötigt man dafür eigentlich nicht. Der Schubregler bei mir (ein Schiebepoti) ist FSUIPC programmiert. Er ist kalibiriert und der Großteil des Wirkungsweg ist für den Schub vorbehalten. Aber durch eine geschickte Programmierung ist ein kleiner teil des Wirkungsweg für den Umkehrschub vorbehalten. Das heißt, der Schieberegler ist so kalibiriert/programmiert, dass er sowohl für den Schub als auch für den Umkehrschub fungiert. Und das funktioniert annähernd perfekt. Für den AS Airbus so wie für alle anderen Flieger mit Umkehrschub.

Also verstehe ich Dich richtig, du möchtest auf Deinem Schubregler sowohl die Funktion für den Schub als auch für den Umkehrschub legen?
Lieben Gruß
Christian


MSFS - ASRock B560 Steel Legend - Intel i7 11700K - 64 GB Kingston Fury 3200 - ASUS RTX 4080 16GB TUF - Samsung 970 EVO Plus 1TB GB - Samsung 980 EVO 1TB

Benutzeravatar
Christian
Administrator
Beiträge: 1873
Registriert: Mi 2. Dez 2015, 15:21
Wohnort: Dortmund
Kontaktdaten:

Re: Joystick config und standard.xml

Beitragvon Christian » So 17. Jun 2018, 15:00

Hab etwas Information zusammengfasst. Hoffe dass daraus etwas besser ersichtlicht wird, was mit Schub.- und Schubumkehr auf einem einzigen/einzelnen Schubregler gemeint ist.

Zunächst muss man den Regler in FSUIPC kalibrieren. Wichtig ist hier, dass man nicht den vollen Ausschlag kalibriert! Für FullThrottle nimmt man zunächst den vollen Ausschlag: 16838. So wie im Bild zu sehen ist. Aber nach unten hin lässt man etwas Spiel und kalibriert bis etwa -12800. Die verbliebenen 3580 sind dann für den Umkehrschub reserviert.

Karteireiter für Kalibrierung in FSUIPC
p3dv4_schubumkehr_kalibrierung.jpg
p3dv4_schubumkehr_kalibrierung.jpg (55.52 KiB) 10277 mal betrachtet



Der Umkehrschub wird dann in der Achsenzuweisung eingestellt, siehe Bild:


Karteireiter für Achsenzuweisung in FSUIPC
p3dv4_schubumkehr_achsenzuweisung.jpg
p3dv4_schubumkehr_achsenzuweisung.jpg (59.19 KiB) 10277 mal betrachtet



Hier ist eigentlich nicht viel zu sagen, weil die Angaben direkt der Abbildung entnommen werden können. Sicher bedarf es etwas Anpassungen auf das eigene Steuergerät. Aber so wie es hier bschrieben ist funktioniert es bei mir zuverlässig und gut.

Hier die Einträge aus der FSUIPC.ini (Achseneintrag 9&10):

Code: Alles auswählen

[Axes]
.
.
.
.
.
9=2S,256,F,65765,0,0,0   -{ TO SIM: AXIS_THROTTLE_SET }-
10=2S,BR,-16384,-13674,65602,0   -{ TO SIM: AXIS_THROTTLE_SETEntering=THROTTLE_DECR }-
Lieben Gruß
Christian


MSFS - ASRock B560 Steel Legend - Intel i7 11700K - 64 GB Kingston Fury 3200 - ASUS RTX 4080 16GB TUF - Samsung 970 EVO Plus 1TB GB - Samsung 980 EVO 1TB

Huepper
Beiträge: 5
Registriert: Mi 16. Mai 2018, 22:08

Re: Joystick config und standard.xml

Beitragvon Huepper » Di 19. Jun 2018, 02:02

Hallo Christian,

vielen Dank, dass Du Dich meiner Seele annimmst !

Wenn ich das richtig interpretiere, da reservierst Du etwa (überschlagene) 12% für den Reverser, um die 2% Totpunkt, und die restlichen 86% für den Schub. Wenn ich den Hebel in den 12% Reverser fahre, so pulst der "decr Throttle" (so als würde ich die F2 gedrückt halten). Das ist sehr tricky, Respekt !

Was ich eigentlich möchte liegt hier in diesem Artikel beschrieben vor

https://forum.simflight.com/topic/69388 ... se-toggle/

das ist praktisch die Mutter meines Throttle Managers. Dieses damalige Lua-Script fand/bzw. finde ich genial, funktioniert aber anscheinend nur, wenn die Anzahl der physikalischen Regler der Anzahl der Motoren gleicht. Ich habe aber nur zwei Regler und wenn man diese über FSUIPC auf bis zu vier Motoren bindet, so gibt es im Reverser Fehlfunktionen der Triebwerke 3(sehr stark) und 4 . Ich habe mehrfach versucht das Lua-Script umzuschreiben, aber es hat nichts genutzt, das Problem blieb.

Jahre später habe ich nun meinen eigenen Manager, der über Simconnect Variablen liest und über vJoy Daten an den P3Dv4 übermittelt. Es ist die einzigste Variante, die für mich verlässlich funktioniert.
Rein über Simconnect oder über FSUIPC, bzw. über FSUIPC SDK (Schnittstelle) will nicht zu 100%.
Wermutstropfen ist die fehlerhaften Abspeicherung/Laden der vJoy Instanzen durch den P3Dv4, die ich manuell zur Laufzeit des P3D korrigieren muss.

Für X-Plane habe ich ähnliche Probleme, denn über die Schnittstelle XPUIPC oder der Zugriff auf die DataRefs kann der Zugriff von Flieger zu Flieger unterschiedlich sein, bis ohne Insiderwissen unmöglich.
Die Instanzen von vJoy erkennt X-Plane und speichert/lädt die Konfiguration sauber. Auch hier eine Kombination, dieses mal von vJoy und XPlaneConnect.

Lieben Gruß
-Uwe

PS.: Info zu dem vJoy

mit diesem Treiber kann man bis zu 16 virtuelle Joysticks dem Windows PC zuweisen. vJoy macht aber erstmal von sich aus nichts, es braucht einen Feeder (ein Programm welches vJoy mit Daten füttert). Dafür gibt es ein paar Programme mit denen man Spiele konfigurieren kann, um z.B. die Maus einer Joystick Achse zuzuweisen, oder man entwickelt etwas eigenes. Da Simconnect für den 64bit P3D auf C++ von Microsoft Visual Studio 2017 (im Basispaket Freeware) basiert, so habe ich mir diesen für die Entwicklung des Feeder installiert. Das Anzapfen von realen Joysticks geschieht mit der SDL2 Bibliothek.

Huepper
Beiträge: 5
Registriert: Mi 16. Mai 2018, 22:08

Re: Joystick config und standard.xml

Beitragvon Huepper » Mi 31. Okt 2018, 01:11

Einen schönen guten Abend,

ich konnte eine Lösung für mein vJoy Problem finden und da es auch Leute mit identischen Eingabegeräten auch treffen kann, da wollte ich nur kurz noch eine Info hier posten.

Der P3Dv3/4 arbeitet mit Raw Input (ich glaube das nennt sich auch XInput), welches von MS 2012 als Nachfolger von dem Direct Input in Windows eingebaut wurde.
Leider wurden nicht alle Features vom Vorgänger implementiert, so könnte zum Beispiel auch das FFB (was ich jetzt nicht getestet habe) dem Rotstift zum Opfer gefallen sein. Und wie es ausschaut, auch die eindeutige Identifizierung der Instanzen eines Eingabegerätes. Der P3D kann zwar zur Laufzeit die Instanzen eindeutig ermitteln, speichert diese aber nicht differenziert in die standard.xml ab. Mit der fatalen Folge, dass meine vJoys mit dem erneuten einlesen aus der standard.xml allesamt gleich konfiguriert sind. Ob es sich hierbei um einen Bug, by design vom P3D handelt, oder es geht grundsätzlich nicht anders abzuspeichern, das kann ich nicht beurteilen.

Unter "Options->Other->Input Method" kann man den P3D von Raw- auf DirectInput umschalten, und siehe da, die beiden vJoys werden exakt erkannt, sowie die Konfiguartionen sauber abgespeichert/geladen.
Aber Achtung: ohne Grund nicht umschalten, denn die bestehende standard.xml (eure individuelle Eingabekonfiguration) wird auf Werkseinstellung zurück gesetzt, unabhängig davon ob man diese Änderung später im Dialog bestätigt oder verwirft.

Mann o Mann, diesen Schalter habe ich über ein Jahr mehr oder weinger vor der Nase gehabt..... und keine Verbindung zu meinem Problem gesehen.

So, dann wünsche ich euch ein gruseliges Halloween, und Dir Christian wieder ein großes Danke für die jahreszeitliche Szenerie auf Burg Feuerstein, äh Frankenstein

Eine schöne Zeit euch allen
-Uwe

Benutzeravatar
Christian
Administrator
Beiträge: 1873
Registriert: Mi 2. Dez 2015, 15:21
Wohnort: Dortmund
Kontaktdaten:

Re: Joystick config und standard.xml

Beitragvon Christian » Mi 31. Okt 2018, 11:29

Hi Uwe.

Das war mir auch schon aufgefallen, dass das Controller-System des P3D etwas buggy ist. Manchmal übernimmt er nicht alle Einstellungen der vorher gesichterten Standard.xml, wenn man sie zurück in den Controls-Ordner kopiert.

Mit Instanzen sind die Namen der Eingabegeräte in der Standard.xml gemeint? Da war mir aufgefallen, dass dort die Namen meiner Steuergeräte hinterlegt sind, nicht aber deren einmaliger GUID. In Programmen wie LINDA werden die Eingabegeräte ja mit ihrem Name und ihrer einmaligen GUID hinterlegt, was die interne Geräte-Erkennung erleichtert.

Die Eintrage im Controller-Menü des P3D RawInput hatte ich schon mal gesehen, konnte damit aber gar nichts anfangen. Nun wird das aber klar wozu diese Einträge da sind. Und ja, jahrelang sucht man nach einer Lösung zu einem Problem. Dabei liegt sie direkt vor einem :lol:

Finde ich toll von Dir von deinen Erfahrungen und deinem gesammelten Wissen uns mitzuteilen. Das hilft bestimmt dem ein oder anderen User weiter.

Besten Dank dafür :)
Lieben Gruß
Christian


MSFS - ASRock B560 Steel Legend - Intel i7 11700K - 64 GB Kingston Fury 3200 - ASUS RTX 4080 16GB TUF - Samsung 970 EVO Plus 1TB GB - Samsung 980 EVO 1TB


Zurück zu „Allgemeines zur Flugsimulation“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste