Arrow keys and keys like Page Down/Page Up/Home/End are handled in a different function that normal keyboard commands. Ordinarily, keys like 'a' and 'b' would be directed to the function you provide in the glutKeyboardFunc(...) function, they're going to go to the function in the glutSpecialFunc(...) command.