Using the 4th axis, slider/z rotate, on a joystick.

I have been attempting to make our ball shooter run on this axis of the joystick for sometime, we want to be able to manually control the speed when necessary but not have it automatically return like a regular joystick axis.

I have been successful in programming tank drive with an x-box controllers 4th axis, z rotate, but I cannot get it to work out of our drive command.

Another issue is that when I try to call the command with a whileHeld I get a red comm light, bad codes.

Here is a link to our github: https://github.com/Phred7/SentinelSteamworks/tree/master/src/org/usfirst/frc2906/SentinelSteamworks

This is what I have in our subsystem:

public void shoot(double speed) {
	ballShooter.set(speed);
	
}

public void scaleShoot() {
	Robot.ballShooter.shoot(Robot.oi.getJoystick1ZR());
} 

This is the actual command:
public class ScaleShoot extends Command {

public ScaleShoot() {
	requires(Robot.ballShooter);
}

protected void initialize() {
}

protected void execute() {
	Robot.ballShooter.scaleShoot();
}

protected boolean isFinished() {
    return false;
}

protected void end() {
}

protected void interrupted() {
}

}

Any ideas?

Thanks for your help
~Walker Ward, 2906~