diff --git a/src/input.c b/src/input.c index a2ba1249..030cbe80 100644 --- a/src/input.c +++ b/src/input.c @@ -1260,14 +1260,14 @@ GLFWAPI int glfwGetGamepadState(int jid, GLFWgamepadstate* state) const float value = js->axes[e->index] * e->axisScale + e->axisOffset; // HACK: This should be baked into the value transform // TODO: Bake into transform when implementing output modifiers - if (e->axisScale < 0 || e->axisOffset < 0) + if (e->axisOffset < 0 || (e->axisOffset == 0 && e->axisScale > 0)) { - if (value > 0.f) + if (value >= 0.f) state->buttons[i] = GLFW_PRESS; } else { - if (value < 0.f) + if (value <= 0.f) state->buttons[i] = GLFW_PRESS; } }