]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/client/inputhandler.h
Clean up getTime helpers
[dragonfireclient.git] / src / client / inputhandler.h
index 73e507fdc8567b0bf7776ea20fb9ecbf35a4af43..824b0da2ee77e97581b1af066b6bb9919737529a 100644 (file)
@@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #define INPUT_HANDLER_H
 
 #include "irrlichttypes_extrabloated.h"
+#include "joystick_controller.h"
 
 class MyEventReceiver : public IEventReceiver
 {
@@ -62,6 +63,14 @@ class MyEventReceiver : public IEventReceiver
                        return true;
                }
 #endif
+
+               if (event.EventType == irr::EET_JOYSTICK_INPUT_EVENT) {
+                       /* TODO add a check like:
+                       if (event.JoystickEvent != joystick_we_listen_for)
+                               return false;
+                       */
+                       return joystick->handleEvent(event.JoystickEvent);
+               }
                // handle mouse events
                if (event.EventType == irr::EET_MOUSE_INPUT_EVENT) {
                        if (noMenuActive() == false) {
@@ -172,6 +181,8 @@ class MyEventReceiver : public IEventReceiver
 
        s32 mouse_wheel;
 
+       JoystickController *joystick;
+
 #ifdef HAVE_TOUCHSCREENGUI
        TouchScreenGUI* m_touchscreengui;
 #endif
@@ -202,6 +213,7 @@ class RealInputHandler : public InputHandler
                m_receiver(receiver),
                m_mousepos(0,0)
        {
+               m_receiver->joystick = &joystick;
        }
        virtual bool isKeyDown(const KeyPress &keyCode)
        {
@@ -288,6 +300,7 @@ class RealInputHandler : public InputHandler
 
        void clear()
        {
+               joystick.clear();
                m_receiver->clearInput();
        }
 private: