package org.usfirst.frc.team1360.robot;

import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.buttons.Button;
import edu.wpi.first.wpilibj.buttons.JoystickButton;
import edu.wpi.first.wpilibj.buttons.Trigger;

/**
 * This class is the glue that binds the controls on the physical operator
 * interface to the commands and command groups that allow control of the robot.
 */
public class OI 
{

	private static final Joystick JS_DRIVER = new Joystick(RobotMap.JOYSTICK_DRIVER);
	private static final Joystick JS_OPERATOR = new Joystick(RobotMap.JOYSTICK_OPERATOR);

	private static double getDriverLeftXAxis()
    {
    	return JS_DRIVER.getRawAxis(0); //Driver controller, left stick X axis
    }
    
    private static double getDriverLeftYAxis() //Driver controller, left stick Y axis
    {
    	return JS_DRIVER.getRawAxis(1);
    }
    
    private static double getDriverLeftTrigger() //Driver controller, left trigger
    {
    	return JS_DRIVER.getRawAxis(2);
    }
    
    private static double getDriverRightTrigger() //Driver controller, right trigger
    {
    	return JS_DRIVER.getRawAxis(3);
    }
    
    private static double getDriverRightXAxis() //Driver controller, right stick X axis
    {
    	return JS_DRIVER.getRawAxis(4);
    }
    
    private static double getDriverRightYAxis() //Driver controller, right stick Y axis
    {
    	return JS_DRIVER.getRawAxis(5);
    }
	
    private static boolean getDriverButtonA()
    {
    	return JS_DRIVER.getRawButton(0);
    }
    
    private static boolean getDriverButtonB()
    {
    	return JS_DRIVER.getRawButton(1);
    }
    
    private static boolean getDriverButtonX()
    {
    	return JS_DRIVER.getRawButton(2);
    }
    
    private static boolean getDriverButtonY()
    {
    	return JS_DRIVER.getRawButton(3);
    }
    
    private static boolean getDriverButtonLB()
    {
    	return JS_DRIVER.getRawButton(4);
    }
    
    private static boolean getDriverButtonRB()
    {
    	return JS_DRIVER.getRawButton(5);
    }
    
    private static boolean getDriverButtonBack()
    {
    	return JS_DRIVER.getRawButton(6);
    }
    
    private static boolean getDriverButtonStart()
    {
    	return JS_DRIVER.getRawButton(7);
    }
    
    private static boolean getDriverClickLeftStick()
    {
    	return JS_DRIVER.getRawButton(8);
    }
    
    private static boolean getDriverClickRightStick()
    {
    	return JS_DRIVER.getRawButton(9);
    }
    
    private static double getOperatorLeftStickXAxis()
    {
    	return JS_OPERATOR.getRawAxis(0);
    }
    
    private static double getOperatorLeftStickYAxis()
    {
    	return JS_OPERATOR.getRawAxis(1);
    }
    
    private static double getOperatorLeftTrigger()
    {
    	return JS_OPERATOR.getRawAxis(2);
    }
    
    private static double getOperatorRightTrigger()
    {
    	return JS_OPERATOR.getRawAxis(3);
    }
    
    private static double getOperatorRightStickXAxis()
    {
    	return JS_OPERATOR.getRawAxis(4);
    }
    
    private static double getOperatorRightStickYAxis()
    {
    	return JS_OPERATOR.getRawAxis(5);
    }
    
    private static boolean getOperatorButtonA()
    {
    	return JS_OPERATOR.getRawButton(0);
    }
    
    private static boolean getOperatorButtonB()
    {
    	return JS_OPERATOR.getRawButton(1);
    }
    
    private static boolean getOperatorButtonX()
    {
    	return JS_OPERATOR.getRawButton(2);
    }
    
    private static boolean getOperatorButtonY()
    {
    	return JS_OPERATOR.getRawButton(3);
    }
    
    private static boolean getOperatorButtonLB()
    {
    	return JS_OPERATOR.getRawButton(4);
    }
    
    private static boolean getOperatorButtonRB()
    {
    	return JS_OPERATOR.getRawButton(5);
    }
    
    private static boolean getOperatorButtonBack()
    {
    	return JS_OPERATOR.getRawButton(6);
    }
    
    private static boolean getOperatorButtonStart()
    {
    	return JS_OPERATOR.getRawButton(7);
    }
    
    private static boolean getOperatorClickLeftStick()
    {
    	return JS_OPERATOR.getRawButton(8);
    }
    
    private static boolean getOperatorClickRightStick()
    {
    	return JS_OPERATOR.getRawButton(9);
    }
}


@@ -216,16 +216,71 @@
 Trigger;
