]> git.mxchange.org Git - flightgear.git/blobdiff - src/Input/input.hxx
new FSF address
[flightgear.git] / src / Input / input.hxx
index 755b6d66fd74c8a74f32edaaf190eb39982733a3..a23540e29d358a396c6336286580a86b5e06174e 100644 (file)
@@ -16,7 +16,7 @@
 //
 // You should have received a copy of the GNU General Public License
 // along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 //
 // $Id$
 
@@ -33,6 +33,7 @@
 
 #include <simgear/compiler.h>
 
+#include <simgear/misc/sg_path.hxx>
 #include <simgear/structure/subsystem_mgr.hxx>
 #include <simgear/structure/commands.hxx>
 #include <simgear/props/condition.hxx>
@@ -94,7 +95,7 @@ public:
   /**
    * Destructor.
    */
-  virtual ~FGBinding () {}
+  virtual ~FGBinding ();
 
 
   /**
@@ -194,6 +195,8 @@ public:
   // Implementation of SGSubsystem.
   //
   virtual void init ();
+  virtual void reinit ();
+  virtual void postinit ();
   virtual void update (double dt);
   virtual void suspend ();
   virtual void resume ();
@@ -358,6 +361,13 @@ private:
   void _init_joystick ();
 
 
+  /**
+   * Scan directory recursively for "named joystick" configuration files,
+   * and read them into /input/joysticks/js-named[index]++.
+   */
+  void _scan_joystick_dir (SGPath *path, SGPropertyNode* node, int *index);
+
+
   /**
    * Initialize mouse bindings.
    */
@@ -371,6 +381,11 @@ private:
                            button &b,
                            const string name);
 
+  /**
+   * Initialize nasal parts that had to wait for the nasal to get
+   * functional.
+   */
+  void _postinit_joystick ();
 
   /**
    * Update the keyboard.
@@ -414,6 +429,10 @@ private:
   joystick _joystick_bindings[MAX_JOYSTICKS];
   mouse _mouse_bindings[MAX_MICE];
 
+  /**
+   * Nasal module name/namespace.
+   */
+  char _module[32];
 };
 
 #endif // _INPUT_HXX