05 01 09 04 a1 01 15 00 25 07 35 00 46 3b 01 65 14 09 39 75 04 95 01 81 42 65 00 25 01 45 01 05 09 19 01 29 16 75 01 95 16 81 02 26 ff 3f 46 ff 3f 75 0e 95 01 05 01 09 30 81 02 26 ff 00 46 ff 00 75 08 95 03 09 32 09 35 09 31 81 02 06 00 ff 09 01 95 02 81 02 95 01 75 01 25 01 45 01 05 09 09 17 81 02 06 00 ff 09 01 95 07 81 02 26 ff 00 46 ff 00 06 00 ff 09 02 95 07 75 08 91 02 95 90 09 03 b1 02 c0 INPUT[INPUT] Field(0) Usage(1) GenericDesktop.HatSwitch Logical Minimum(0) Logical Maximum(7) Physical Minimum(0) Physical Maximum(315) Unit(English Rotation : Degrees) Report Size(4) Report Count(1) Report Offset(0) Flags( Variable Absolute NullState ) Field(1) Usage(22) 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 Button.0011 Button.0012 Button.0013 Button.0014 Button.0015 Button.0016 Logical Minimum(0) Logical Maximum(1) Physical Minimum(0) Physical Maximum(1) Report Size(1) Report Count(22) Report Offset(4) Flags( Variable Absolute ) Field(2) Usage(1) GenericDesktop.X Logical Minimum(0) Logical Maximum(16383) Physical Minimum(0) Physical Maximum(16383) Report Size(14) Report Count(1) Report Offset(26) Flags( Variable Absolute ) Field(3) Usage(3) GenericDesktop.Z GenericDesktop.Rz GenericDesktop.Y Logical Minimum(0) Logical Maximum(255) Physical Minimum(0) Physical Maximum(255) Report Size(8) Report Count(3) Report Offset(40) Flags( Variable Absolute ) Field(4) Usage(2) ff00.0001 ff00.0001 Logical Minimum(0) Logical Maximum(255) Physical Minimum(0) Physical Maximum(255) Report Size(8) Report Count(2) Report Offset(64) Flags( Variable Absolute ) Field(5) Usage(1) Button.0017 Logical Minimum(0) Logical Maximum(1) Physical Minimum(0) Physical Maximum(1) Report Size(1) Report Count(1) Report Offset(80) Flags( Variable Absolute ) Field(6) Usage(7) ff00.0001 ff00.0001 ff00.0001 ff00.0001 ff00.0001 ff00.0001 ff00.0001 Logical Minimum(0) Logical Maximum(1) Physical Minimum(0) Physical Maximum(1) Report Size(1) Report Count(7) Report Offset(81) Flags( Variable Absolute ) OUTPUT[OUTPUT] Field(0) Usage(7) ff00.0002 ff00.0002 ff00.0002 ff00.0002 ff00.0002 ff00.0002 ff00.0002 Logical Minimum(0) Logical Maximum(255) Physical Minimum(0) Physical Maximum(255) Report Size(8) Report Count(7) Report Offset(0) Flags( Variable Absolute ) FEATURE[FEATURE] Field(0) Usage(144) ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 ff00.0003 Logical Minimum(0) Logical Maximum(255) Physical Minimum(0) Physical Maximum(255) Report Size(8) Report Count(144) Report Offset(0) Flags( Variable Absolute ) GenericDesktop.HatSwitch ---> Absolute.Hat0X Button.0001 ---> Key.Trigger Button.0002 ---> Key.ThumbBtn Button.0003 ---> Key.ThumbBtn2 Button.0004 ---> Key.TopBtn Button.0005 ---> Key.TopBtn2 Button.0006 ---> Key.PinkieBtn Button.0007 ---> Key.BaseBtn Button.0008 ---> Key.BaseBtn2 Button.0009 ---> Key.BaseBtn3 Button.000a ---> Key.BaseBtn4 Button.000b ---> Key.BaseBtn5 Button.000c ---> Key.BaseBtn6 Button.000d ---> Key.? Button.000e ---> Key.? Button.000f ---> Key.? Button.0010 ---> Key.BtnDead Button.0011 ---> Key.? Button.0012 ---> Key.? Button.0013 ---> Key.? Button.0014 ---> Key.? Button.0015 ---> Key.? Button.0016 ---> Key.? GenericDesktop.X ---> Absolute.X GenericDesktop.Z ---> Absolute.Z GenericDesktop.Rz ---> Absolute.Rz GenericDesktop.Y ---> Absolute.Y ff00.0001 ---> Sync.Report ff00.0001 ---> Sync.Report Button.0017 ---> Key.? ff00.0001 ---> Sync.Report ff00.0001 ---> Sync.Report ff00.0001 ---> Sync.Report ff00.0001 ---> Sync.Report ff00.0001 ---> Sync.Report ff00.0001 ---> Sync.Report ff00.0001 ---> Sync.Report ff00.0002 ---> Sync.Report ff00.0002 ---> Sync.Report ff00.0002 ---> Sync.Report ff00.0002 ---> Sync.Report ff00.0002 ---> Sync.Report ff00.0002 ---> Sync.Report ff00.0002 ---> Sync.Report