Is there some kind of magic to make glutKeyboardFunc(...) work?

This is under Win2000/MSVC/glut 3.7.

I have a sub window, but the main window is receiving the keyboard callbacks.

[This message has been edited by Nocturnal (edited 03-22-2001).]

You need to set the callbacks for the subwindow like any other window. Here is a good tutorial

Here is the constructor I use (functions beginning with S_ are static class functions; i.e. compatible with GLUT callbacks) [SEE BELOW LINE]

As you can see, I call glutKeyboardFunc for my sub window. Also, I set keyboard callbacks for my main window which displays a message box with the key and the window id whenever it is called.

My breakpoints for the sub window keyboard callback are never triggered. The sub window does receive its mouse callback sometimes but it does appear to be erratic.

GlutWindow::GlutWindow(int x, int y, int width, int height)
id = glutCreateSubWindow(glutGetWindow(), x, y, width10, height10);
mouse_over = false;
wants_idle = false;
glut_to_class[id] = this; // a static std::map