#include STL_FSTREAM
#include STL_STRING
-#include <jssuper.h>
#include <jsinput.h>
+SG_USING_STD(fstream);
+SG_USING_STD(cout);
+SG_USING_STD(endl);
+SG_USING_STD(ios);
SG_USING_STD(string);
-
string axes_humannames[8] = { "elevator", "ailerons", "rudder", "throttle",
"mixture","propller pitch", "lateral view",
"longitudinal view"
};
-string axes_propnames[8]={ "/controls/elevator","/controls/aileron",
- "/controls/rudder","/controls/throttle",
- "/controls/mixture","/controls/pitch",
+string axes_propnames[8]={ "/controls/flight/elevator","/controls/flight/aileron",
+ "/controls/flight/rudder","/controls/engines/engine/throttle",
+ "/controls/engines/engine/mixture","/controls/engines/engine/pitch",
"/sim/views/axes/lat","/sim/views/axes/long"
};
bool half_range[8]={ false,false,false,true,true,true,false,false };
-string button_humannames[7]= { "apply all brakes", "apply left brake",
+string button_humannames[6]= { "apply left brake",
"apply right brake", "step flaps up",
"step flaps down","apply nose-up trim",
"apply nose-down trim"
};
-string button_propnames[7]={ "/controls/brakes/all", "/controls/brakes[0]",
- "/controls/brakes[1]", "/controls/flaps",
- "/controls/flaps","/controls/elevator-trim",
- "/controls/elevator-trim"
+string button_propnames[6]={ "/controls/gear/brake-left",
+ "/controls/gear/brake-right",
+ "/controls/flight/flaps",
+ "/controls/flight/flaps",
+ "/controls/flight/elevator-trim",
+ "/controls/flight/elevator-trim"
};
-float button_step[7]={ 1.0, 1.0, 1.0, 0.34, -0.34, 0.001, -0.001 };
+float button_step[6]={ 1.0, 1.0, 0.34, -0.34, 0.001, -0.001 };
-string button_repeat[7]={ "false", "false", "false", "false", "false",
+string button_repeat[6]={ "false", "false", "false", "false",
"true", "true" };
void writeAxisProperties(fstream &fs, int control,int joystick, int axis) {
- char jsDesc[40];
- snprintf(jsDesc,40,"--prop:/input/joysticks/js[%d]/axis[%d]",joystick,axis);
- fs << jsDesc << "/control=" << axes_propnames[control] << endl;
+ char jsDesc[80];
+ snprintf(jsDesc,80,"--prop:/input/joysticks/js[%d]/axis[%d]/binding",joystick,axis);
+ fs << jsDesc << "/command=property-scale" << endl;
+ fs << jsDesc << "/property=" << axes_propnames[control] << endl;
fs << jsDesc << "/dead-band=0.02" << endl;
if( half_range[control] == true) {
fs << jsDesc << "/offset=-1.0" << endl;
- fs << jsDesc << "/factor=0.5" << endl;
+ fs << jsDesc << "/factor=-0.5" << endl;
} else {
fs << jsDesc << "/offset=0.0" << endl;
fs << jsDesc << "/factor=1.0" << endl;
void writeButtonProperties(fstream &fs, int property,int joystick, int button) {
- char jsDesc[40];
- snprintf(jsDesc,40,"--prop:/input/joysticks/js[%d]/button[%d]",joystick,button);
+ char jsDesc[80];
+ snprintf(jsDesc,80,"--prop:/input/joysticks/js[%d]/button[%d]/binding",joystick,button);
- fs << jsDesc << "/action=adjust" << endl;
- fs << jsDesc << "/control=" << button_propnames[property] << endl;
- fs << jsDesc << "/step=" << button_step[property] << endl;
fs << jsDesc << "/repeatable=" << button_repeat[property] << endl;
+ fs << jsDesc << "/command=property-adjust" << endl;
+ fs << jsDesc << "/property=" << button_propnames[property] << endl;
+ fs << jsDesc << "/step=" << button_step[property] << endl;
fs << endl;
}
int main(void) {
+ jsInit();
+
jsSuper *jss=new jsSuper();
jsInput *jsi=new jsInput(jss);
jsi->displayValues(false);
- int i;
+ // int i;
int control=0;
cout << endl;
}
- for(control=0;control<=6;control++) {
+ for(control=0;control<=5;control++) {
cout << "Press the button you wish to use to "
<< button_humannames[control]
<< endl;