]> git.mxchange.org Git - flightgear.git/blobdiff - src/Input/fgjs.cxx
Small tweaks to initialization sequence and logic so we can default to
[flightgear.git] / src / Input / fgjs.cxx
index 80cfc97ad503e4859abdbdde5fbbfc4dbcdb68be..691c9df1a09e72e372199c4ccb9b1646e6228b6a 100644 (file)
@@ -33,9 +33,12 @@ SG_USING_STD(fstream);
 SG_USING_STD(cout);
 SG_USING_STD(endl);
 SG_USING_STD(ios);
-SG_USING_STD(string);
 #endif
+SG_USING_STD(string);
 
+#if defined(_MSC_VER) || defined(__MINGW32__)
+#define snprintf _snprintf
+#endif
 
 string axes_humannames[8] = { "elevator", "ailerons", "rudder", "throttle", 
                               "mixture","propller pitch", "lateral view", 
@@ -89,15 +92,16 @@ void waitForButton(jsSuper *jss, int wait_ms) {
 
 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;
@@ -107,13 +111,13 @@ void writeAxisProperties(fstream &fs, int control,int joystick, int axis) {
 
 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; 
 }