I am working on my own 3D Engine and i use FreeGlut for the window, key, mouse, ... management.
But the fact that alt, control and shift keys may only be queried when they are pressed along with an other key, is no option for me.
I have uploaded the patched freeglut_main.c file (changed file from rc 2.6).
Perhaps it is an good idea to only implement this feature with a setOption flag, so that the original Glut functionality only differs on request.
To make my patch work, the patch which has been committed in Feature Request ID: 2824176 (X11 special keys added) has to be applied first.
I hope those keys will be implented in the next stable release for all meaningful platforms.