#pragma implementation "joystick.h"
#endif
+#include "wx/defs.h"
+
+#if wxUSE_JOYSTICK
+
+#include "wx/joystick.h"
+
#include <linux/joystick.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <unistd.h>
+
#include "wx/event.h"
#include "wx/window.h"
-#include "wx/gtk/joystick.h"
#define JOYSTICK_AXE_MAX 32767
#define JOYSTICK_AXE_MIN -32767
{
wxString dev_name;
// Assume it's the same device name on all Linux systems ...
- dev_name.Printf("/dev/js%d", (joystick == wxJOYSTICK1) ? 0 : 1);
+ dev_name.Printf( wxT("/dev/js%d"), (joystick == wxJOYSTICK1) ? 0 : 1); // FIXME Unicode?
- m_joystick = open(dev_name, O_RDWR);
+ m_joystick = open(dev_name.fn_str(), O_RDWR);
m_lastposition = wxPoint(-1, -1);
for (int i=0;i<15;i++)
m_axe[i] = 0;
struct timeval time_out = {0, 0};
FD_ZERO(&read_fds);
- DeferDestroy(TRUE);
while (1) {
TestDestroy();
int wxJoystick::GetPOVPosition(void) const
{
- return 0;
+ return -1;
}
int wxJoystick::GetPOVCTSPosition(void) const
{
- return 0;
+ return -1;
}
int wxJoystick::GetRudderPosition(void) const
int fd, j;
for (j=0;j<2;j++) {
- dev_name.Printf("/dev/js%d", j);
- fd = open(dev_name, O_RDONLY);
+ dev_name.Printf(wxT("/dev/js%d"), j);
+ fd = open(dev_name.fn_str(), O_RDONLY);
if (fd == -1)
return j;
close(fd);
wxString wxJoystick::GetProductName(void) const
{
- return "";
+ wxString dev_name;
+ // 2002-08-20 johan@linkdata.se
+ // Return the device name in lieu of a better one
+ dev_name.Printf( wxT("/dev/js%d"), (m_joystick == wxJOYSTICK1) ? 0 : 1); // FIXME Unicode?
+ return dev_name;
}
int wxJoystick::GetXMin(void) const
// Operations
////////////////////////////////////////////////////////////////////////////
-bool wxJoystick::SetCapture(wxWindow* win, int pollingFreq = 0)
+bool wxJoystick::SetCapture(wxWindow* win, int pollingFreq)
{
m_catchwin = win;
m_polling = pollingFreq;
m_polling = 0;
return TRUE;
}
+#endif // wxUSE_JOYSTICK