module KeyboardMouseC (keyboardMouse) where import Graphics.Rendering.OpenGL import Graphics.UI.GLUT import States import KeyboardMouseState import Data.IORef keyboardMouse :: (IORef KState) -> (IORef DState) -> Key -> KeyState -> Modifiers -> Position -> IO() keyboardMouse kst dst key keystate modifier position = do dst' <- readIORef dst kst $=! (setKState dst' key keystate modifier position)