@Override
    public void setNativeCursor(JmeCursor jmeCursor) {
        try {
            Cursor newCursor = null;
            if (jmeCursor != null) {
                newCursor = cursorMap.get(jmeCursor);
                if (newCursor == null) {
                    newCursor = new Cursor(
                            jmeCursor.getWidth(),
                            jmeCursor.getHeight(),
                            jmeCursor.getXHotSpot(),
                            jmeCursor.getYHotSpot(),
                            jmeCursor.getNumImages(),
                            jmeCursor.getImagesData(),
                            jmeCursor.getImagesDelay());

                    // Add to cache
                    cursorMap.put(jmeCursor, newCursor);
                }
            }
            Mouse.setNativeCursor(newCursor);
        } catch (LWJGLException ex) {
            Logger.getLogger(LwjglMouseInput.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
Send the input listener a special mouse-motion event with zero deltas in
order to initialize the listener's cursor position.
jme3-lwjgl/src/main/java/com/jme3/input/lwjgl/LwjglMouseInput.java