Is it possible to change the native cursor or do I have to grab it and change draw my own?
org.lwjgl.input.Mouse.setNativeCursor(Cursor cursor)
looks like fun! However I can’t figure out how to create a Cursor object. The two IntBuffers I’m supposed to pass… I have no idea where they come from. I guess I should stick to just drawing the images for them on the screen and hiding the native cursor, but that sucks because it’ll have that obvious lag to it. What should I do?
The cursor is a bytebuffer of ARGB pixels, and it has a delay buffer too, which just contains 1 element with an 1 in it if no animation is supported or used.
check the HWCursorTest
Well thanks to your help I figured out how to create custom Cursor’s with my images, but then I realized it wouldn’t support the color depth or alpha channel that my artist put together. Sooo… back to hiding the cursor it seems 
int minSize = Cursor.getMinCursorSize();
Cursor cursor = createCursor(new int[minSize*minSize], minSize, minSize, 0, 0);
Mouse.setNativeCursor(cursor);
This works on Windows, but not Mac. What am I doing wrong?
Check if getMinCursorSize() don’t return 0.
It seems you’ve left out the best part
The bug might be in createCursor().
don’t recognize it? it’s your code 
No, I did not recognize it
Even so, you should have included the code for createCursor so that other people on the forum could catch the bug.
Try adding “.order(ByteOrder.nativeOrder());” to the ByteBuffer created in “createCursor”.