@Override
    public void setNativeCursor(final JmeCursor jmeCursor) {
        if (jmeCursor != null) {

            final long[] glfwCursor = jmeToGlfwCursorMap.computeIfAbsent(jmeCursor, GlfwMouseInput::createGlfwCursor);

            currentCursorFrame = 0;
            currentCursor = glfwCursor;
            currentCursorDelays = null;
            currentCursorFrameStartTime = glfwGetTime();

            if (jmeCursor.getImagesDelay() != null) {
                currentCursorDelays = jmeCursor.getImagesDelay();
            }

            glfwSetCursor(context.getWindowHandle(), glfwCursor[currentCursorFrame]);

        } else {
            currentCursor = null;
            currentCursorDelays = null;
            glfwSetCursor(context.getWindowHandle(), MemoryUtil.NULL);
        }
    }
Send the input listener a special mouse-motion event with zero deltas in
order to initialize the listener's cursor position.
jme3-lwjgl3/src/main/java/com/jme3/input/lwjgl/GlfwMouseInput.java