]> git.mxchange.org Git - flightgear.git/blobdiff - src/Joystick/js_demo.cxx
Updated for 8 ...
[flightgear.git] / src / Joystick / js_demo.cxx
index aeee4dbec750a83d7e5c180e2c3a457e2ed4ff56..904a4097d02eda65fca96f1a4c40b2166f899e3e 100644 (file)
@@ -1,60 +1,79 @@
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#ifdef HAVE_WINDOWS_H
+#  include <windows.h>                     
+#endif
 
+#include <string.h>            // plib/js.h should really include this !!!!!!
 #include <plib/js.h>
 
+#define Z 8
+
 int main ( int, char ** )
 {
-  jsJoystick *js[2] ;
-  float      *ax[2] ;
+  jsJoystick *js[Z] ;
+  float      *ax[Z] ;
+  int i, j, t, useful[Z];
 
-  js[0] = new jsJoystick ( 0 ) ;
-  js[1] = new jsJoystick ( 1 ) ;
+  for ( i = 0; i < Z; i++ )
+      js[i] = new jsJoystick ( i ) ;
 
   printf ( "Joystick test program.\n" ) ;
   printf ( "~~~~~~~~~~~~~~~~~~~~~~\n" ) ;
 
-  if ( js[0]->notWorking () ) printf ( "Joystick 0 not detected\n" ) ;
-  if ( js[1]->notWorking () ) printf ( "Joystick 1 not detected\n" ) ;
-  if ( js[0]->notWorking () && js[1]->notWorking () ) exit ( 1 ) ;
-
-  ax[0] = new float [ js[0]->getNumAxes () ] ;
-  ax[1] = new float [ js[1]->getNumAxes () ] ;
+  t = 0;
+  for ( i = 0; i < Z; i++ )
+  { useful[i] = ! ( js[i]->notWorking () );
+    if ( useful[i] )
+         t++;
+    else printf ( "Joystick %i not detected\n", i ) ;
+  }
+  if ( t == 0 ) exit ( 1 ) ;
 
-  int i, j ;
+  for ( i = 0; i < Z; i++ )
+    if ( useful[i] )
+       ax[i] = new float [ js[i]->getNumAxes () ] ;
 
-  for ( i = 0 ; i < 2 ; i++ )
-    printf ( "+---------------JS.%d-----------------", i ) ;
+  for ( i = 0 ; i < Z ; i++ )
+    if ( useful[i] )
+       printf ( "+--------------------JS.%d----------------------", i ) ;
 
   printf ( "+\n" ) ;
 
-  for ( i = 0 ; i < 2 ; i++ )
-  {
+  for ( i = 0 ; i < Z ; i++ )
+   if ( useful[i] )
+   {
     if ( js[i]->notWorking () )
-      printf ( "|       ~~~ Not Detected ~~~         " ) ;
+      printf ( "|           ~~~ Not Detected ~~~             " ) ;
     else
     {
       printf ( "| Btns " ) ;
 
       for ( j = 0 ; j < js[i]->getNumAxes () ; j++ )
-        printf ( "Ax:%d ", j ) ;
+        printf ( "Ax:%1d ", j ) ;
 
-      for ( ; j < 6 ; j++ )
+      for ( ; j < 8 ; j++ )
         printf ( "     " ) ;
     }
-  }
+   }
 
   printf ( "|\n" ) ;
 
-  for ( i = 0 ; i < 2 ; i++ )
-    printf ( "+------------------------------------" ) ;
+  for ( i = 0 ; i < Z ; i++ )
+    if ( useful[i] )
+      printf ( "+----------------------------------------------" ) ;
 
   printf ( "+\n" ) ;
 
   while (1)
   {
-    for ( i = 0 ; i < 2 ; i++ )
-    {
+    for ( i = 0 ; i < Z ; i++ )
+    if ( useful[i] )
+     {
       if ( js[i]->notWorking () )
-        printf ( "|  .   .   .   .   .   .   .   .   . " ) ;
+        printf ( "|  .   .   .   .   .   .   .   .   .   .   . " ) ;
       else
       {
         int b ;
@@ -66,10 +85,10 @@ int main ( int, char ** )
        for ( j = 0 ; j < js[i]->getNumAxes () ; j++ )
          printf ( "%+.1f ", ax[i][j] ) ;
 
-       for ( ; j < 6 ; j++ )
+       for ( ; j < 8 ; j++ )
          printf ( "  .  " ) ;
       }
-    }
+     }
 
     printf ( "|\r" ) ;
     fflush ( stdout ) ;