HID GamePad



  • Hallo ,

    ich empfange RawInput Nachrichten, und erlange via :

    GetRawInputData((HRAWINPUT)hRawInput, RID_INPUT, lpb, &dwSize, sizeof(RAWINPUTHEADER));
    
    	RAWINPUT* raw = (RAWINPUT*)&lpb[0];
    

    Jedwede Joy-Position der verschiedenen Achsen am XBox-Controller.

    Aber wie erlange ich die Buttons ? Ich erhalte zwar ein neues Event
    aber finde keine Variablen die den Buttonstatus widerspiegeln.

    Gibt es Hinweise wie man an diese Informationen kommt ?

    Danke Grüße
    Karsten Schulz



  • Wenn ich mit Gewalt das 34zigste Byte auslese, erhalte ich die Buttons, aber
    ein logischer Bezug welche Datenstruktur das Feld überlagert ist ja überhaupt nicht aus der Dokumentation zu erfassen, raten und rätseln was läuft schief ?

    *((short *)&lpb[34] has buttons..





  • Hallo ,

    danke für deine Antwort, ne hilft nicht direkt der benutzt nen JoyStick kein Problem damit, aber das Hid Pad (XBoxPad) hat so seine Eigenarten.

    thx for response.
    K.


  • Mod

    Wie groß ist dwSize vor und nach dem Aufruf?



  • Hallo Martin,

    vor dem Aufruf setze ich ein Array auf MAX_PATH was ja reichen sollte, size=sizeof(array) danach kommt er mit 140 zurück, fündig wurde ich bei byte 134 alle Werte in 2Byte Word grenze. Je aber nur ein Byte verwendbar.
    Insofern auf 3 Rechner getestet. Bleibt aber ein schwarzes Loch da kann ja sonnst was passieren.

    Reagiere da nur auf HID-Event. scheint also ok zu sein solange ich nicht über Size zugreife was ich zur einzigen Sicherheit abfrage.
    (Wer weiß wie es anderswo ist wenn die länge unter 134 einher käme)

    Danke für das mitwirken.
    Lg. K aus Preußen


Anmelden zum Antworten