Jump to content

Wie kann ich einen weiteren Controller hinzufügen


Tekkx

Recommended Posts

Hallo, liebe Gemeinde :)

 

Ich erkläre ganz kurz mein Problem.

 

Ich baue mir zur Zeit ein CDU. Auf die Einzelheiten möchte ich nicht näher eingehen, weil das Meiste erst auf dem Papier oder Labortisch existiert...

 

Aber soviel sei verraten:

Das Ganze basiert auf einem Arduino Leonardo, welcher dem PC gegenüber so tut, als sei er eine Tastatur.

 

Da das Setup mit den vielen Tausend Tastaturkombinationen langsam etwas unübersichtlich wird (und mir auch die Modifier-Keys ausgehen), habe ich mir Folgendes überlegt:

 

Da in den Optionen von DCS World alle angeschlossenen Controller und das Keyboard spaltenweise angezeigt werden, frage ich mich, wo und in welcher LUA diese Geräte (oder Devices) gespeichert und deren Settings gespeichert werden.

 

Nun sollte es doch eigentich möglich sein, mein neues Keyboard (sprich: CDU) hier irgendwie einbinden zu können.

 

Die Frage ist vor allem vor dem Hintergrund interessant, daß sich während der Planung des CDU weitere Aufgaben ergeben haben.

 

So brauche ich dann zum CDU dringend ein AAP, dann noch ein UFC und ein LASTE und zwei MFDs wären auch nicht schlecht. Und dann sind die Tasten und deren Kombis wirklich bald "alle".

 

Dank Arduino (und Verwandten) (viele Grüße nach Italien und in die USA) ist das Entwickeln und Bauen der Devices überhaupt kein Problem.

 

Hat hier jemand einen hilfreichen Tip oder Hinweis für mich?

 

Viele Grüße @all.

Tekkx


Edited by Tekkx

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

Im Prinzip ist es relativ simpel: DCS erkennt Tastatur, Maus und beliebiege USB "joystickähnliche" Geräte automatisch und bietet Dir in den Controller Einstellungen alle Funktionen an, denen du Tastendrücke oder Buttons zuordnen kannst.

 

Wenn ich Dich richtig verstanden habe, simuliert Dein Board eine Tastatur. Hier gibt es nun die (Windows) Einschränkung, dass ein Programm wie DCS keine verschiedenen Tastaturen unterscheiden kann (anders als bei DirectX "joysticks"). D.h. wenn Du auf deiner normalen Tastatur "A" drückst, oder dein Arduino ein "A" sendet, für DCS ist es das gleiche.

 

Anders wäre es bei DirectX Geräten, wo "Button 1" an Gerät A eben etwas anderes ist, als "Button 1" an Gerät B. So kannst du mit entsprechender softwareunterstützung z.B. ein physikalisches Gerät als mehrere logische DirectX Geräte anbinden (ggf. notwendig, da DirextX, iirc, nur 63 Buttons per Device unterstützt). D.h. hier hättest du maximale Flexibilität.

 

Ob das aber mit deinem Ansatz möglich ist, kann ich nicht sagen - ich kenne mich mit Arduino nicht aus.

 

Aber noch eine Frage: warum gehen dir die Key-Combos aus? In DCS sind doch alle möglichen Funktionen des CDU bereits Key-Combos zugeordnet ... die du eigentlich ja nur verwenden müsstest - du musst dir ja keine (zusätzlichen) eigenen Key Combos ausdenken ...?

Link to comment
Share on other sites

Danke, Flagrum. Sehr anschaulich erklärt.

Das hört sich an, als bekäme ich hier ein Problem... Windows 7 wiedermal :/

So erklärt sich, warum alle meine Controller in den DCS-Optionen auftauchen aber meine "Leo-Tastatur" nicht. Es gibt ja schon eine Tastatur.

 

Mein Win7 erkennt den Leo als Tastatur.

Vielleicht finde ich eine Lösung, das Ding als DirectX-Gerät (heute zum ersten Mal gehört) zu tarnen.

 

Zu den Tasten-Kombis: In meinen Settings war die CDU komplett(?) nicht belegt.

Habe jetzt (rstmal zu Testzwecken) alles mit RCtrl + RShift+... belegt. Aus Gründen der einfachen Programmierung hätte ich gern bei allen 65 Tasten die gleichen Modifier.

Wenn ich's damit nicht hinkriege werde ich wohl noch auf andere ausweichen müssen. Mit etwas C++ Code ist das nur ein Komfort-Problem :)

 

Jetzt forsche ich mal den DirectX-Weg aus.

Danke für den Tip.

 

Stay tuned :)

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

Hey Roni86.

Auf der Seite war ich schon (Du hast 2x http im Link).

