I'm using GLUT (freeglut3) (via the Haskell GLUT bindings).
import Graphics.UI.GLUT handleKBMouse :: KeyboardMouseCallback handleKBMouse key keyState mods mousePos = do print (key, keyState, mods, mousePos) main :: IO () main = do getArgsAndInitialize createWindow "testTitle" keyboardMouseCallback $= Just handleKBMouse mainLoop
It seems that various important keys (e.g: Shift+Tab) do not call my callback. Also, "mods" doesn't describe the win-key, only Ctrl, Shift and Alt.
Having such limited access to keyboard input is a serious impediment for real application development. Am I doing anything wrong here or is just freeglut just crippled? Is GLUT crippled in general?