www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik [HID] Joystick & Outputs


Autor: Easty (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich versuche momentan meinen Gamecube-Controller mit dem PC zu 
verbinden. Das ganze funktioniert auch recht gut; jedoch bereitet mir 
der Rumbleeffekt noch sorgen.

Ich kann im HID-Report einen Output einstellen und diesen Report auch 
manuell per Tools wie HID-Test senden und es funktioniert alles; jedoch 
kann ich dem Output sozusagen irgendwie keinen "Namen" geben.

Egal welche Usage-Pages und Usages ich verwende - die Outputs werden 
nirgendswo im Windows-Joystick Dialog angezeigt (ok, verständlich); aber 
auch nicht von dem Dolphin-Emulator erkannt.

Nach welchem Schema werden diese Outputs entsprechend von der Software 
erkannt? Was genau muss sie ausmachen?

Ausschnitt für den Output @ HID Report:
    0xa1, 0x00,                    //   COLLECTION (Physical)
    0x05, 0x09,                    //     USAGE_PAGE (LEDs)
    0x09, 0x0F,                    //     USAGE (Generic Indicator)
    0x75, 0x08,                    //     REPORT_SIZE (8)
    0x95, 0x01,                    //     REPORT_COUNT (1)
    0x15, 0x00,                    //     LOGICAL_MINIMUM (0)
    0x25, 0x01,                    //     LOGICAL_MAXIMUM (1)
    0x92, 0x02, 0x01,              //     OUTPUT (Data,Var,Abs,Buf)
    0xc0,                          //   END_COLLECTION

Alternativ würde sich auch eine Implementierung via Forcefeedback 
anbieten - doch ist der Report dazu sehr unübersichtlich. Welche der 200 
verschiedenen Collections braucht man minimal für einen einfachen 
bool'schen Steurungswert @ Vibrationen? Kann doch nicht sein, dass man 
dafür einen 1200-Byte-Descriptor braucht?

Generell also die Frage: Wie bring ich Windows, Dolphin, o. Ä. dazu 
einen Output-Report entsprechend der Usages zu erkennen? Bin hier echt 
am verzweifeln bei den ganzen Dokumentationen.. - Jede Hilfe wäre nett 
:)

Autor: Easty (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann keiner helfen? :(

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die "Generic Indicator" Usage wird natürlich nicht von den 
Systemtreibern angesteuert, weil die ja nicht wissen können was das nun 
für ein Indicator ist. Deine Generic Indicator Outputs sollten sich aber 
ganz einfach per File-IO ansprechen lassen.

Force Feedback ist ein sehr komplexes Thema und vor Jahren von Microsoft 
und Immersion gründlichst mit Patenten vermint worden, bevor die nicht 
abgelaufen sind werde ich mich mit dem Thema nicht weiter befassen...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.