I am glad you got it working Charles. I get confused about callbacks... Glut is criticized because it uses callbacks, but then in other cases callbacks are considered good. I guess when I research more about it, it will make more sense.
I can't run the code yet, but you said you were still making changes to Oxygen so I understand why. Thanks for your help...
I hope to develop zx both for c++ and also oxygen, so the tricky code to get all of this work will be great code sample for further translations hopefully.