May I reccomend a simpler system?
Assume the following variables:
Jaguar speedcontroller1
Joystick usb3
has been set up and initialized correctly
Code:
// with variable declarations (outside of main loop, so they don't reset every time)
bool togglestate = false;
bool lastu3b3state = false;
// somewhere in code (inside main loop, runs every time)
if ( lastu3b3state == true && usb3.GetRawButton( 3 ) == false ) togglestate = !togglestate;
speedcontroller1.Set( togglestate?0.5f:0.0f );
// at the end of the main loop, or at least after the button is done being used
lastu3b3state = usb3.GetRawButton( 3 );