]> git.mxchange.org Git - flightgear.git/blobdiff - src/Input/fgjs.cxx
Added write-all parameter to save command. If set to true, the
[flightgear.git] / src / Input / fgjs.cxx
index e9ed0aa72639f3f77482279780617f0cdf87f9f0..691c9df1a09e72e372199c4ccb9b1646e6228b6a 100644 (file)
 #include STL_FSTREAM
 #include STL_STRING
 
-#include <jssuper.h>
 #include <jsinput.h>
 
+#if !defined(SG_HAVE_NATIVE_SGI_COMPILERS)
+SG_USING_STD(fstream);
+SG_USING_STD(cout);
+SG_USING_STD(endl);
+SG_USING_STD(ios);
+#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", 
@@ -84,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;
@@ -102,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; 
 }    
 
@@ -119,7 +128,7 @@ int main(void) {
   jsSuper *jss=new jsSuper();
   jsInput *jsi=new jsInput(jss);
   jsi->displayValues(false);
-  int i;
+  // int i;
   int control=0;