Beim ersten Mal hat mir nur der Kopf gequalmt :(

 

Hab's jetzt nochmal gelesen.

Wahrscheinlich ist das die Lösung. Muß mich wohl mit weiteren Dingen vertraut machen.

Da habe ich ja ein schönes Fass aufgemacht...

 

Danke für das "nochmal mit der Nase reinstupsen" :D

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

Das Joystickkonfigurationsprogramm unter Windows erkennt nur 32 Tasten pro Joystick. Windows selbst erkennt bis zu 128 Tasten pro Joystick. Unter DCS kann man dann auch alle 128 Tasten benutzen.

 

Hier im Forum hat schon jemand den Code für einen Arduino Mega geschrieben.

Vielleicht lässt es sich auf auf den Leonardo portieren.

 

Alternativ gibt es auch MMJoy mit dem man einige Arduinotypen als 2 Joysticks mit je 32 Tasten flaschen kann.

Link to comment
Share on other sites

Danke Red Yeti.

Das ist ne Menge Stoff, den ich mir da reinziehen muss. Scheint auch der richtige Weg zu sein.

Habe ich wiedermal gezeigt bekommen, wie wenig ich doch weiß.

 

Doch der Mensch wächst ja bekanntlich mit seinen Herausforderungen :)

Ich überlege schon, ob ich mir schonmal einen zweiten Arduino hinlege falls ich meinen bricke.

 

PS: Über der ganzen Bastelei komme ich überhaupt nicht mehr zum Fliegen :/

 

Edit: 10 Minuten später:

 

http://www.imaginaryindustries.com/blog/?p=80

 

Mit Hilfe der beiden dort verlinkten Files

USBAPI.h

HID.cpp

 

meldet sich der Leo schonmal im DCS als GameController an.

Ein kleiner Schritt für einen Leo, ein riesiger für mich :)

 

Jetzt muß ich meinen schönen Code (der funktioniert hat) wahrscheinlich komplett von NULL neu schreiben. Aber dafür sind "wir" ja da :D

Aber vielleicht lasse ich auch erstmal mein PCB ätzen. Taster auflöten... damit das Gefummel mit den Drahtbrücken aufhört.

1124452073_CDUPCB201503.PNG.1b4644f5ded147edebdd89eea3a02efe.PNG

2076652563_DCSmitLeo.png.0c9f9d5ef21eac02421eb1704e186b26.png


Edited by Tekkx

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

Moin Tekkx,

 

warum machst du das nicht einfach so wie Flagrun schreibt und nutzt die bereits standardmäßig vorgegeben Tastatur Kombinationen die in DCS schon hinterlegt sind.

Ich selber habe mir mit einem anderen Board auch etwas gebaut und dort die Tasturkomandos vom Black Shark hinterlegt, und das ganze funktioniert tadellos.

Ich kann das Board auch an einem anderen DCS PC anschließen und dort werden die Tasten sofort erkannt, da es sich ja um die Defaultbelegung handelt.

DCS ist das egal von welcher Tastatur die Eingaben kommen, aber sicherlich gibt es auch unter Windows eine Obergrenze wie viel Tastaturen an den PC angeschlossen sein können und das ganze noch funktioniert.

Bei Joysticks liegt die meiner Erachtens nach bei 16 Geräten.

 

CU Micha

Simpit Software by SDA "SIMPIT DEVELOPER ASSOCIATION"

  • DCS ExportScript
  • D.A.C. DCS to Arcaze Communicator
  • Ikarus a new Virtual Cockpit Software

Deutscher Forums Thread

English Forums Thread

 

Hard/Software: AMD Ryzen 7 1800X, 32 GiB RAM, extra SSD for Windows 10 and DCS World, AMD Vega Frontier Edition with 16 GiB VRAM

Link to comment
Share on other sites

Hey Micha.

Warum?

- Weil es sauberer ist, einen Gamecontroller (egal ob Eigenbau oder nicht) als Gamecontroller anzuschließen?

- Weil, wenn ich es quick-and-dirty wollte, wahrscheinlich lieber Space-Invaders spielen würde statt einen relativ komplexen Simulator?

- Weil es sowieso der totale Irrsinn ist, ...zig Stunden und etliche Euro in eine Sache zu investieren, die keinerlei praktischen Nutzen abwirft?

 

Wenn es mir gelingt, dieses Rätsel zu knacken, habe ich eben ein besseres Gefühl dabei und noch X-Over-Knowledge erworben, welches mir - möglicherweise - auch im "richtigen Leben" nützt.

Wenn schon Nerd (und ich betrachte das nicht als Schimpfwort), dann aber richtig. :)

 

Bin übrigens seit gestern keinen Schritt weiter gekommen und zwischendurch kam mir tatsächlich schon der Gedanke ans Aufgeben.

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...