X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f50de1504e002ba3afac3491c8b4817870c850d8..e319bb30f7e88242f56144fcc279b57047566a6b:/src/unix/joystick.cpp?ds=sidebyside diff --git a/src/unix/joystick.cpp b/src/unix/joystick.cpp index eda239978d..64afa78cb9 100644 --- a/src/unix/joystick.cpp +++ b/src/unix/joystick.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: joystick.cpp +// Name: src/unix/joystick.cpp // Purpose: wxJoystick class // Author: Ported to Linux by Guilhem Lavaux // Modified by: @@ -9,19 +9,18 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "joystick.h" -#endif - // for compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#include "wx/defs.h" - #if wxUSE_JOYSTICK #include "wx/joystick.h" +#ifndef WX_PRECOMP + #include "wx/event.h" + #include "wx/window.h" +#endif //WX_PRECOMP + #include #include #include @@ -30,8 +29,11 @@ #include #include -#include "wx/event.h" -#include "wx/window.h" +#ifdef HAVE_SYS_SELECT_H +# include +#endif + +#include "wx/unix/private.h" enum { wxJS_AXIS_X = 0, @@ -91,7 +93,7 @@ void* wxJoystickThread::Entry() fd_set read_fds; struct timeval time_out = {0, 0}; - FD_ZERO(&read_fds); + wxFD_ZERO(&read_fds); while (true) { if (TestDestroy()) @@ -104,9 +106,9 @@ void* wxJoystickThread::Entry() else time_out.tv_usec = 10 * 1000; // check at least every 10 msec in blocking case - FD_SET(m_device, &read_fds); + wxFD_SET(m_device, &read_fds); select(m_device+1, &read_fds, NULL, NULL, &time_out); - if (FD_ISSET(m_device, &read_fds)) + if (wxFD_ISSET(m_device, &read_fds)) { memset(&j_evt, 0, sizeof(j_evt)); read(m_device, &j_evt, sizeof(j_evt)); @@ -191,7 +193,7 @@ wxJoystick::wxJoystick(int joystick) if (m_device == -1) { dev_name.Printf( wxT("/dev/input/js%d"), joystick); - m_device = open(dev_name.fn_str(), O_RDONLY); + m_device = open(dev_name.fn_str(), O_RDONLY); } if (m_device != -1) @@ -286,7 +288,7 @@ bool wxJoystick::IsOk() const return (m_device != -1); } -int wxJoystick::GetNumberJoysticks() const +int wxJoystick::GetNumberJoysticks() { wxString dev_name; int fd, j; @@ -298,7 +300,7 @@ int wxJoystick::GetNumberJoysticks() const break; close(fd); } - + if (j == 0) { for (j=0; j<4; j++) { dev_name.Printf(wxT("/dev/input/js%d"), j); @@ -308,7 +310,7 @@ int wxJoystick::GetNumberJoysticks() const close(fd); } } - + return j; } @@ -492,4 +494,3 @@ bool wxJoystick::ReleaseCapture() return false; } #endif // wxUSE_JOYSTICK -