mirror of
https://github.com/glfw/glfw.git
synced 2024-11-29 13:32:01 +00:00
parent
d2952e4e92
commit
6da26c8d6c
@ -399,12 +399,24 @@ int _glfwPlatformPollJoystick(int jid, int mode)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (e.type == EV_SYN)
|
||||||
|
{
|
||||||
|
if (e.code == SYN_DROPPED)
|
||||||
|
_glfw.linjs.dropped = GLFW_TRUE;
|
||||||
|
else if (e.code == SYN_REPORT)
|
||||||
|
{
|
||||||
|
_glfw.linjs.dropped = GLFW_FALSE;
|
||||||
|
pollAbsState(js);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_glfw.linjs.dropped)
|
||||||
|
continue;
|
||||||
|
|
||||||
if (e.type == EV_KEY)
|
if (e.type == EV_KEY)
|
||||||
handleKeyEvent(js, e.code, e.value);
|
handleKeyEvent(js, e.code, e.value);
|
||||||
else if (e.type == EV_ABS)
|
else if (e.type == EV_ABS)
|
||||||
handleAbsEvent(js, e.code, e.value);
|
handleAbsEvent(js, e.code, e.value);
|
||||||
else if (e.type == EV_SYN && e.code == SYN_DROPPED)
|
|
||||||
pollAbsState(js);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return js->present;
|
return js->present;
|
||||||
|
@ -50,6 +50,7 @@ typedef struct _GLFWlibraryLinux
|
|||||||
int inotify;
|
int inotify;
|
||||||
int watch;
|
int watch;
|
||||||
regex_t regex;
|
regex_t regex;
|
||||||
|
GLFWbool dropped;
|
||||||
} _GLFWlibraryLinux;
|
} _GLFWlibraryLinux;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user