#include <Aircraft/aircraft.hxx>
#include <Debug/logstream.hxx>
+#include <Main/options.hxx>
#if defined( ENABLE_PLIB_JOYSTICK )
# include <js.h> // plib include
return 0;
}
+ // I hate doing this sort of thing, but it's overridable from the
+ // command line/config file. If the user hasn't specified an
+ // autocoordination preference, and if they have a single 2 axis
+ // joystick, then automatical enable auto_coordination.
+
+ if ( (current_options.get_auto_coordination() ==
+ fgOPTIONS::FG_AUTO_COORD_NOT_SPECIFIED) &&
+ (!js0->notWorking() && js1->notWorking() && (js0->getNumAxes() < 3)
+ )
+ )
+ {
+ current_options.set_auto_coordination(fgOPTIONS::FG_AUTO_COORD_ENABLED);
+ }
+
+
#elif defined( ENABLE_GLUT_JOYSTICK )
glutJoystickFunc(joystick, 100);
((-js_ax0[2] + 1) / 2) );
}
if ( js0->getNumAxes() > 3 ) {
- controls.set_rudder( js_ax0[3] );
+ if ( current_options.get_auto_coordination() !=
+ fgOPTIONS::FG_AUTO_COORD_ENABLED )
+ {
+ controls.set_rudder( js_ax0[3] );
+ }
}
// End of William's code
if ( ! js1->notWorking() ) {
js1->read( &b, js_ax1 ) ;
- controls.set_rudder( js_ax1[0] );
+ if ( current_options.get_auto_coordination() !=
+ fgOPTIONS::FG_AUTO_COORD_ENABLED )
+ {
+ controls.set_rudder( js_ax1[0] );
+ }
controls.set_throttle( FGControls::ALL_ENGINES, -js_ax1[1] * 1.05 );
}