fix incorrect timestamps due to InputHandler::ButtonPressed never being called

This commit is contained in:
Glenn Maynard
2005-05-17 21:00:28 +00:00
parent 8979ac38e6
commit 9fe86706a4
@@ -23,6 +23,8 @@ static const char *Paths[InputHandler_Linux_Joystick::NUM_JOYSTICKS] =
InputHandler_Linux_Joystick::InputHandler_Linux_Joystick() InputHandler_Linux_Joystick::InputHandler_Linux_Joystick()
{ {
LOG->Trace( "InputHandler_Linux_Joystick::InputHandler_Linux_Joystick" );
for(int i = 0; i < NUM_JOYSTICKS; ++i) for(int i = 0; i < NUM_JOYSTICKS; ++i)
fds[i] = -1; fds[i] = -1;
@@ -83,13 +85,11 @@ void InputHandler_Linux_Joystick::Update(float fDeltaTime)
} }
if(max_fd == -1) if(max_fd == -1)
return; break;
struct timeval zero = {0,0}; struct timeval zero = {0,0};
if ( select(max_fd+1, &fdset, NULL, NULL, &zero) <= 0 ) if ( select(max_fd+1, &fdset, NULL, NULL, &zero) <= 0 )
return; break;
RageTimer now;
for(int i = 0; i < NUM_JOYSTICKS; ++i) for(int i = 0; i < NUM_JOYSTICKS; ++i)
{ {
@@ -114,15 +114,15 @@ void InputHandler_Linux_Joystick::Update(float fDeltaTime)
event.type &= ~JS_EVENT_INIT; event.type &= ~JS_EVENT_INIT;
switch (event.type) { switch (event.type) {
case JS_EVENT_BUTTON: { case JS_EVENT_BUTTON: {
ButtonPressed(DeviceInput(id, JOY_1 + event.number, -1, now), event.value); ButtonPressed(DeviceInput(id, JOY_1 + event.number), event.value);
break; break;
} }
case JS_EVENT_AXIS: { case JS_EVENT_AXIS: {
JoystickButton neg = (JoystickButton)(JOY_LEFT+2*event.number); JoystickButton neg = (JoystickButton)(JOY_LEFT+2*event.number);
JoystickButton pos = (JoystickButton)(JOY_RIGHT+2*event.number); JoystickButton pos = (JoystickButton)(JOY_RIGHT+2*event.number);
ButtonPressed(DeviceInput(id, neg, -1, now), event.value < -16000); ButtonPressed(DeviceInput(id, neg), event.value < -16000);
ButtonPressed(DeviceInput(id, pos, -1, now), event.value > +16000); ButtonPressed(DeviceInput(id, pos), event.value > +16000);
break; break;
} }