|
|
@ -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; |
|
|
|