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:
1  | 0xa1, 0x00, // COLLECTION (Physical)  | 
2  | 0x05, 0x09, // USAGE_PAGE (LEDs)  | 
3  | 0x09, 0x0F, // USAGE (Generic Indicator)  | 
4  | 0x75, 0x08, // REPORT_SIZE (8)  | 
5  | 0x95, 0x01, // REPORT_COUNT (1)  | 
6  | 0x15, 0x00, // LOGICAL_MINIMUM (0)  | 
7  | 0x25, 0x01, // LOGICAL_MAXIMUM (1)  | 
8  | 0x92, 0x02, 0x01, // OUTPUT (Data,Var,Abs,Buf)  | 
9  | 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 :)