#ifndef JOYSTICKANDROID_H #define JOYSTICKANDROID_H #include "Joystick.h" #include "Vehicle.h" #include "MultiVehicleManager.h" #include #include #include #include #include class JoystickAndroid : public Joystick, public QtAndroidPrivate::GenericMotionEventListener, public QtAndroidPrivate::KeyEventListener { public: JoystickAndroid(const QString& name, int id, MultiVehicleManager* multiVehicleManager); ~JoystickAndroid(); static QMap discover(MultiVehicleManager* _multiVehicleManager); private: bool handleKeyEvent(jobject event); bool handleGenericMotionEvent(jobject event); virtual bool open(); virtual void close(); virtual bool update(); virtual bool getButton(int i); virtual int getAxis(int i); int *btnCode; int *axisCode; bool *btnValue; int *axisValue; static void _buttonList(); static int * _androidBtnList; //list of all possible android buttons static int _androidBtnListCount; static QMutex m_mutex; int deviceId; }; #endif // JOYSTICKANDROID_H