Always so impressed by people that knows how to do things like this; other than a course at the university in Unix OpenGL programming almost 15 years ago I know little about 3D programming...
One little thing to improve though would be to significantly decrease the stepping of the pgUp/pgDown keys. Now they seem to be like 0.5 steps. 0.01 steps or so would be better IMO.