GLUT (freeglut3) を使用しています (Haskell GLUT バインディング経由)。
Graphics.UI.GLUT をインポートする
handleKBMouse :: KeyboardMouseCallback
handleKBMouse キー keyState mods mousePos = do
印刷 (キー、keyState、mods、mousePos)
メイン :: IO ()
メイン = する
getArgsAndInitialize
createWindow "testTitle"
keyboardMouseCallback $= ただハンドルKBMouse
メインループ
さまざまな重要なキー (例: Shift+Tab) がコールバックを呼び出さないようです。また、「mods」には win-key は記述されておらず、Ctrl、Shift、Alt のみが記述されています。
キーボード入力へのアクセスがこのように制限されていることは、実際のアプリケーション開発にとって深刻な障害です。私はここで何か間違ったことをしていますか、それともfreeglutが不自由なだけですか? GLUTは一般的に不自由ですか?