Last active
August 4, 2025 17:41
-
-
Save Ryochan7/ef8fabae34c0d8b30e2ab057f3e6e039 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| USB | |
| 0 Report ID 1 (0x01) | |
| 1 LX (0-255) | |
| 2 LY (0-255) | |
| 3 RX (0-255) | |
| 4 RY (0-255) | |
| 5 L2 (0-255) | |
| 6 R2 (0-255) | |
| 7 Frame Counter (Increment by 1 per poll) | |
| 8 DPad (0-7 clockwise, 8 default), Square (16), Cross (32), Circle (64), Triangle (128) | |
| 9 L1 (1), R1 (2), L2Btn (4), R2Btn (8), Create (16), Options (32), L3 (64), R3 (128) | |
| 10 PS (1), TP Click (2) , Mute (4) | |
| 11 ???? (Always 0 for me) | |
| 12-15 Counter? (Increment by 1 per poll) | |
| 16-17 Gyro Pitch | |
| 18-19 Gyro Yaw | |
| 20-21 Gyro Roll | |
| 22-23 Accel X | |
| 24-25 Accel Y | |
| 26-27 Accel Z | |
| 28-31 ???? (Seems to increment by ~12000 per poll) | |
| 32 Battery? (15 max?) | |
| 33 Touch 1 ID (&0x7f) | |
| 34-36 Touch 1 Coordinates | |
| 37 Touch 2 ID (&0x7f) | |
| 38-40 Touch 2 Coordinates | |
| 41 Touch Packet Counter | |
| 42 ???? (Always 9 for me) | |
| 43 ???? (Always 9 for me) | |
| 44-48 ???? (Always 0 for me) | |
| 49-52 Counter? (Seems to increment by ~12000 per poll) | |
| 53 Extension? Battery (0-10), Charging (16), Fully Charged (32) | |
| 54 Extension? Audio L? (1), Audio R? (2), Charging (8) | |
| 55 Extension? Mic? (1) | |
| 56-63 ???? |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The Touch ID byte switches values depending on whether a finger touch is active. The value will be between 0-127 when a touch is active; the value will be between 128-255 when no touch is detected (active + 128). The value increments by 1 on each active touch.
The Touch 2 ID will change when the controller detect a second touch.