quantus / xbox-one-controller-protocol

Xbox One Controller Protocol description
177 stars 17 forks source link

I did some poking around with RawInput, I get a different structure of report data #9

Open ZILtoid1991 opened 3 months ago

ZILtoid1991 commented 3 months ago
Byte[0]:   Seems to be always zero
Byte[1-2]: Left stick X, Left = 0x0000, Right = 0xFFFF, little endian
Byte[3-4]: Left stick Y, Up = 0x0000, Down = 0xFFFF, ditto
Byte[5-6]: Right stick X, ditto
Byte[7-8]: Right stick Y, ditto
Byte[9-10]:Triggers diff, 0x0000 ish = left trigger, 0xFFFF ish = right trigger (individual triggers?)
Byte[11]:  A;B;X;Y;LB;RB;Leftnav;Rightnav
Byte[12]:  LC;RC;Home;Share
Byte[13]:  1-8: DPad
Byte[14-15]: Zero

I wonder whether Windows is blocking me from directly interfacing to the pad, or I have to "manually" switch it into different modes. I'm getting different codes with my 360 controller for the D-pad so far. Interestingly the "share" button is still being transmitted from my GameSir G7 SE.

I tried to search whether others also have successfully reverse engineered it alongside with other controllers, but no luck yet.