reactive-glut keyAction problem

hi all, i'm having a problem with key events in reactive-glut: import FRP.Reactive import FRP.Reactive.LegacyAdapters import FRP.Reactive.GLUT.Adapter keyDown :: Event (KeyState, Key) -> Event Key keyDown = fmap snd . filterE ((==Down) . fst) keyUp :: Event (KeyState, Key) -> Event Key keyUp = fmap snd . filterE ((==Up) . fst) partitionE :: (Show a) => (a -> Bool) -> Event a -> (Event a, Event a) partitionE p e = (filterE p e, filterE (not . p) e) key :: Key -> Event (KeyState, Key) -> (Event (KeyState, Key), Event (KeyState, Key)) key k = partitionE ((==k) . snd) keyB :: Event (KeyState, Key) -> Behavior Bool keyB k = flipFlop (keyDown k) (keyUp k) mainB :: UI -> Behavior Action mainB ui = return () `stepper` (print `fmap` e) where (k1, k) = key (Char '1') (keyAction ui) e = snapshot (keyB k1) k main :: IO () main = adaptSimple "Testfest" mainB on my system (osx 10.5, reactive-0.10.5, reactive-glut-0.1.6) nothing is printed until i press '1' a few times, then it gets stuck again. what i'd expect to happen is ((KeyState, Key), Bool) to be printed everytime i press a key different from '1', where the second tuple element is True as long as '1' is being held. what am i missing? is this related to the laziness bug mentioned earlier? many thanks, <sk>
participants (1)
-
stefan kersten