+%0Aimport org.usfirst.frc.team1360.robot.util.Controller;
 %0A%0A/**%0A *
@@ -483,3770 +483,226 @@
 nal 
-Joystick JS_DRIVER = new Joystick(RobotMap.JOYSTICK_DRIVER);%0A%09private static final Joystick JS_OPERATOR = new Joystick(RobotMap.JOYSTICK_OPERATOR);%0A%0A%09private static double getDriverLeftXAxis()%0A    %7B%0A    %09return JS_DRIVER.getRawAxis(0); //Driver controller, left stick X axis%0A    %7D%0A    %0A    private static double getDriverLeftYAxis() //Driver controller, left stick Y axis%0A    %7B%0A    %09return JS_DRIVER.getRawAxis(1);%0A    %7D%0A    %0A    private static double getDriverLeftTrigger() //Driver controller, left trigger%0A    %7B%0A    %09return JS_DRIVER.getRawAxis(2);%0A    %7D%0A    %0A    private static double getDriverRightTrigger() //Driver controller, right trigger%0A    %7B%0A    %09return JS_DRIVER.getRawAxis(3);%0A    %7D%0A    %0A    private static double getDriverRightXAxis() //Driver controller, right stick X axis%0A    %7B%0A    %09return JS_DRIVER.getRawAxis(4);%0A    %7D%0A    %0A    private static double getDriverRightYAxis() //Driver controller, right stick Y axis%0A    %7B%0A    %09return JS_DRIVER.getRawAxis(5);%0A    %7D%0A%09%0A    private static boolean getDriverButtonA()%0A    %7B%0A    %09return JS_DRIVER.getRawButton(0);%0A    %7D%0A    %0A    private static boolean getDriverButtonB()%0A    %7B%0A    %09return JS_DRIVER.getRawButton(1);%0A    %7D%0A    %0A    private static boolean getDriverButtonX()%0A    %7B%0A    %09return JS_DRIVER.getRawButton(2);%0A    %7D%0A    %0A    private static boolean getDriverButtonY()%0A    %7B%0A    %09return JS_DRIVER.getRawButton(3);%0A    %7D%0A    %0A    private static boolean getDriverButtonLB()%0A    %7B%0A    %09return JS_DRIVER.getRawButton(4);%0A    %7D%0A    %0A    private static boolean getDriverButtonRB()%0A    %7B%0A    %09return JS_DRIVER.getRawButton(5);%0A    %7D%0A    %0A    private static boolean getDriverButtonBack()%0A    %7B%0A    %09return JS_DRIVER.getRawButton(6);%0A    %7D%0A    %0A    private static boolean getDriverButtonStart()%0A    %7B%0A    %09return JS_DRIVER.getRawButton(7);%0A    %7D%0A    %0A    private static boolean getDriverClickLeftStick()%0A    %7B%0A    %09return JS_DRIVER.getRawButton(8);%0A    %7D%0A    %0A    private static boolean getDriverClickRightStick()%0A    %7B%0A    %09return JS_DRIVER.getRawButton(9);%0A    %7D%0A    %0A    private static double getOperatorLeftStickXAxis()%0A    %7B%0A    %09return JS_OPERATOR.getRawAxis(0);%0A    %7D%0A    %0A    private static double getOperatorLeftStickYAxis()%0A    %7B%0A    %09return JS_OPERATOR.getRawAxis(1);%0A    %7D%0A    %0A    private static double getOperatorLeftTrigger()%0A    %7B%0A    %09return JS_OPERATOR.getRawAxis(2);%0A    %7D%0A    %0A    private static double getOperatorRightTrigger()%0A    %7B%0A    %09return JS_OPERATOR.getRawAxis(3);%0A    %7D%0A    %0A    private static double getOperatorRightStickXAxis()%0A    %7B%0A    %09return JS_OPERATOR.getRawAxis(4);%0A    %7D%0A    %0A    private static double getOperatorRightStickYAxis()%0A    %7B%0A    %09return JS_OPERATOR.getRawAxis(5);%0A    %7D%0A    %0A    private static boolean getOperatorButtonA()%0A    %7B%0A    %09return JS_OPERATOR.getRawButton(0);%0A    %7D%0A    %0A    private static boolean getOperatorButtonB()%0A    %7B%0A    %09return JS_OPERATOR.getRawButton(1);%0A    %7D%0A    %0A    private static boolean getOperatorButtonX()%0A    %7B%0A    %09return JS_OPERATOR.getRawButton(2);%0A    %7D%0A    %0A    private static boolean getOperatorButtonY()%0A    %7B%0A    %09return JS_OPERATOR.getRawButton(3);%0A    %7D%0A    %0A    private static boolean getOperatorButtonLB()%0A    %7B%0A    %09return JS_OPERATOR.getRawButton(4);%0A    %7D%0A    %0A    private static boolean getOperatorButtonRB()%0A    %7B%0A    %09return JS_OPERATOR.getRawButton(5);%0A    %7D%0A    %0A    private static boolean getOperatorButtonBack()%0A    %7B%0A    %09return JS_OPERATOR.getRawButton(6);%0A    %7D%0A    %0A    private static boolean getOperatorButtonStart()%0A    %7B%0A    %09return JS_OPERATOR.getRawButton(7);%0A    %7D%0A    %0A    private static boolean getOperatorClickLeftStick()%0A    %7B%0A    %09return JS_OPERATOR.getRawButton(8);%0A    %7D%0A    %0A    private static boolean getOperatorClickRightStick()%0A    %7B%0A    %09return JS_OPERATOR.getRawButton(9);%0A    %7D
+Controller JS_DRIVER = new Controller(RobotMap.JOYSTICK_DRIVER);%0A%09private static final Controller JS_OPERATOR = new Controller(RobotMap.JOYSTICK_OPERATOR);%0A%09%0A%09public static double getDriverThrottle()%0A%09%7B%0A%09%09return 0;%0A%09%7D%0A
 %0A%7D%0A%0A

Update OI.java