mirror of
https://github.com/glfw/glfw.git
synced 2024-11-26 06:14:35 +00:00
Merge 0a19ea0a3e
into b35641f4a3
This commit is contained in:
commit
e0c68348f3
@ -386,6 +386,7 @@ void _glfwTerminateJoysticksLinux(void)
|
|||||||
GLFWbool _glfwPollJoystickLinux(_GLFWjoystick* js, int mode)
|
GLFWbool _glfwPollJoystickLinux(_GLFWjoystick* js, int mode)
|
||||||
{
|
{
|
||||||
// Read all queued events (non-blocking)
|
// Read all queued events (non-blocking)
|
||||||
|
GLFWbool event_valid = GLFW_FALSE;
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
struct input_event e;
|
struct input_event e;
|
||||||
@ -396,6 +397,8 @@ GLFWbool _glfwPollJoystickLinux(_GLFWjoystick* js, int mode)
|
|||||||
// Reset the joystick slot if the device was disconnected
|
// Reset the joystick slot if the device was disconnected
|
||||||
if (errno == ENODEV)
|
if (errno == ENODEV)
|
||||||
closeJoystick(js);
|
closeJoystick(js);
|
||||||
|
else if ((errno == EAGAIN) && (mode != _GLFW_POLL_PRESENCE))
|
||||||
|
return event_valid;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -407,6 +410,7 @@ GLFWbool _glfwPollJoystickLinux(_GLFWjoystick* js, int mode)
|
|||||||
else if (e.code == SYN_REPORT)
|
else if (e.code == SYN_REPORT)
|
||||||
{
|
{
|
||||||
_glfw.linjs.dropped = GLFW_FALSE;
|
_glfw.linjs.dropped = GLFW_FALSE;
|
||||||
|
event_valid = GLFW_TRUE;
|
||||||
pollAbsState(js);
|
pollAbsState(js);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user