GLUT and input

So I’ve been using GLUT to handle the windowing aspects, as well as key and mouse events in my openGL project (just a program i’m working on for practice) but I noticed a few problems with the input handlers in GLUT. For one, after you press and hold a key, the event is triggered once, and then it waits about a half a second before firing them rapidly. Furthermore, the routine called by GLUT when you press a key only seems to send one key message at a time, and so it seems incapable of processing multiple inputs at once. Another gripe of mine is that the mouse callback function isn’t called unless the mouse is clicked, so you don’t seem to have access to just the x,y coordinates of the cursor at any time.

Does anyone know if there are ways with GLUT to get around these issues? Or do I need to use the windows api if I want this sort of functionality?

AFAIK, I don’t think there is a way in GLUT to avoid this key repetition problem, this is bound to the platform you are working on. This is one of the reason, GLUT is not convenient.

And for the mouse coordinates use the glutMotionFunc function to give GLUT the callback that handles mouse when it is moving.

GLFW is way better in this field.