Probleme mit Direct x durch neues mainboard

  • Hi community,


    schreibe hier für Rabbit weil ich denke eine Ahnung betreffend der Ursache seiner Probleme zu haben.


    Problem:
    Rabbits mainboard war abgeraucht. Er hat sich ein neues einbauen lassen. 8)
    Folge: Bei seinem Saitek Joystick lassen sich die Direct X Buttoms nicht mehr ansteuern. :2:


    Ich hatte vor graaaauuuer Vorzeit schon einmal selbiges Problem, allerdings noch unter Falcon AF.
    Ich kann mich noch dran erinnern, dass das Problem darin bestand, dass die USB Hubs am neuen mainboard eine andere Adresse hatten als beim Alten.
    Der Stick wurde generell erkannt, aber in der, ich meine es handelte sich um die Keystroke File, waren die alten Adressen hinterlegt.
    Lösung damals, wenn ich mich noch recht entsinne... :9: , war, das man zunächst herausfinden musste wie die neue USB Adressierung lautet
    und dann in der Keystroke die Adresse an passender Stelle austauscht...
    Hab jetzt in der BMS Keyfile auf Anhieb aber nichts gefunden...
    Außerdem finde ich im Gerätemanager (Win7) nur eine Abkürzung der USB Adresse
    Also:
    Wer weiß:
    - Wie kommt Rabbit an die USB Adresse?


    - Wo kann man unter BMS die Adresse ändern?


    Wäre Euch sehr dankbar für eine Antwort, damit Rabbit wieder einsatztauglich wird.

  • Ich würde inen ganz einfachen Ansatz vorschlagen:
    Im BMS Setup einen Keystroke suchen und dort einfach einen Knopf vom Stick zuweisen.
    Also z.B. den Keystroke für Pickle Button nehmen, irgendeinen Knopf zuweisen und das Keyfile speichern.
    Dann im Keyfile den Eintrag ansehen, dort müsste dann die Adresse mit eingetragen sein.


    Ach ja:
    Geräte Manager -> Gerät suchen -> Doppelklick drauf -> im Tab Allgemein den Ort ansehen. Da steht die Adresse.

  • Japs, Saitek sind da teilweise extremst nachtragend was das angeht :( Ich kenne Fälle da hat nur noch eine komplette Systemneuinstallation geholfen um das DIng wieder funktionsfähig zu machen, und wehe man hat den Stick mal ausgesteckt oder an einem Hub dran gehabt, dann ging das von vorne los.


    Aber das Tut nix zur Sache :D Ich hab ein Tool beigefügt mit dem sich alle angeschlossenen USB Geräte auslesen lassen und sehr oft stehen auch die Geräte drin die zwar nicht angeschlossen sind aber angeschlossen waren. Damit mal gucken bzw. die passiven raus löschen dann hat man wieder Platz für Neues ;) Und es stehen alle Informationen drin wo genau was dran war.

  • Super Rampage!


    Die Sache bei mir ist schon bestimmt 6 Jahre her, aber wo ich jetzt deinen Lösungsansatz lese kommts mir wieder, dass wir das damals auch so gemacht haben...
    Good Job! :8:


    Wie war das nochmal...
    Man nimmt einen Keystroke wo vorher noch kein Direct X Buttom drauf war und speichert darauf den Buttom.
    Dann schaut man sich die Adresse im Keystroke
    SimBupUhfPreset -1 0 0X23 5 0 0 1 "UHF: MODE Knob - PRESET"


    Ist das grün markierte dann die Adresse?
    Und tauscht dann zum Schluss diese Adresse bei den Keystrokes aus bei denen Direct X Buttoms verwendet werde.
    War das so in etwa richtig?
    Grüsse

  • @ Cupra


    Ja, dieses Programm ist super. Kenn ich nämlich schon.
    Nirsoft hat einige sehr gute Programme.
    Und das mit dem Saitek kann ich leidvoll nur bestätigen.
    Der verhält sich wie eine zickige Jungfrau.
    Aber dem habe ich es gegeben!


    @ Rabbit


    Ich drücke Dir alle verfügbaren Daumen, dass Du das
    alles so hinkriegst, wie Du Dir das wünschst.
    Falconmäßig, pc-mäßig und sonst auch.

  • Hallo.


    Vielleicht kann ich hier etwas helfen.


    DX Zuweisungen zu einem bestimmten Input Device werden über das Key File gemacht, das ist richtig. Dabei ist es BMS grundsätzlich völlig egal, an welchem USB Port das Device hängt. Einzig entscheidend für eine korrekte Zuweisung von Funktionen ist, an welcher Position Windows das Eingabegerät eingruppiert hat. Klemme ich meinen Cougar als einzigstes Gerät an, erkennt Windows diesen Controller und in dem Game Controllers Applet taucht es als erstes Device auf. Hänge ich dann noch zwei MFDs dran, tauchen die eben an Position zwei und drei auf. Was ich damit sagen will: BMS orientiert sich an Windows. Die Reihenfolge die Windows "sieht", sieht auch BMS.


    Jedem Device können maximal 32 Funktionen über DX Buttons zugewiesen werden. Dabei ist zu beachten, das BMS nicht von 1 sondern von 0 anfängt zu zählen (also im Key File). Unser Cougar aus dem obigen Beispiel hätte also die DX Buttons # 0-31, das zweite Device (1. MFD) die # 32-63 und das dritte Device (2. MFD) 64-95. Die DX Button Nummern müssen im Key File korrekt hinterlegt sein, ansonsten funktioniert das nicht.


    Das Problem an der Geschichte ist, wenn sich nun die Reihenfolge der DX Devices in Windows ändert, sei es durch Hinzufügen oder Entfernen von Devices (oder dem Abrauchen eines MB), sind die DX Button Zuweisungen im Key File unter Umständen falsch. In Allied Force hatten wir die Möglichkeit, eine GUID (also sowas hier: {46D7A990-DCF4-11D9-8001-444553540000} zu hinterlegen. Damit wären wir nämlich unabhängig von der Windows Reihenfolge. Das geht in BMS leider noch nicht und wird sich wohl auch erst nach 4.33 ändern. Das bedeutet also im Umkehrschluß:


    Wir haben in BMS also keine Möglichkeit, einen USB Port direkt anzusprechen. Ebenfalls haben wir keine Möglichkeit, ein Gerät anhand seiner individuellen GUID zu erkennen. Wir können lediglich sagen: Wir arbeiten die durch Windows festgelegte Reihenfolge der DX Devices von oben nach unten ab.


    Im vorliegenden Fall vermute ich, dass sich die Reihenfolge der Devices durch den MB Tausch geändert hat.


    Das lässt sich ganz einfach überprüfen:


    Im BMS Setup / Controllers einmal eine x-beliebige Taste des Input Devices drücken. Unterhalb der Key File Liste erscheint dann die entsprechende DX Button Nummer. Ist diese Nummer nun (als Beispiel) 16, handelt es sich somit um das erste Device. Nun muss man im Key File abgleichen, ob die DX Button Nummern plausibel sind. Sind im Key File nämlich Nummern jenseits der 31 angegeben, funktioniert das natürlich nicht.


    Die DX Code Lines findet man im Key File in der Regel am Ende des Key Files. Sie unterscheiden sich von normalen Keystroke Lines deutlich. Hier ein Beispiel: oben keystroke line, unten DX code line:


    SimTriggerFirstDetent -1 0 0X35 2 0 0 1 "STICK: FIRST TRIGGER DETENT"


    SimTriggerFirstDetent 0 -1 -2 0 0x0 0


    Die rote Nummer stellt hierbei die DX Button Nummer dar.


    Wer mehr über die Hintergründe und Funktionsweisen von Key Files wissen möchte, schaut am besten einfach mal in seinen BMS Installationsordner unter .../User/Joystick/Generic/Kolbe. Dort gibt es ein Keyfile Manual, in dem das ganze Prinzip ausführlicher erklärt ist.


    In dem Ordner findet man auch gleich eine frühere Version des DX-generator als Excel Datei. Dort kann man recht zügig Zuweisungen vornehmen. Solltest du einen anderen Saitek Controller haben als den X52 sage mir nochmal Bescheid. Dann kann ich dir bei Bedarf eine Dev Version zukommen lassen.


    Wünsche viel Erfolg bei der Ursachenbekämpfung. Wenn du Fragen hast oder weitere Hilfen benötigst, einfach melden.


    Kolbe