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