# Pastebin P60ntzyH 05 01 09 05 a1 01 06 01 ff 85 21 09 21 75 08 95 30 81 02 85 30 09 30 75 08 95 30 81 02 85 31 09 31 75 08 96 69 01 81 02 85 32 09 32 75 08 96 69 01 81 02 85 33 09 33 75 08 96 69 01 81 02 85 3f 05 09 19 01 29 10 15 00 25 01 75 01 95 10 81 02 05 01 09 39 15 00 25 07 75 04 95 01 81 42 05 09 75 04 95 01 81 01 05 01 09 30 09 31 09 33 09 34 16 00 00 27 ff ff 00 00 75 10 95 04 81 02 06 01 ff 85 01 09 01 75 08 95 30 91 02 85 10 09 10 75 08 95 30 91 02 85 11 09 11 75 08 95 30 91 02 85 12 09 12 75 08 95 30 91 02 c0 00 INPUT(33)[INPUT] Field(0) Application(GenericDesktop.GamePad) Usage(48) ff01.0021 // ... many copies... ff01.0021 Report Size(8) Report Count(48) Report Offset(0) Flags( Variable Absolute ) INPUT(48)[INPUT] Field(0) Application(GenericDesktop.GamePad) Usage(48) ff01.0030 // ... many copies... ff01.0030 Report Size(8) Report Count(48) Report Offset(0) Flags( Variable Absolute ) INPUT(49)[INPUT] Field(0) Application(GenericDesktop.GamePad) Usage(361) ff01.0031 // ... many copies... // ... many copies... // ... many copies... ff01.0031 Report Size(8) Report Count(361) Report Offset(0) Flags( Variable Absolute ) INPUT(50)[INPUT] Field(0) Application(GenericDesktop.GamePad) Usage(361) ff01.0032 // ... many copies... // ... many copies... // ... many copies... ff01.0032 Report Size(8) Report Count(361) Report Offset(0) Flags( Variable Absolute ) INPUT(51)[INPUT] Field(0) Application(GenericDesktop.GamePad) Usage(361) ff01.0033 // ... many copies... // ... many copies... // ... many copies... ff01.0033 Report Size(8) Report Count(361) Report Offset(0) Flags( Variable Absolute ) INPUT(63)[INPUT] Field(0) Application(GenericDesktop.GamePad) Usage(16) Button.0001 Button.0002 Button.0003 Button.0004 Button.0005 Button.0006 Button.0007 Button.0008 Button.0009 Button.000a Button.000b Button.000c Button.000d Button.000e Button.000f Button.0010 Logical Minimum(0) Logical Maximum(1) Report Size(1) Report Count(16) Report Offset(0) Flags( Variable Absolute ) Field(1) Application(GenericDesktop.GamePad) Usage(1) GenericDesktop.HatSwitch Logical Minimum(0) Logical Maximum(7) Report Size(4) Report Count(1) Report Offset(16) Flags( Variable Absolute NullState ) Field(2) Application(GenericDesktop.GamePad) Usage(4) GenericDesktop.X GenericDesktop.Y GenericDesktop.Rx GenericDesktop.Ry Logical Minimum(0) Logical Maximum(65535) Report Size(16) Report Count(4) Report Offset(24) Flags( Variable Absolute ) OUTPUT(1)[OUTPUT] Field(0) Application(GenericDesktop.GamePad) Usage(48) ff01.0001 // ... many copies... ff01.0001 Logical Minimum(0) Logical Maximum(65535) Report Size(8) Report Count(48) Report Offset(0) Flags( Variable Absolute ) OUTPUT(16)[OUTPUT] Field(0) Application(GenericDesktop.GamePad) Usage(48) ff01.0010 // ... many copies... ff01.0010 Logical Minimum(0) Logical Maximum(65535) Report Size(8) Report Count(48) Report Offset(0) Flags( Variable Absolute ) OUTPUT(17)[OUTPUT] Field(0) Application(GenericDesktop.GamePad) Usage(48) ff01.0011 // ... many copies... ff01.0011 Logical Minimum(0) Logical Maximum(65535) Report Size(8) Report Count(48) Report Offset(0) Flags( Variable Absolute ) OUTPUT(18)[OUTPUT] Field(0) Application(GenericDesktop.GamePad) Usage(48) ff01.0012 // ... many copies... ff01.0012 Logical Minimum(0) Logical Maximum(65535) Report Size(8) Report Count(48) Report Offset(0) Flags( Variable Absolute ) ff01.0021 ---> Sync.Report // ... many copies... ff01.0021 ---> Sync.Report ff01.0030 ---> Sync.Report // ... many copies... ff01.0030 ---> Sync.Report ff01.0031 ---> Sync.Report // ... many copies... // ... many copies... // ... many copies... ff01.0031 ---> Sync.Report ff01.0032 ---> Sync.Report // ... many copies... // ... many copies... // ... many copies... ff01.0032 ---> Sync.Report ff01.0033 ---> Sync.Report // ... many copies... // ... many copies... // ... many copies... ff01.0033 ---> Sync.Report Button.0001 ---> Key.BtnA Button.0002 ---> Key.BtnB Button.0003 ---> Key.BtnC Button.0004 ---> Key.BtnX Button.0005 ---> Key.BtnY Button.0006 ---> Key.BtnZ Button.0007 ---> Key.BtnTL Button.0008 ---> Key.BtnTR Button.0009 ---> Key.BtnTL2 Button.000a ---> Key.BtnTR2 Button.000b ---> Key.BtnSelect Button.000c ---> Key.BtnStart Button.000d ---> Key.BtnMode Button.000e ---> Key.BtnThumbL Button.000f ---> Key.BtnThumbR Button.0010 ---> Key.? GenericDesktop.HatSwitch ---> Absolute.Hat0X GenericDesktop.X ---> Absolute.X GenericDesktop.Y ---> Absolute.Y GenericDesktop.Rx ---> Absolute.Rx GenericDesktop.Ry ---> Absolute.Ry ff01.0001 ---> Sync.Report // ... many copies... ff01.0001 ---> Sync.Report ff01.0010 ---> Sync.Report // ... many copies... ff01.0010 ---> Sync.Report ff01.0011 ---> Sync.Report // ... many copies... ff01.0011 ---> Sync.Report ff01.0012 ---> Sync.Report // ... many copies... ff01.0012 ---> Sync.Report