Hmmm yahh its you XD! I read your thread just now..
Somehow I was searching a solution, and came across your thread lols.
Yeah but anyways I am still figuring out as I will be using actuators instead of servo...will that make any difference in the coding?
I think it would be different...but i will try.. Truthfully speaking :|, I have no clue what the code is writing about but I tried my best to write this...pardon me if its wrong T-T...(Please do tell me where I am wrong)
I have to control 3 actuators relative to the motion of the joystick. But currently if the servo can work, I can then try on actuators? 
I was slightly confuse about the last few pages of the tread...
ceyhun: After including the <servo.h> and and creating the claw at 2nd page under the second void, it starts to work.
I tried doing that but I kept getting error in the Second page of the code, so i delete it.
============================First Code===============================
/* Simplified Logitech Extreme 3D Pro Joystick Report Parser */
#include <hid.h>
#include <hiduniversal.h>
#include <usbhub.h>
#include <Servo.h>
#include "le3dp_rptparser.h"
// Satisfy the IDE, which needs to see the include statment in the ino too.
#ifdef dobogusinclude
#include <spi4teensy3.h>
#include <SPI.h>
#endif
USB Usb;
USBHub Hub(&Usb);
HIDUniversal Hid(&Usb);
JoystickEvents JoyEvents;
JoystickReportParser Joy(&JoyEvents);
Servo Servo1;
int X;
Servo Servo2;
int Y;
Servo Servo3;
int T;
void setup()
{
Servo1.attach(9);
Servo2.attach(10);
Servo3.attach(11);
Serial.begin( 115200 );
#if !defined(MIPSEL)
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
#endif
Serial.println("Start");
if (Usb.Init() == -1)
Serial.println("OSC did not start.");
delay( 200 );
if (!Hid.SetReportParser(0, &Joy))
ErrorMessage<uint8_t>(PSTR("SetReportParser"), 1 );
}
void loop()
{
Usb.Task();
int angle1 = map(X, 0, 1023, 0, 180);
Servo1.write(angle1);
Serial.print(angle1);
int angle2 = map(Y, 0, 1023, 0, 180);
Servo2.write(angle2);
Serial.print(angle2);
int angle3 = map(T, 0, 1023, 0, 180);
Servo3.write(angle3);
Serial.print(angle3);
}
=================================================================
=============================Second Code============================
#include "le3dp_rptparser.h"
JoystickReportParser::JoystickReportParser(JoystickEvents *evt) :
joyEvents(evt)
{}
void JoystickReportParser::Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)
{
bool match = true;
// Checking if there are changes in report since the method was last called
for (uint8_t i=0; i<RPT_GAMEPAD_LEN; i++) {
if( buf != oldPad ) {
* match = false;*
* break;*
* }*
* }*
* // Calling Game Pad event handler*
* if (!match && joyEvents) {*
_ joyEvents->OnGamePadChanged((const GamePadEventData*)buf);
for (uint8_t i=0; i<RPT_GAMEPAD_LEN; i++) oldPad = buf*;*
* }
}
void JoystickEvents::OnGamePadChanged(const GamePadEventData *evt)
{*_
* uint16_t myX = evt->x;
_ Serial.println(myX);_
uint16_t myY = evt->y;
_ Serial.println(myY);_
uint16_t myT = evt->twist;
_ Serial.println(myT);
Serial.print("X: ");
Serial.print(evt->x);_
PrintHex<uint16_t>(evt->x, 0x80);
_ Serial.print(" Y: ");
Serial.print(evt->y);_
PrintHex<uint16_t>(evt->y, 0x80);*
* Serial.print(" Hat Switch: ");*
* Serial.print(evt->hat);*
* PrintHex<uint8_t>(evt->hat, 0x80);*
* Serial.print(" Twist: ");*
* Serial.print(evt->twist);*
* PrintHex<uint8_t>(evt->twist, 0x80);*
* Serial.print(" Slider: ");*
* Serial.print(evt->slider);*
* PrintHex<uint8_t>(evt->slider, 0x80);*
* Serial.print(" Buttons A: ");*
* Serial.print(evt->buttons_a);
PrintHex<uint8_t>(evt->buttons_a, 0x80);*
* Serial.print(" Buttons B: ");*
* Serial.print(evt->buttons_b);
PrintHex<uint8_t>(evt->buttons_b, 0x80);*
* Serial.println("");*
* int angle1 = map(myX, 0, 1023, 0, 180);*
* Serial.print(angle1);*
* int angle2 = map(myY, 0, 1023, 0, 180);*
* Serial.print(angle2);*
* int angle3 = map(myT, 0, 1023, 0, 180);*
* Serial.print(angle3);*
}
=================================================================
==============================Third Code============================
#if !defined(HIDJOYSTICKRPTPARSER_H)
#define HIDJOYSTICKRPTPARSER_H
#include <hid.h>
struct GamePadEventData
{
* union { //axes and hut switch*
* uint32_t axes;
_ struct {_
uint32_t x : 10;
uint32_t y : 10;
uint32_t hat : 4;
uint32_t twist : 8;
_ };
};_
uint8_t buttons_a;
uint8_t slider;
uint8_t buttons_b;
_};
class JoystickEvents
{
public:
virtual void OnGamePadChanged(const GamePadEventData evt);
};
#define RPT_GAMEPAD_LEN sizeof(GamePadEventData)/sizeof(uint8_t)
class JoystickReportParser : public HIDReportParser
{
JoystickEvents joyEvents;_
uint8_t oldPad[RPT_GAMEPAD_LEN];
public:
_ JoystickReportParser(JoystickEvents evt);
virtual void Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf);
};
#endif // HIDJOYSTICKRPTPARSER_H
=================================================================_