diff options
Diffstat (limited to 'opentrack')
| -rw-r--r-- | opentrack/win32-joystick.cpp | 15 | ||||
| -rw-r--r-- | opentrack/win32-joystick.hpp | 17 | 
2 files changed, 18 insertions, 14 deletions
diff --git a/opentrack/win32-joystick.cpp b/opentrack/win32-joystick.cpp index 73e27f80..728e2f68 100644 --- a/opentrack/win32-joystick.cpp +++ b/opentrack/win32-joystick.cpp @@ -292,4 +292,19 @@ win32_joy_ctx::enum_state::EnumObjectsCallback(const DIDEVICEOBJECTINSTANCE *pdi      return DIENUM_CONTINUE;  } +win32_joy_ctx::joy::joy(LPDIRECTINPUTDEVICE8 handle, const QString &guid, const QString &name) +    : joy_handle(handle), guid(guid), name(name) +{ +    qDebug() << "got joy" << guid; +    for (int i = 0; i < 128; i++) +        pressed[i] = false; +    memset(&js_old, 0, sizeof(js_old)); +} + +win32_joy_ctx::joy::~joy() +{ +    qDebug() << "nix joy" << guid; +    release(); +} +  #endif diff --git a/opentrack/win32-joystick.hpp b/opentrack/win32-joystick.hpp index df00aee7..6d5e1074 100644 --- a/opentrack/win32-joystick.hpp +++ b/opentrack/win32-joystick.hpp @@ -24,7 +24,7 @@ namespace std {  template<>  struct hash<QString>  { -    std::size_t operator()(const QString& value) const +    inline std::size_t operator()(const QString& value) const      {          return qHash(value);      } @@ -78,19 +78,8 @@ private:          Timer first_timer;          DIJOYSTATE2 js_old; -        joy(LPDIRECTINPUTDEVICE8 handle, const QString& guid, const QString& name) -            : joy_handle(handle), guid(guid), name(name) -        { -            qDebug() << "got joy" << guid; -            for (int i = 0; i < 128; i++) -                pressed[i] = false; -        } - -        ~joy() -        { -            qDebug() << "nix joy" << guid; -            release(); -        } +        joy(LPDIRECTINPUTDEVICE8 handle, const QString& guid, const QString& name); +        ~joy();          void release();          bool poll(fn f);  | 
